From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?UGF3ZcWC?= Chmiel Subject: Re: [PATCH v3 2/2] drm/panel: Add driver for Samsung S6E63M0 panel Date: Mon, 11 Feb 2019 17:07:49 +0100 Message-ID: <1958995.aBsZzC1X05@acerlaptop> References: <20190202142748.6830-1-pawel.mikolaj.chmiel@gmail.com> <20190202142748.6830-2-pawel.mikolaj.chmiel@gmail.com> <82ccf31e-13c3-1cd5-d87a-0c3291eb0224@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <82ccf31e-13c3-1cd5-d87a-0c3291eb0224@samsung.com> Sender: linux-kernel-owner@vger.kernel.org To: Andrzej Hajda Cc: thierry.reding@gmail.com, mark.rutland@arm.com, devicetree@vger.kernel.org, airlied@linux.ie, linux-kernel@vger.kernel.org, krzk@kernel.org, robh+dt@kernel.org, dri-devel@lists.freedesktop.org, m.szyprowski@samsung.com List-Id: devicetree@vger.kernel.org On poniedzia=C5=82ek, 11 lutego 2019 16:35:19 CET Andrzej Hajda wrote: > On 02.02.2019 15:27, Pawe=C5=82 Chmiel wrote: > > This patch adds Samsung S6E63M0 AMOLED LCD panel driver, connected over > > spi. It's based on already removed, non dt s6e63m0 driver and > > panel-samsung-ld9040. It can be found for example in some of Samsung > > Aries based phones. > > > > Signed-off-by: Pawe=C5=82 Chmiel > > Reviewed-by: Sam Ravnborg > > --- > > Changes from v2: > > - VIDEOMODE_HELPERS is not needed in Kconfig > > - Added help text to Kconfig > > - Remove unneeded videomode includes/fields > > - Add sentinel comment in s6e63m0_of_match struct > > - Handle errors during registration of backlight device. We shouldn't > > register panel if we fail to register backlight device > > - Added Reviewed-by > > > > Changes from v1: > > - Correct order of Kconfig/Makefile entry > > - Fix SPDX tag, so it matches value of MODULE_LICENSE > > - Remove inclusion of drmP.h > > - Fix code formatting > > - Use DRM_DEV_ERROR/DEBUG > > - Extract hardcoded values > > - Remove possibility to change gamma through sysfs, leaving only one > > gamma table values > > - Fix reset_gpio handling, so it'll be asserted in power_on and > > deasserted in power_off. Also do it before turning voltage on. > > - Disable backlight and enter sleep mode in disable callback. > > Previously it was done in unprepare > > - Enable display and backlight in enable callback. Previously it was > > done in prepare > > - Hardcode display timings and delays. Previously they were readed > > from device tree > > - We're using SPDX, so we don't need to have license body > > - Use MIPI_DCS_EXIT_SLEEP_MODE and MIPI_DCS_SET_DISPLAY_ON > > - Rename MAX_GAMMA_LEVEL to NUM_GAMMA_LEVELS > > - Ommit get_brightness callback > > - Use backlight_enable/disable API, like it's done in other panel > > drivers (for example panel-simple) > > - Make set_brightness called only from backlight api, like it's done > > in other panel drivers (for example panel-simple). > > - Reset gpio should be set to GPIOD_OUT_HIGH. It's declared as active > > low in device tree > > - Don't call power_off in remove callback > > --- > > drivers/gpu/drm/panel/Kconfig | 9 + > > drivers/gpu/drm/panel/Makefile | 1 + > > drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 517 ++++++++++++++++++ > > 3 files changed, 527 insertions(+) > > create mode 100644 drivers/gpu/drm/panel/panel-samsung-s6e63m0.c > > > > diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kcon= fig > > index 3f3537719beb..45e9ab4b7857 100644 > > --- a/drivers/gpu/drm/panel/Kconfig > > +++ b/drivers/gpu/drm/panel/Kconfig > > @@ -158,6 +158,15 @@ config DRM_PANEL_SAMSUNG_S6E63J0X03 > > depends on BACKLIGHT_CLASS_DEVICE > > select VIDEOMODE_HELPERS > > =20 > > +config DRM_PANEL_SAMSUNG_S6E63M0 > > + tristate "Samsung S6E63M0 RGB/SPI panel" > > + depends on OF > > + depends on SPI > > + depends on BACKLIGHT_CLASS_DEVICE > > + help > > + Say Y here if you want to enable support for Samsung s6e63m0 > > + AMOLED LCD panel. > > + > > config DRM_PANEL_SAMSUNG_S6E8AA0 > > tristate "Samsung S6E8AA0 DSI video mode panel" > > depends on OF > > diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Mak= efile > > index 4396658a7996..4507a2d253ac 100644 > > --- a/drivers/gpu/drm/panel/Makefile > > +++ b/drivers/gpu/drm/panel/Makefile > > @@ -16,6 +16,7 @@ obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) +=3D panel-sam= sung-ld9040.o > > obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D16D0) +=3D panel-samsung-s6d16d0.o > > obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2) +=3D panel-samsung-s6e3ha2.o > > obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03) +=3D panel-samsung-s6e63j0x= 03.o > > +obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0) +=3D panel-samsung-s6e63m0.o > > obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0) +=3D panel-samsung-s6e8aa0.o > > obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) +=3D panel-seiko-43wvf1g.o > > obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) +=3D panel-sharp-lq101r1sx01= =2Eo > > diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c b/drivers/gp= u/drm/panel/panel-samsung-s6e63m0.c > > new file mode 100644 > > index 000000000000..4312aa3e4386 > > --- /dev/null > > +++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c > > @@ -0,0 +1,517 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * S6E63M0 AMOLED LCD drm_panel driver. > > + * > > + * Copyright (C) 2019 Pawe=C5=82 Chmiel > > + * Derived from drivers/gpu/drm/panel-samsung-ld9040.c > > + * > > + * Andrzej Hajda > > + */ > > + > > +#include > > +#include > > +#include > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > + > > +#include