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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 F2823CE7A91 for ; Mon, 25 Sep 2023 00:56:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2W5S7J4JTFkE5LwdLmuYzrX0jVcm2qMLWrBo7DVd18c=; b=CMYXCvEwdM2Reu osJkngxPUxR9cHt+GPDjR2goI4vK+dBWRE9qErhgf8YmF58O03JqOVeTIfQhO/Ot0yzZooSryOCIu IdI4ytHLudlE9tfkpOVwHy2OJfnEnDeg5TT+cSakKC5nXqJ3C6PtCdKpxvCh133yetsFoM74uCZus xdVei/CEYA/jNysCLb9MeqFWWY4/5g2qi1C02SA6nqhZybeDc7jFJKxIp5hRfbKiYBCoh/AAGCC1N eD6/L7S+J3Qb7JXB6sdsL29raDTmyem1tO+eC2fVjN67oCEP+lEtFMTPY2ZWDlB7qYnliJewJxm4L dZYpno+S/KjxcJK2x81Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qkZtg-00D3Jj-01; Mon, 25 Sep 2023 00:56:24 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qkZtc-00D3J4-1T for linux-arm-kernel@lists.infradead.org; Mon, 25 Sep 2023 00:56:22 +0000 Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1B6EF475; Mon, 25 Sep 2023 02:54:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1695603279; bh=bYSoApHdQWdFsEbwUuf+e3VvKbc0xy3JvpCBEmOmb3w=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=DH8YF2Si5r3yEYGoF6aJ7Ak93C8UaPGDPwApWjMnHqwyVj7lGm/kAtDgUKPoxTgN+ EH+rCckAA9aAtYUCL8ZQVAl6xb3+z8FmjS0mCL75nehXu0Cr+k6ScveWrByZOFxg6B Op3MNUhYgg7/cTzUniRvWoDWMwVXkkFa/2kd+ciI= Date: Mon, 25 Sep 2023 03:56:29 +0300 From: Laurent Pinchart To: Dmitry Baryshkov Cc: Andrzej Hajda , Neil Armstrong , Robert Foss , Jonas Karlman , Jernej Skrabec , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 2/2] ARM: dts: imx: add support for the ATM0700D4 panel attached to sk-imx53 Message-ID: <20230925005629.GA32139@pendragon.ideasonboard.com> References: <20230826215429.1905599-1-dmitry.baryshkov@linaro.org> <20230826215429.1905599-2-dmitry.baryshkov@linaro.org> <20230828160217.GT14596@pendragon.ideasonboard.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230924_175620_816773_10D3A220 X-CRM114-Status: GOOD ( 29.59 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Aug 29, 2023 at 12:19:23PM +0300, Dmitry Baryshkov wrote: > On Mon, 28 Aug 2023 at 19:02, Laurent Pinchart wrote: > > On Sun, Aug 27, 2023 at 12:54:29AM +0300, Dmitry Baryshkov wrote: > > > The SK-ATM0700D4-Plug is an extension board (provided by the same > > > manufacturer, [1]) which can be connected to the SK-IMX53 panel kit. The > > > panel can be connected either using the RGB parallel bus or using the > > > LVDS connector (recommended). Add DT files describing this "shield", > > > both RGB and LVDS connections. > > > > Shouldn't these be implemented as overlays ? > > Indeed, I see that imx8mm opted to use overlays. However frankly > speaking I don't see a benefit in using DT overlays, if in the end we > are building a single dtb file. Quite contrary, splitting this to > separate dtso/dtbo files would disable DT schema validation. It is > possible to validate DT with multiple nested inclusions, but it is not > possible to validate overlays. Overlays make it possible to mix and match multiple peripherals attached to a board. This is especially useful for development boards where you can have panels, camera modules and other add-ons attached. You would otherwise need lots of .dts to express all possible combinations. There are still some validation issues with overlays, but as far as I can tell the kernel now supports validating overlays applied to a base board. See how arch/arm64/boot/dts/freescale/Makefile defines, for instance, imx8mp-tqma8mpql-mba8mpxl-lvds-dtbs += imx8mp-tqma8mpql-mba8mpxl.dtb imx8mp-tqma8mpql-mba8mpxl-lvds.dtbo dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds.dtb I've just seen that Shawn has applied this patch. Could you convert it to overlays with additional patches ? > > > [1] http://starterkit.ru/html/index.php?name=shop&op=view&id=64 > > > > > > Signed-off-by: Dmitry Baryshkov > > > --- > > > arch/arm/boot/dts/nxp/imx/Makefile | 2 + > > > .../nxp/imx/imx53-sk-imx53-atm0700d4-lvds.dts | 97 +++++++++++++++ > > > .../nxp/imx/imx53-sk-imx53-atm0700d4-rgb.dts | 112 ++++++++++++++++++ > > > .../dts/nxp/imx/imx53-sk-imx53-atm0700d4.dtsi | 45 +++++++ > > > 4 files changed, 256 insertions(+) > > > create mode 100644 arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-lvds.dts > > > create mode 100644 arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-rgb.dts > > > create mode 100644 arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4.dtsi > > > > > > diff --git a/arch/arm/boot/dts/nxp/imx/Makefile b/arch/arm/boot/dts/nxp/imx/Makefile > > > index 3629e343d322..7532ed6468a0 100644 > > > --- a/arch/arm/boot/dts/nxp/imx/Makefile > > > +++ b/arch/arm/boot/dts/nxp/imx/Makefile > > > @@ -47,6 +47,8 @@ dtb-$(CONFIG_SOC_IMX53) += \ > > > imx53-qsb.dtb \ > > > imx53-qsrb.dtb \ > > > imx53-sk-imx53.dtb \ > > > + imx53-sk-imx53-atm0700d4-lvds.dtb \ > > > + imx53-sk-imx53-atm0700d4-rgb.dtb \ > > > imx53-smd.dtb \ > > > imx53-tx53-x03x.dtb \ > > > imx53-tx53-x13x.dtb \ > > > diff --git a/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-lvds.dts b/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-lvds.dts > > > new file mode 100644 > > > index 000000000000..b1c1e7c759b3 > > > --- /dev/null > > > +++ b/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-lvds.dts > > > @@ -0,0 +1,97 @@ > > > +// SPDX-License-Identifier: GPL-2.0+ > > > +// > > > +// Copyright 2023 Linaro Ltd. > > > + > > > +/dts-v1/; > > > + > > > +#include > > > +#include "imx53-sk-imx53-atm0700d4.dtsi" > > > + > > > +/ { > > > + lvds-decoder { > > > + compatible = "ti,sn65lvds94", "lvds-decoder"; > > > + > > > + ports { > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + port@0 { > > > + reg = <0>; > > > + > > > + lvds_decoder_in: endpoint { > > > + remote-endpoint = <&lvds0_out>; > > > + }; > > > + }; > > > + > > > + port@1 { > > > + reg = <1>; > > > + > > > + lvds_decoder_out: endpoint { > > > + remote-endpoint = <&panel_rgb_in>; > > > + }; > > > + }; > > > + }; > > > + }; > > > +}; > > > + > > > +&iomuxc { > > > + pinctrl_lvds0: lvds0grp { > > > + /* LVDS pins only have pin mux configuration */ > > > + fsl,pins = < > > > + MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000 > > > + MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000 > > > + MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000 > > > + MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000 > > > + MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 > > > + >; > > > + }; > > > + > > > + pinctrl_spi_gpio: spigrp { > > > + fsl,pins = < > > > + MX53_PAD_EIM_A22__GPIO2_16 0x1f4 > > > + MX53_PAD_EIM_A21__GPIO2_17 0x1f4 > > > + MX53_PAD_EIM_A16__GPIO2_22 0x1f4 > > > + MX53_PAD_EIM_A18__GPIO2_20 0x1f4 > > > + >; > > > + }; > > > +}; > > > + > > > +&ldb { > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&pinctrl_lvds0>; > > > + status = "okay"; > > > + > > > + lvds0: lvds-channel@0 { > > > + reg = <0>; > > > + fsl,data-mapping = "spwg"; > > > + fsl,data-width = <24>; > > > + status = "okay"; > > > + > > > + port@2 { > > > + reg = <2>; > > > + > > > + lvds0_out: endpoint { > > > + remote-endpoint = <&lvds_decoder_in>; > > > + }; > > > + }; > > > + }; > > > +}; > > > + > > > +&panel_rgb_in { > > > + remote-endpoint = <&lvds_decoder_out>; > > > +}; > > > + > > > +&spi_ts { > > > + pinctrl-0 = <&pinctrl_spi_gpio>; > > > + pinctrl-names = "default"; > > > + > > > + sck-gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>; > > > + miso-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; > > > + mosi-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; > > > + cs-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; > > > +}; > > > + > > > +&touchscreen { > > > + interrupts-extended = <&gpio3 22 IRQ_TYPE_EDGE_BOTH>; > > > + pendown-gpio = <&gpio3 22 GPIO_ACTIVE_LOW>; > > > +}; > > > diff --git a/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-rgb.dts b/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-rgb.dts > > > new file mode 100644 > > > index 000000000000..2559ada7e401 > > > --- /dev/null > > > +++ b/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-rgb.dts > > > @@ -0,0 +1,112 @@ > > > +// SPDX-License-Identifier: GPL-2.0+ > > > +// > > > +// Copyright 2023 Linaro Ltd. > > > + > > > +/dts-v1/; > > > + > > > +#include > > > +#include "imx53-sk-imx53-atm0700d4.dtsi" > > > + > > > +/ { > > > + display: disp0 { > > > + compatible = "fsl,imx-parallel-display"; > > > + interface-pix-fmt = "rgb24"; > > > + pinctrl-0 = <&pinctrl_rgb24>; > > > + pinctrl-names = "default"; > > > + > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + port@0 { > > > + reg = <0>; > > > + > > > + display0_in: endpoint { > > > + remote-endpoint = <&ipu_di0_disp0>; > > > + }; > > > + }; > > > + > > > + port@1 { > > > + reg = <1>; > > > + > > > + display_out: endpoint { > > > + remote-endpoint = <&panel_rgb_in>; > > > + }; > > > + }; > > > + }; > > > + > > > +}; > > > + > > > +&iomuxc { > > > + pinctrl_rgb24: rgb24grp { > > > + fsl,pins = < > > > + MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK 0x5 > > > + MX53_PAD_DI0_PIN15__IPU_DI0_PIN15 0x5 > > > + MX53_PAD_DI0_PIN2__IPU_DI0_PIN2 0x5 > > > + MX53_PAD_DI0_PIN3__IPU_DI0_PIN3 0x5 > > > + MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0 0x5 > > > + MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1 0x5 > > > + MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2 0x5 > > > + MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3 0x5 > > > + MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4 0x5 > > > + MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5 0x5 > > > + MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6 0x5 > > > + MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7 0x5 > > > + MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8 0x5 > > > + MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9 0x5 > > > + MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10 0x5 > > > + MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11 0x5 > > > + MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12 0x5 > > > + MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13 0x5 > > > + MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14 0x5 > > > + MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15 0x5 > > > + MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16 0x5 > > > + MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17 0x5 > > > + MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18 0x5 > > > + MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19 0x5 > > > + MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20 0x5 > > > + MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21 0x5 > > > + MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22 0x5 > > > + MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23 0x5 > > > + >; > > > + }; > > > + > > > + pinctrl_spi_gpio: spigrp { > > > + fsl,pins = < > > > + MX53_PAD_SD1_DATA1__GPIO1_17 0x1f4 > > > + MX53_PAD_GPIO_7__GPIO1_7 0x1f4 > > > + MX53_PAD_PATA_DATA3__GPIO2_3 0x1f4 > > > + MX53_PAD_PATA_DATA8__GPIO2_8 0x1f4 > > > + >; > > > + }; > > > +}; > > > + > > > +&ipu_di0_disp0 { > > > + remote-endpoint = <&display0_in>; > > > +}; > > > + > > > +&panel { > > > + enable-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; > > > +}; > > > + > > > +&panel_rgb_in { > > > + remote-endpoint = <&display_out>; > > > +}; > > > + > > > +&pwm1 { > > > + status = "disabled"; > > > +}; > > > + > > > +&spi_ts { > > > + pinctrl-0 = <&pinctrl_spi_gpio>; > > > + pinctrl-names = "default"; > > > + > > > + sck-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; > > > + mosi-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; > > > + miso-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; > > > + cs-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; > > > +}; > > > + > > > +&touchscreen { > > > + interrupts-extended = <&gpio2 6 IRQ_TYPE_EDGE_BOTH>; > > > + pendown-gpio = <&gpio2 6 GPIO_ACTIVE_LOW>; > > > +}; > > > diff --git a/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4.dtsi b/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4.dtsi > > > new file mode 100644 > > > index 000000000000..e395004e80e6 > > > --- /dev/null > > > +++ b/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4.dtsi > > > @@ -0,0 +1,45 @@ > > > +// SPDX-License-Identifier: GPL-2.0+ > > > +// > > > +// Copyright 2023 Linaro Ltd. > > > + > > > +/dts-v1/; > > > + > > > +#include > > > +#include "imx53-sk-imx53.dts" > > > + > > > +/ { > > > + panel: panel-rgb { > > > + compatible = "powertip,ph800480t013-idf02"; > > > + > > > + port { > > > + panel_rgb_in: endpoint { > > > + }; > > > + }; > > > + }; > > > + > > > + spi_ts: spi { > > > + compatible = "spi-gpio"; > > > + #address-cells = <0x1>; > > > + #size-cells = <0x0>; > > > + > > > + num-chipselects = <1>; > > > + > > > + touchscreen: touchscreen@0 { > > > + reg = <0>; > > > + compatible = "ti,ads7843"; > > > + spi-max-frequency = <300000>; > > > + > > > + ti,vref-mv = /bits/ 16 <3300>; > > > + ti,x-plate-ohms = /bits/ 16 <450>; > > > + ti,y-plate-ohms = /bits/ 16 <250>; > > > + ti,debounce-tol = /bits/ 16 <10>; > > > + ti,debounce-rep = /bits/ 16 <0>; > > > + touchscreen-size-x = <4096>; > > > + touchscreen-size-y = <4096>; > > > + touchscreen-swapped-x-y; > > > + touchscreen-max-pressure = <100>; > > > + > > > + wakeup-source; > > > + }; > > > + }; > > > +}; -- Regards, Laurent Pinchart _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel