From: Aradhya Bhatia <[email protected]>

The panel is Microtips Technology USA MF-101HIEBCAF0[1]. It is a
Dual-Link LVDS panel and supports WUXGA resolution (1920x1200).
Furthermore, it has an i2c based touch controller: Ilitek-ILI2511.

Add DT overlay for the OLDI Panel.

[1]: https://www.ti.com/tool/SK-LCD1

Signed-off-by: Aradhya Bhatia <[email protected]>
Signed-off-by: Swamil Jain <[email protected]>
---
 arch/arm64/boot/dts/ti/Makefile               |   4 +
 .../k3-am625-sk-microtips-mf101hie-panel.dtso | 121 ++++++++++++++++++
 2 files changed, 125 insertions(+)
 create mode 100644 
arch/arm64/boot/dts/ti/k3-am625-sk-microtips-mf101hie-panel.dtso

diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 743115b849a7..17776b7facb9 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -14,6 +14,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-ov5640.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-am625-phyboard-lyra-rdk.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am625-sk.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am625-sk-microtips-mf101hie-panel.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dahlia.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dev.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-ivy.dtb
@@ -176,6 +177,8 @@ k3-am625-sk-csi2-ov5640-dtbs := k3-am625-sk.dtb \
 k3-am625-sk-csi2-tevi-ov5640-dtbs := k3-am625-sk.dtb \
        k3-am62x-sk-csi2-tevi-ov5640.dtbo
 k3-am625-sk-hdmi-audio-dtbs := k3-am625-sk.dtb k3-am62x-sk-hdmi-audio.dtbo
+k3-am625-sk-microtips-mf101hie-panel-dtbs := k3-am625-sk.dtb \
+       k3-am625-sk-microtips-mf101hie-panel.dtbo
 k3-am62-lp-sk-hdmi-audio-dtbs := k3-am62-lp-sk.dtb k3-am62x-sk-hdmi-audio.dtbo
 k3-am62a7-sk-csi2-imx219-dtbs := k3-am62a7-sk.dtb \
        k3-am62x-sk-csi2-imx219.dtbo
@@ -258,6 +261,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
        k3-am625-sk-csi2-ov5640.dtb \
        k3-am625-sk-csi2-tevi-ov5640.dtb \
        k3-am625-sk-hdmi-audio.dtb \
+       k3-am625-sk-microtips-mf101hie-panel.dtb \
        k3-am62-lp-sk-hdmi-audio.dtb \
        k3-am62a7-sk-csi2-imx219.dtb \
        k3-am62a7-sk-csi2-ov5640.dtb \
diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk-microtips-mf101hie-panel.dtso 
b/arch/arm64/boot/dts/ti/k3-am625-sk-microtips-mf101hie-panel.dtso
new file mode 100644
index 000000000000..2fcf16042663
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am625-sk-microtips-mf101hie-panel.dtso
@@ -0,0 +1,121 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/**
+ * Microtips integrated OLDI panel (MF-101HIEBCAF0) and touch DT overlay for 
AM625 - SK
+ *
+ * Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+#include "k3-pinctrl.h"
+
+&{/} {
+       display {
+               compatible = "microtips,mf-101hiebcaf0";
+               /*
+               * Note that the OLDI TX 0 transmits the odd set of pixels
+               * while the OLDI TX 1 transmits the even set. This is a
+               * fixed configuration in the IP integration and is not
+               * changeable. The properties, "dual-lvds-odd-pixels" and
+               * "dual-lvds-even-pixels" have been used to merely
+               * identify if a Dual Link configuration is required.
+               * Swapping them will cause an error in the dss oldi driver.
+               */
+               power-supply = <&vcc_3v3_sys>;
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+                               dual-lvds-odd-pixels;
+                               lcd_in0: endpoint {
+                                       remote-endpoint = <&oldi_0_out>;
+                               };
+                       };
+                       port@1 {
+                               reg = <1>;
+                               dual-lvds-even-pixels;
+                               lcd_in1: endpoint {
+                                       remote-endpoint = <&oldi_1_out>;
+                               };
+                       };
+               };
+       };
+};
+
+&dss {
+       status = "okay";
+};
+
+&oldi0 {
+       status = "okay";
+       ti,companion-oldi = <&oldi1>;
+};
+
+&oldi1 {
+       status = "okay";
+       ti,secondary-oldi;
+       ti,companion-oldi = <&oldi0>;
+};
+
+&oldi0_port0 {
+       oldi_0_in: endpoint {
+               remote-endpoint = <&dpi0_out0>;
+       };
+};
+
+&oldi0_port1 {
+       oldi_0_out: endpoint {
+               remote-endpoint = <&lcd_in0>;
+       };
+};
+
+&oldi1_port0 {
+       oldi_1_in: endpoint {
+               remote-endpoint = <&dpi0_out1>;
+       };
+};
+
+&oldi1_port1 {
+       oldi_1_out: endpoint {
+               remote-endpoint = <&lcd_in1>;
+       };
+};
+
+&dss_ports {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* VP1: Output to OLDI */
+       port@0 {
+               reg = <0>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               dpi0_out0: endpoint@0 {
+                       reg = <0>;
+                       remote-endpoint = <&oldi_0_in>;
+               };
+               dpi0_out1: endpoint@1 {
+                       reg = <1>;
+                       remote-endpoint = <&oldi_1_in>;
+               };
+       };
+};
+
+&main_i2c0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       touchscreen@41 {
+               compatible = "ilitek,ili251x";
+               reg = <0x41>;
+               interrupt-parent = <&exp1>;
+               interrupts = <22 IRQ_TYPE_EDGE_FALLING>;
+       };
+};

Reply via email to