All of lore.kernel.org
 help / color / mirror / Atom feed
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

WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: dri-devel@lists.freedesktop.org,
	Conor Dooley <conor+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Jonas Karlman <jonas@kwiboo.se>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Robert Foss <robert.foss@linaro.org>,
	Andrzej Hajda <andrzej.hajda@intel.com>,
	Shawn Guo <shawnguo@kernel.org>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	NXP Linux Team <linux-imx@nxp.com>
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

  reply	other threads:[~2023-09-25  0:56 UTC|newest]

Thread overview: 20+ 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 ` 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-26 21:54   ` Dmitry Baryshkov
2023-08-28 16:02   ` Laurent Pinchart
2023-08-28 16:02     ` Laurent Pinchart
2023-08-29  9:19     ` Dmitry Baryshkov
2023-08-29  9:19       ` Dmitry Baryshkov
2023-09-25  0:56       ` Laurent Pinchart [this message]
2023-09-25  0:56         ` Laurent Pinchart
2023-09-25  0:43   ` Shawn Guo
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:19   ` Conor Dooley
2023-08-27 12:45   ` Krzysztof Kozlowski
2023-08-27 12:45     ` Krzysztof Kozlowski
2023-08-28 15:45     ` Conor Dooley
2023-08-28 15:45       ` Conor Dooley
2023-08-28 16:01 ` Laurent Pinchart
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.