]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: imx93-9x9-qsb: Add tianma,tm050rdh03 panel
authorLiu Ying <victor.liu@nxp.com>
Tue, 7 Apr 2026 09:15:31 +0000 (17:15 +0800)
committerFrank Li <Frank.Li@nxp.com>
Tue, 19 May 2026 18:14:11 +0000 (14:14 -0400)
Support tianma,tm050rdh03 DPI panel on i.MX93 9x9 QSB.

Move the common parts from imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtso into
imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtsi for reuse by the tm050rdh03
overlay file.

The panel connects with the QSB board through an adapter board[1]
designed by NXP.

Link: https://www.nxp.com/design/design-center/development-boards-and-designs/parallel-lcd-display:TM050RDH03-41
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
arch/arm64/boot/dts/freescale/Makefile
arch/arm64/boot/dts/freescale/imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/freescale/imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtso
arch/arm64/boot/dts/freescale/imx93-9x9-qsb-tianma-tm050rdh03.dtso [new file with mode: 0644]

index 0a4dabac5de4c424de3efbbce97305305ee07a0f..513f61eb27b85e35d7dcbaef8d098f174f7f6217 100644 (file)
@@ -464,9 +464,11 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb.dtb
 imx93-9x9-qsb-can1-dtbs += imx93-9x9-qsb.dtb imx93-9x9-qsb-can1.dtbo
 imx93-9x9-qsb-i3c-dtbs += imx93-9x9-qsb.dtb imx93-9x9-qsb-i3c.dtbo
 imx93-9x9-qsb-ontat-kd50g21-40nt-a1-dtbs += imx93-9x9-qsb.dtb imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtbo
+imx93-9x9-qsb-tianma-tm050rdh03-dtbs += imx93-9x9-qsb.dtb imx93-9x9-qsb-tianma-tm050rdh03.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb-can1.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb-i3c.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb-tianma-tm050rdh03.dtb
 
 dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-frdm.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtsi b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtsi
new file mode 100644 (file)
index 0000000..d167c9f
--- /dev/null
@@ -0,0 +1,110 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2026 NXP
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "imx93-pinfunc.h"
+
+&{/} {
+       backlight: backlight {
+               compatible = "gpio-backlight";
+               gpios = <&pcal6524 2 GPIO_ACTIVE_HIGH>;
+       };
+
+       panel {
+               compatible = "ontat,kd50g21-40nt-a1";
+               backlight = <&backlight>;
+               power-supply = <&reg_rpi_3v3>;
+
+               port {
+                       panel_in: endpoint {
+                               remote-endpoint = <&dpi_to_panel>;
+                       };
+               };
+       };
+};
+
+&dpi_bridge {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lcdif>;
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@1 {
+                       reg = <1>;
+
+                       dpi_to_panel: endpoint {
+                               remote-endpoint = <&panel_in>;
+                               bus-width = <18>;
+                       };
+               };
+       };
+};
+
+&iomuxc {
+       pinctrl_lcdif: lcdifgrp {
+               fsl,pins = <
+                       MX93_PAD_GPIO_IO00__MEDIAMIX_DISP_CLK           0x31e
+                       MX93_PAD_GPIO_IO01__MEDIAMIX_DISP_DE            0x31e
+                       MX93_PAD_GPIO_IO02__MEDIAMIX_DISP_VSYNC         0x31e
+                       MX93_PAD_GPIO_IO03__MEDIAMIX_DISP_HSYNC         0x31e
+                       MX93_PAD_GPIO_IO04__MEDIAMIX_DISP_DATA00        0x31e
+                       MX93_PAD_GPIO_IO05__MEDIAMIX_DISP_DATA01        0x31e
+                       MX93_PAD_GPIO_IO06__MEDIAMIX_DISP_DATA02        0x31e
+                       MX93_PAD_GPIO_IO07__MEDIAMIX_DISP_DATA03        0x31e
+                       MX93_PAD_GPIO_IO08__MEDIAMIX_DISP_DATA04        0x31e
+                       MX93_PAD_GPIO_IO09__MEDIAMIX_DISP_DATA05        0x31e
+                       MX93_PAD_GPIO_IO10__MEDIAMIX_DISP_DATA06        0x31e
+                       MX93_PAD_GPIO_IO11__MEDIAMIX_DISP_DATA07        0x31e
+                       MX93_PAD_GPIO_IO12__MEDIAMIX_DISP_DATA08        0x31e
+                       MX93_PAD_GPIO_IO13__MEDIAMIX_DISP_DATA09        0x31e
+                       MX93_PAD_GPIO_IO14__MEDIAMIX_DISP_DATA10        0x31e
+                       MX93_PAD_GPIO_IO15__MEDIAMIX_DISP_DATA11        0x31e
+                       MX93_PAD_GPIO_IO16__MEDIAMIX_DISP_DATA12        0x31e
+                       MX93_PAD_GPIO_IO17__MEDIAMIX_DISP_DATA13        0x31e
+                       MX93_PAD_GPIO_IO18__MEDIAMIX_DISP_DATA14        0x31e
+                       MX93_PAD_GPIO_IO19__MEDIAMIX_DISP_DATA15        0x31e
+                       MX93_PAD_GPIO_IO20__MEDIAMIX_DISP_DATA16        0x31e
+                       MX93_PAD_GPIO_IO21__MEDIAMIX_DISP_DATA17        0x31e
+               >;
+       };
+};
+
+&lcdif {
+       status = "okay";
+};
+
+&media_blk_ctrl {
+       status = "okay";
+};
+
+&pcal6524 {
+       /*
+        * exp-sel-hog has property 'output-low' while DT overlay doesn't
+        * support /delete-property/. Both 'output-low' and 'output-high'
+        * will exist under hog nodes if DT overlay file sets 'output-high'.
+        * Workaround is to disable this hog and create new hog with
+        * 'output-high'.
+        */
+       exp-sel-hog {
+               status = "disabled";
+       };
+
+       exp-high-sel-hog {
+               gpio-hog;
+               gpios = <22 GPIO_ACTIVE_HIGH>;
+               output-high;
+       };
+};
+
+&sai3 {
+       /* disable due to GPIO12 and GPIO17~20 pin conflicts with LCDIF */
+       status = "disabled";
+};
index d167c9fc3b8f8f73b6cbf2c977ce53aff3bc5cfa..356533a7b513d31fdba0dd02b427575223fdfa57 100644 (file)
@@ -3,108 +3,4 @@
  * Copyright 2026 NXP
  */
 
-/dts-v1/;
-/plugin/;
-
-#include <dt-bindings/gpio/gpio.h>
-#include "imx93-pinfunc.h"
-
-&{/} {
-       backlight: backlight {
-               compatible = "gpio-backlight";
-               gpios = <&pcal6524 2 GPIO_ACTIVE_HIGH>;
-       };
-
-       panel {
-               compatible = "ontat,kd50g21-40nt-a1";
-               backlight = <&backlight>;
-               power-supply = <&reg_rpi_3v3>;
-
-               port {
-                       panel_in: endpoint {
-                               remote-endpoint = <&dpi_to_panel>;
-                       };
-               };
-       };
-};
-
-&dpi_bridge {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_lcdif>;
-       status = "okay";
-
-       ports {
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               port@1 {
-                       reg = <1>;
-
-                       dpi_to_panel: endpoint {
-                               remote-endpoint = <&panel_in>;
-                               bus-width = <18>;
-                       };
-               };
-       };
-};
-
-&iomuxc {
-       pinctrl_lcdif: lcdifgrp {
-               fsl,pins = <
-                       MX93_PAD_GPIO_IO00__MEDIAMIX_DISP_CLK           0x31e
-                       MX93_PAD_GPIO_IO01__MEDIAMIX_DISP_DE            0x31e
-                       MX93_PAD_GPIO_IO02__MEDIAMIX_DISP_VSYNC         0x31e
-                       MX93_PAD_GPIO_IO03__MEDIAMIX_DISP_HSYNC         0x31e
-                       MX93_PAD_GPIO_IO04__MEDIAMIX_DISP_DATA00        0x31e
-                       MX93_PAD_GPIO_IO05__MEDIAMIX_DISP_DATA01        0x31e
-                       MX93_PAD_GPIO_IO06__MEDIAMIX_DISP_DATA02        0x31e
-                       MX93_PAD_GPIO_IO07__MEDIAMIX_DISP_DATA03        0x31e
-                       MX93_PAD_GPIO_IO08__MEDIAMIX_DISP_DATA04        0x31e
-                       MX93_PAD_GPIO_IO09__MEDIAMIX_DISP_DATA05        0x31e
-                       MX93_PAD_GPIO_IO10__MEDIAMIX_DISP_DATA06        0x31e
-                       MX93_PAD_GPIO_IO11__MEDIAMIX_DISP_DATA07        0x31e
-                       MX93_PAD_GPIO_IO12__MEDIAMIX_DISP_DATA08        0x31e
-                       MX93_PAD_GPIO_IO13__MEDIAMIX_DISP_DATA09        0x31e
-                       MX93_PAD_GPIO_IO14__MEDIAMIX_DISP_DATA10        0x31e
-                       MX93_PAD_GPIO_IO15__MEDIAMIX_DISP_DATA11        0x31e
-                       MX93_PAD_GPIO_IO16__MEDIAMIX_DISP_DATA12        0x31e
-                       MX93_PAD_GPIO_IO17__MEDIAMIX_DISP_DATA13        0x31e
-                       MX93_PAD_GPIO_IO18__MEDIAMIX_DISP_DATA14        0x31e
-                       MX93_PAD_GPIO_IO19__MEDIAMIX_DISP_DATA15        0x31e
-                       MX93_PAD_GPIO_IO20__MEDIAMIX_DISP_DATA16        0x31e
-                       MX93_PAD_GPIO_IO21__MEDIAMIX_DISP_DATA17        0x31e
-               >;
-       };
-};
-
-&lcdif {
-       status = "okay";
-};
-
-&media_blk_ctrl {
-       status = "okay";
-};
-
-&pcal6524 {
-       /*
-        * exp-sel-hog has property 'output-low' while DT overlay doesn't
-        * support /delete-property/. Both 'output-low' and 'output-high'
-        * will exist under hog nodes if DT overlay file sets 'output-high'.
-        * Workaround is to disable this hog and create new hog with
-        * 'output-high'.
-        */
-       exp-sel-hog {
-               status = "disabled";
-       };
-
-       exp-high-sel-hog {
-               gpio-hog;
-               gpios = <22 GPIO_ACTIVE_HIGH>;
-               output-high;
-       };
-};
-
-&sai3 {
-       /* disable due to GPIO12 and GPIO17~20 pin conflicts with LCDIF */
-       status = "disabled";
-};
+#include "imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb-tianma-tm050rdh03.dtso b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb-tianma-tm050rdh03.dtso
new file mode 100644 (file)
index 0000000..c233797
--- /dev/null
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2026 NXP
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include "imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtsi"
+
+&{/} {
+       panel {
+               compatible = "tianma,tm050rdh03";
+               enable-gpios = <&pcal6524 8 GPIO_ACTIVE_HIGH>;
+       };
+};