From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>,
Neil Armstrong <narmstrong@baylibre.com>,
Robert Foss <robert.foss@linaro.org>,
Jonas Karlman <jonas@kwiboo.se>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
NXP Linux Team <linux-imx@nxp.com>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
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
Date: Mon, 25 Sep 2023 03:56:29 +0300 [thread overview]
Message-ID: <20230925005629.GA32139@pendragon.ideasonboard.com> (raw)
In-Reply-To: <CAA8EJpqs-ibSM2OPL56RKS67dSUeimWSU643wyjT6_xuTrz+Yg@mail.gmail.com>
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 <dmitry.baryshkov@linaro.org>
> > > ---
> > > 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 <dt-bindings/pwm/pwm.h>
> > > +#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 <dt-bindings/pwm/pwm.h>
> > > +#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 <dt-bindings/pwm/pwm.h>
> > > +#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
next prev parent reply other threads:[~2023-09-25 0:56 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-26 21:54 [PATCH 1/2] dt-bindings: display/lvds-codec: add ti,sn65lvds94 Dmitry Baryshkov
2023-08-26 21:54 ` [PATCH 2/2] ARM: dts: imx: add support for the ATM0700D4 panel attached to sk-imx53 Dmitry Baryshkov
2023-08-28 16:02 ` Laurent Pinchart
2023-08-29 9:19 ` Dmitry Baryshkov
2023-09-25 0:56 ` Laurent Pinchart [this message]
2023-09-25 0:43 ` Shawn Guo
2023-08-27 12:19 ` [PATCH 1/2] dt-bindings: display/lvds-codec: add ti,sn65lvds94 Conor Dooley
2023-08-27 12:45 ` Krzysztof Kozlowski
2023-08-28 15:45 ` Conor Dooley
2023-08-28 16:01 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230925005629.GA32139@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=kernel@pengutronix.de \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=narmstrong@baylibre.com \
--cc=robert.foss@linaro.org \
--cc=robh+dt@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).