From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 347EFC04AB9 for ; Thu, 16 Aug 2018 14:38:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E27C52147E for ; Thu, 16 Aug 2018 14:38:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E27C52147E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2403927AbeHPRgy (ORCPT ); Thu, 16 Aug 2018 13:36:54 -0400 Received: from metis.ext.pengutronix.de ([85.220.165.71]:34881 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2403914AbeHPRgy (ORCPT ); Thu, 16 Aug 2018 13:36:54 -0400 Received: from lupine.hi.pengutronix.de ([2001:67c:670:100:3ad5:47ff:feaf:1a17] helo=lupine) by metis.ext.pengutronix.de with esmtp (Exim 4.89) (envelope-from ) id 1fqJPO-0002c2-5i; Thu, 16 Aug 2018 16:37:54 +0200 Message-ID: <1534430271.4135.5.camel@pengutronix.de> Subject: Re: [PATCH v3] drm/panel: add Kingdisplay kd097d04 panel driver From: Philipp Zabel To: Heiko Stuebner , thierry.reding@gmail.com Cc: hl@rock-chips.com, briannorris@chromium.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, nickey.yang@rock-chips.com, seanpaul@chromium.org Date: Thu, 16 Aug 2018 16:37:51 +0200 In-Reply-To: <20180816141141.5208-1-heiko@sntech.de> References: <20180816141141.5208-1-heiko@sntech.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6-1+deb9u1 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2001:67c:670:100:3ad5:47ff:feaf:1a17 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Heiko, On Thu, 2018-08-16 at 16:11 +0200, Heiko Stuebner wrote: > From: YYS > > Support Kingdisplay kd097d04 9.7" 1536x2048 TFT LCD panel, > it is a MIPI dual-DSI panel. > > v3: > - address Thierry's comments > - error handling for init dsi writes in init > - unconditionally remove the panel > - don't use drm_panel_detach > - a bit of variable signednes wiggling > - I did talk to ChromeOS people and the delays really should be as short > as possible, so dropped the 100ms from the delay comments > 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 | 473 ++++++++++++++++++ > 3 files changed, 485 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 6020c30a33b3..458253dc0842 100644 > --- a/drivers/gpu/drm/panel/Kconfig > +++ b/drivers/gpu/drm/panel/Kconfig > @@ -77,6 +77,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 5ccaaa9d13af..d59f75b84d48 100644 > --- a/drivers/gpu/drm/panel/Makefile > +++ b/drivers/gpu/drm/panel/Makefile > @@ -6,6 +6,7 @@ obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o > obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.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..5a68d3d4b9fc > --- /dev/null > +++ b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c > @@ -0,0 +1,473 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Copyright (c) 2017, Fuzhou Rockchip Electronics Co., Ltd > + */ > + > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > +#include > +#include > + > +#include