summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParth Pancholi <parth.pancholi@toradex.com>2024-06-06 16:19:31 +0200
committerParth Pancholi <parth.pancholi@toradex.com>2024-06-06 16:19:31 +0200
commit86375f34dfd894a0948552b5c82e6b1164b361c7 (patch)
treeacf2607623173408e9f4f2a5df86c2b1d7eef26e
parent166dcbc7c04fc7b325680044cb5a20b00d3aba14 (diff)
aquila-am69: add DSI to HDMI overlay
Add Aquila DSI to HDMI adapter overlay. Related-to: ELB-5769 Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
-rw-r--r--overlays/Makefile1
-rw-r--r--overlays/aquila-am69_dsi-to-hdmi_overlay.dts122
2 files changed, 123 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile
index 733234f..af8bdef 100644
--- a/overlays/Makefile
+++ b/overlays/Makefile
@@ -19,6 +19,7 @@ HOSTCC := gcc $(DTS_INCLUDES)
PWD := $(shell pwd)
+dtb-y += aquila-am69_dsi-to-hdmi_overlay.dtbo
dtb-y += verdin-am62_dsi-to-hdmi_overlay.dtbo
dtb-y += verdin-am62_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dtbo
dtb-y += verdin-am62_hmp_overlay.dtbo
diff --git a/overlays/aquila-am69_dsi-to-hdmi_overlay.dts b/overlays/aquila-am69_dsi-to-hdmi_overlay.dts
new file mode 100644
index 0000000..a6633a0
--- /dev/null
+++ b/overlays/aquila-am69_dsi-to-hdmi_overlay.dts
@@ -0,0 +1,122 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2024 Toradex
+ */
+
+// Toradex DSI to HDMI Adapter on Aquila DSI_1.
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&{/} {
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm3_dsi_gpio>;
+ /* Aquila I2C_3_DSI1 */
+ ddc-i2c-bus = <&pinctrl_main_i2c0>;
+ /* Aquila PWM_3_DSI (AQUILA B46) */
+ hpd-gpios = <&main_gpio0 33 GPIO_ACTIVE_HIGH>;
+ label = "hdmi";
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&lt8912_1_out>;
+ };
+ };
+ };
+};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi0_out: endpoint {
+ remote-endpoint = <&lt8912_1_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi2_out>;
+ };
+ };
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+
+ dpi2_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
+};
+
+/* Aquila PWM_3_DSI */
+&main_ehrpwm5 {
+ /* Aquila PWM_3_DSI (AQUILA B46) is used as HDMI HPD / GPIO, disable to avoid conflicts */
+ status = "disabled";
+};
+
+/* Aquila I2C_3_DSI1 */
+&main_i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ hdmi@48 {
+ compatible = "lontium,lt8912b";
+ reg = <0x48>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_20_dsi_1>;
+ /* Aquila GPIO_20_DSI_1 (AQUILA B45) */
+ reset-gpios = <&main_gpio0 18 GPIO_ACTIVE_LOW>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ lt8912_1_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ lt8912_1_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+};