From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752181AbbFEMUH (ORCPT ); Fri, 5 Jun 2015 08:20:07 -0400 Received: from mail-qc0-f182.google.com ([209.85.216.182]:34218 "EHLO mail-qc0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751703AbbFEMUD (ORCPT ); Fri, 5 Jun 2015 08:20:03 -0400 Date: Fri, 5 Jun 2015 14:19:39 +0200 From: Thierry Reding To: Heiko Schocher Cc: linux-kernel@vger.kernel.org, David Airlie , dri-devel@lists.freedesktop.org Subject: Re: [PATCH] drm/panel: add lg4573 driver Message-ID: <20150605121934.GA26656@ulmo.nvidia.com> References: <1430898573-14783-1-git-send-email-hs@denx.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="pf9I7BMVVzbSWLtt" Content-Disposition: inline In-Reply-To: <1430898573-14783-1-git-send-email-hs@denx.de> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --pf9I7BMVVzbSWLtt Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, May 06, 2015 at 09:49:33AM +0200, Heiko Schocher wrote: > The patch adds LG4573 parallel RGB panel driver with SPI control interfac= e. > The driver uses drm_panel framework. This should be obvious by the location of the driver. Can you instead provide information about the type or resolution of the panel? > .../devicetree/bindings/panel/lg,lg4573.txt | 42 +++ > drivers/gpu/drm/panel/Kconfig | 8 + > drivers/gpu/drm/panel/Makefile | 1 + > drivers/gpu/drm/panel/panel-lg4573.c | 367 +++++++++++++++= ++++++ > 4 files changed, 418 insertions(+) > create mode 100644 Documentation/devicetree/bindings/panel/lg,lg4573.txt > create mode 100644 drivers/gpu/drm/panel/panel-lg4573.c >=20 > diff --git a/Documentation/devicetree/bindings/panel/lg,lg4573.txt b/Docu= mentation/devicetree/bindings/panel/lg,lg4573.txt > new file mode 100644 > index 0000000..55f495d > --- /dev/null > +++ b/Documentation/devicetree/bindings/panel/lg,lg4573.txt > @@ -0,0 +1,42 @@ > +LG LG4573 TFT liquid crystal display with SPI control bus Please capitalize "Liquid Crystal Display". > + > +Required properties: > + - compatible: "lg4573" This is missing the vendor prefix. > + - reg: address of the panel on SPI bus "on the" > + - display-timings: timings for the connected panel according to [1] The timings are already implied by the compatible value, so there's no need to list them in DT. > +The panel must obey rules for SPI slave device specified in document [2]. > + > +Optional properties: > + - power-on-delay: delay after turning regulators on [ms] How is this a board-specific property? I'd assume that the same panel always requires the same delay. Perhaps if this is board-specific it really should be in the corresponding regulator's regulator-enable-ramp-delay? Then again the binding doesn't describe any regulators, so what exactly is this delay used for? > + > +[1]: Documentation/devicetree/bindings/video/display-timing.txt > +[2]: Documentation/devicetree/bindings/spi/spi-bus.txt > + > +Example: > + > + lcd_panel: display@0 { > + #address-cells =3D <1>; > + #size-cells =3D <1>; > + compatible =3D "lg,lg4573"; > + spi-max-frequency =3D <10000000>; > + reset-gpios =3D <&gpio2 11 0>; This isn't documented above. > + reg =3D <0>; > + power-on-delay =3D <10>; > + display-timings { > + 480x800p57 { > + native-mode; > + clock-frequency =3D <27000027>; > + hactive =3D <480>; > + vactive =3D <800>; > + hfront-porch =3D <10>; > + hback-porch =3D <59>; > + hsync-len =3D <10>; > + vback-porch =3D <15>; > + vfront-porch =3D <15>; > + vsync-len =3D <15>; > + hsync-active =3D <1>; > + vsync-active =3D <1>; > + }; > + }; > + }; > diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig > index 6d64c7b..29c3407 100644 > --- a/drivers/gpu/drm/panel/Kconfig > +++ b/drivers/gpu/drm/panel/Kconfig > @@ -23,6 +23,14 @@ config DRM_PANEL_LD9040 > depends on OF && SPI > select VIDEOMODE_HELPERS > =20 > +config DRM_PANEL_LG4573 > + tristate "LG4573 RGB/SPI panel" I'd like to get into the habit of prefixing the panels with a vendor prefix, so this should become something like: config DRM_PANEL_LG_LG4573 tristate "LG LG4573 RGB/SPI panel" I have a local patch that converts existing boards, so with this conversion it'd fit right it. > diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makef= ile > index 4b2a043..715b95d 100644 > --- a/drivers/gpu/drm/panel/Makefile > +++ b/drivers/gpu/drm/panel/Makefile > @@ -1,4 +1,5 @@ > obj-$(CONFIG_DRM_PANEL_SIMPLE) +=3D panel-simple.o > obj-$(CONFIG_DRM_PANEL_LD9040) +=3D panel-ld9040.o > +obj-$(CONFIG_DRM_PANEL_LG4573) +=3D panel-lg4573.o Similarly for filenames, this would become: panel-lg-lg4573.c > obj-$(CONFIG_DRM_PANEL_S6E8AA0) +=3D panel-s6e8aa0.o > obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) +=3D panel-sharp-lq101r1sx01.o > diff --git a/drivers/gpu/drm/panel/panel-lg4573.c b/drivers/gpu/drm/panel= /panel-lg4573.c > new file mode 100644 > index 0000000..9d5e5a5 > --- /dev/null > +++ b/drivers/gpu/drm/panel/panel-lg4573.c > @@ -0,0 +1,367 @@ > +/* > + * > + * Copyright (C) 2015 Heiko Schocher > + * > + * from: > + * drivers/gpu/drm/panel/panel-ld9040.c > + * ld9040 AMOLED LCD drm_panel driver. > + * > + * Copyright (c) 2014 Samsung Electronics Co., Ltd > + * Derived from drivers/video/backlight/ld9040.c > + * > + * Andrzej Hajda > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > +*/ > + > +#include > +#include > + > +#include > +#include > +#include > + > +#include