On Mon, Jul 02, 2018 at 12:32:29PM +0200, Heiko Stuebner wrote: > From: Nickey Yang > > Support Kingdisplay kd097d04 9.7" 1536x2048 TFT LCD panel, > it is a MIPI dual-DSI panel. > > v2: > - update timing + cmds from chromeos kernel > - new backlight API including switch to devm_of_find_backlight > - fix most of Sean Paul's comments > enable/prepare tracking seems something all panels do > - document origins of the init sequence > - lanes per dsi interface to 4 (two interfaces). Matches how tegra > and pending rockchip dual-dsi handle (dual-)dsi lanes > - spdx header instead of license boilerplate > > Signed-off-by: Nickey Yang > Signed-off-by: Heiko Stuebner > --- > drivers/gpu/drm/panel/Kconfig | 11 + > drivers/gpu/drm/panel/Makefile | 1 + > .../drm/panel/panel-kingdisplay-kd097d04.c | 469 ++++++++++++++++++ > 3 files changed, 481 insertions(+) > create mode 100644 drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c > > diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig > index 25682ff3449a..9a0061f7fed7 100644 > --- a/drivers/gpu/drm/panel/Kconfig > +++ b/drivers/gpu/drm/panel/Kconfig > @@ -68,6 +68,17 @@ config DRM_PANEL_JDI_LT070ME05000 > The panel has a 1200(RGB)×1920 (WUXGA) resolution and uses > 24 bit per pixel. > > +config DRM_PANEL_KINGDISPLAY_KD097D04 > + tristate "Kingdisplay kd097d04 panel" > + depends on OF > + depends on DRM_MIPI_DSI > + depends on BACKLIGHT_CLASS_DEVICE > + help > + Say Y here if you want to enable support for Kingdisplay kd097d04 > + TFT-LCD modules. The panel has a 1536x2048 resolution and uses > + 24 bit RGB per pixel. It provides a MIPI DSI interface to > + the host and has a built-in LED backlight. > + > config DRM_PANEL_SAMSUNG_LD9040 > tristate "Samsung LD9040 RGB/SPI panel" > depends on OF && SPI > diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile > index f26efc11d746..314b272f1e14 100644 > --- a/drivers/gpu/drm/panel/Makefile > +++ b/drivers/gpu/drm/panel/Makefile > @@ -5,6 +5,7 @@ obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o > obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o > obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o > obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o > +obj-$(CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04) += panel-kingdisplay-kd097d04.o > obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o > obj-$(CONFIG_DRM_PANEL_ORISETECH_OTM8009A) += panel-orisetech-otm8009a.o > obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) += panel-panasonic-vvx10f034n00.o > diff --git a/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c > new file mode 100644 > index 000000000000..9fc6b06fffee > --- /dev/null > +++ b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c > @@ -0,0 +1,469 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Copyright (c) 2017, Fuzhou Rockchip Electronics Co., Ltd > + */ > + > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > +#include > +#include > + > +#include