Hi Dmitry,

Thank you for the patch.

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 ?

> [1] http://starterkit.ru/html/index.php?name=shop&op=view&id=64
> 
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
>  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 via email to