summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Dolcini <francesco.dolcini@toradex.com>2023-04-19 19:31:47 +0200
committerFrancesco Dolcini <francesco.dolcini@toradex.com>2023-05-02 09:19:44 +0200
commit5bbfe45b8f774650ba5c980b45022cb901acac01 (patch)
tree62a3fee779952176eac2dd85e55a51426adb938a
parent8ced014de66e250ca337b4e5b4d29ba4d5173497 (diff)
verdin-am62: add DSI to HDMI overlay
Add Verdin DSI to HDMI adapter overlay. Related-to: ELB-5026 Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
-rw-r--r--overlays/Makefile1
-rw-r--r--overlays/verdin-am62_dsi-to-hdmi_overlay.dts107
2 files changed, 108 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile
index 546f381..9efffeb 100644
--- a/overlays/Makefile
+++ b/overlays/Makefile
@@ -50,6 +50,7 @@ dtb-y += colibri-imx7_panel-cap-touch-10inch-lvds_overlay.dtbo
dtb-y += colibri-imx7_panel-res-touch-7inch_overlay.dtbo
dtb-y += colibri-imx7_spidev_overlay.dtbo
dtb-y += colibri-imx7_vga-640x480_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_mezzanine_panel-cap-touch-10inch-lvds_overlay.dtbo
dtb-y += verdin-am62_mezzanine_panel-lvds-dual-channel-1080p_overlay.dtbo
diff --git a/overlays/verdin-am62_dsi-to-hdmi_overlay.dts b/overlays/verdin-am62_dsi-to-hdmi_overlay.dts
new file mode 100644
index 0000000..365b26c
--- /dev/null
+++ b/overlays/verdin-am62_dsi-to-hdmi_overlay.dts
@@ -0,0 +1,107 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+// Verdin DSI to HDMI Adapter orderable at Toradex.
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+ compatible = "toradex,verdin-am62";
+};
+
+&{/} {
+ hdmi_connector: hdmi-connector {
+ compatible = "hdmi-connector";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm3_dsi_gpio>;
+ ddc-i2c-bus = <&main_i2c2>;
+ /* Verdin PWM_3_DSI (SODIMM 19) */
+ hpd-gpios = <&main_gpio1 17 GPIO_ACTIVE_HIGH>;
+ label = "hdmi";
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&lt8912_1_out>;
+ };
+ };
+ };
+
+};
+
+&dsi_bridge {
+ status = "okay";
+};
+
+&dsi_bridge_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ mipi_dsi_bridge1_out: endpoint {
+ remote-endpoint = <&lt8912_1_in>;
+ };
+ };
+};
+
+&dss {
+ status = "okay";
+};
+
+/* Verdin I2C_1 */
+&main_i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ hdmi_lontium_lt8912: hdmi@48 {
+ compatible = "lontium,lt8912b";
+ reg = <0x48>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_dsi1_bkl_en>;
+ /* Verdin GPIO_9_DSI (LT8912 INT, SODIMM 17, unused) */
+ /* Verdin GPIO_10_DSI (SODIMM 21) */
+ reset-gpios = <&main_gpio0 30 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 = <&mipi_dsi_bridge1_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ lt8912_1_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+};
+
+/* Verdin I2C_2_DSI */
+&main_i2c2 {
+ status = "okay";
+};
+
+/* Verdin PWM_3_DSI */
+&epwm1 {
+ /* Verdin PWM_3_DSI (SODIMM 19) is used as HDMI HPD / GPIO, disable to avoid conflicts */
+ status = "disabled";
+};