From patchwork Tue Jun 25 13:33:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Walle X-Patchwork-Id: 13711142 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A8EAEC2BBCA for ; Tue, 25 Jun 2024 13:35:58 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 26EAD10E637; Tue, 25 Jun 2024 13:35:58 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="LEZN9HxK"; dkim-atps=neutral Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7352510E2E7 for ; Tue, 25 Jun 2024 13:35:53 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 533D3CE1AFA; Tue, 25 Jun 2024 13:35:51 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C73C2C4AF07; Tue, 25 Jun 2024 13:35:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719322550; bh=hFHJZXKSTG17Rci0rZLgXpOiNQhILWLQK5z+5zpVtz4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LEZN9HxKdfEtPICg65kW787I2HzhJebVwq6++/HfTZRNvCIch7ClHN3fz+HNNlFo+ EOvFlqT+j2375a8TFqBVPKujP7h6/lfz2/fr2zVxYD4YjgNBfZYGftLpibUKWQSuLm r/7RCxvTQP9WgOtjtMDFuf+GyUvZu59qp+b+SGg8eaOyad6G21447B1nZQlrUh+uLd o1pG+6iHmk7vdDBnY0P5NnSDoewIU0V+FWB6L94z0xhBav2ZWa5BaOzXHnjQHR6zuf iJTKybRxNi7QVHP4MVWri4kQuFF7kJ+HHxoADbVrBHtf6xNSvhJuG1aUJrqPXo8Ng9 C/yahg121WQXA== From: Michael Walle To: Neil Armstrong , Jessica Zhang , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Michael Walle Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Gunnar Dibbern Subject: [PATCH 1/2] dt-bindings: display: panel: add Ilitek ili9806e panel controller Date: Tue, 25 Jun 2024 15:33:16 +0200 Message-Id: <20240625133317.2869038-2-mwalle@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240625133317.2869038-1-mwalle@kernel.org> References: <20240625133317.2869038-1-mwalle@kernel.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add the device tree binding for the Ilitek ILI9806E controller which can be found on the Ortustech COME35H3P70ULC DSI display panel. There are no peculiarities except for two different power signals. Signed-off-by: Michael Walle Reviewed-by: Conor Dooley --- .../display/panel/ilitek,ili9806e.yaml | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml new file mode 100644 index 000000000000..cfd7cc9c8725 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/ilitek,ili9806e.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Ilitek ILI9806E based MIPI-DSI panels + +maintainers: + - Michael Walle + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + items: + - enum: + - ortustech,com35h3p70ulc + - const: ilitek,ili9806e + + reg: + maxItems: 1 + + vdd-supply: true + vccio-supply: true + +required: + - compatible + - reg + - vdd-supply + - vccio-supply + - reset-gpios + - backlight + - port + +unevaluatedProperties: false + +examples: + - | + #include + + dsi { + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "ortustech,com35h3p70ulc", "ilitek,ili9806e"; + reg = <0>; + vdd-supply = <®_vdd_panel>; + vccio-supply = <®_vccio_panel>; + reset-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>; + backlight = <&backlight>; + + port { + panel_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + }; + }; + +... From patchwork Tue Jun 25 13:33:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Walle X-Patchwork-Id: 13711143 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B92ACC2BBCA for ; Tue, 25 Jun 2024 13:36:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D56F310E2E7; Tue, 25 Jun 2024 13:36:03 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="tLx9rPYo"; dkim-atps=neutral Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9694010E637 for ; Tue, 25 Jun 2024 13:35:57 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id D8DF7CE1AF2; Tue, 25 Jun 2024 13:35:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26BF6C4AF09; Tue, 25 Jun 2024 13:35:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719322554; bh=ikjoj4kkEsfTQd+RZ/gm5BExL5HjXIOoLQCCAeGquTw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tLx9rPYo0bX7jP4j/Q6l/qr3B9wyAKuoW4+D5u89f3VcI0JUyXsnvlzx2YlOYrqnV 5ihqsC7Nd4sfCOlL9S8mj/i6rtUvK8aJGN2PFISgz2wmNAmAoHGfDfsD7LQZKkuxyP 43s+97RrNQc9eh4LTIfHyHJGTdKMjIJCkhwyrO5td8Z8LeBvydQ8vj0jGRxVqANOpk 9pQMHddxl2NPmzPECDkFz4A67Il3l3w8Xz4Nxrjofhu0lLmYIogEHFSgeQwkZrHYyh Ptay7LhvqzQvXQeo7AZTYv+v9lRXnelb5QBEeKbcN74S+zXjcKfpvcWCapsJG5HFsi dRuoRHEkPDy4A== From: Michael Walle To: Neil Armstrong , Jessica Zhang , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Michael Walle Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Gunnar Dibbern Subject: [PATCH 2/2] drm/panel: add Ilitek ILI9806E panel driver Date: Tue, 25 Jun 2024 15:33:17 +0200 Message-Id: <20240625133317.2869038-3-mwalle@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240625133317.2869038-1-mwalle@kernel.org> References: <20240625133317.2869038-1-mwalle@kernel.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The Ortustech COM35H3P70ULC panel is based on the ILI9806E DSI display controller. Co-developed-by: Gunnar Dibbern Signed-off-by: Gunnar Dibbern Signed-off-by: Michael Walle --- MAINTAINERS | 5 + drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-ilitek-ili9806e.c | 413 ++++++++++++++++++ 4 files changed, 428 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9806e.c diff --git a/MAINTAINERS b/MAINTAINERS index 77008faf25ee..74b538c6b8bd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7002,6 +7002,11 @@ S: Maintained F: Documentation/devicetree/bindings/display/panel/ilitek,ili9805.yaml F: drivers/gpu/drm/panel/panel-ilitek-ili9805.c +DRM DRIVER FOR ILITEK ILI9806E PANELS +M: Michael Walle +S: Maintained +F: drivers/gpu/drm/panel/panel-ilitek-ili9806e.c + DRM DRIVER FOR JADARD JD9365DA-H3 MIPI-DSI LCD PANELS M: Jagan Teki S: Maintained diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index bf4eadfe21cb..904a928bc60e 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -205,6 +205,15 @@ config DRM_PANEL_ILITEK_ILI9805 Say Y if you want to enable support for panels based on the Ilitek ILI9805 controller. +config DRM_PANEL_ILITEK_ILI9806E + tristate "Ilitek ILI9806E-based panels" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y if you want to enable support for panels based on the + Ilitek ILI9806E controller. + config DRM_PANEL_ILITEK_ILI9881C tristate "Ilitek ILI9881C-based panels" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 051b75b3df7b..12ce91416849 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -21,6 +21,7 @@ obj-$(CONFIG_DRM_PANEL_HIMAX_HX8394) += panel-himax-hx8394.o obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9341) += panel-ilitek-ili9341.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9805) += panel-ilitek-ili9805.o +obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9806E) += panel-ilitek-ili9806e.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9882T) += panel-ilitek-ili9882t.o obj-$(CONFIG_DRM_PANEL_INNOLUX_EJ030NA) += panel-innolux-ej030na.o diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c b/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c new file mode 100644 index 000000000000..c3942eda668d --- /dev/null +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c @@ -0,0 +1,413 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include