summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoão Paulo Gonçalves <joao.goncalves@toradex.com>2025-01-28 13:23:57 -0300
committerJoão Paulo Gonçalves <joao.goncalves@toradex.com>2025-01-31 12:55:40 -0300
commitef4ab3f549f58e21abbef29f011169b7f4845696 (patch)
tree20c32728d742946ef21f25195fa90b08e8558e82
parente14e41372718807ba0f58d9a432decfbe0536c16 (diff)
toradex-smarc-imx8mp: dsi-to-hdmi: Add overlay
Add overlay for the DSI to HDMI adapter, the same that is used with the Verdin family. Related-to: ELB-6063 Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
-rw-r--r--overlays/Makefile1
-rw-r--r--overlays/toradex-smarc-imx8mp_dsi-to-hdmi_overlay.dts105
2 files changed, 106 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile
index 9a6d0e2..56c176c 100644
--- a/overlays/Makefile
+++ b/overlays/Makefile
@@ -41,6 +41,7 @@ dtb-y += colibri-imx8x_panel-res-touch-7inch_overlay.dtbo
dtb-y += colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dtbo
dtb-y += colibri-imx8x_vga-640x480_overlay.dtbo
dtb-y += colibri-imx8x_spidev_overlay.dtbo
+dtb-y += toradex-smarc-imx8mp_dsi-to-hdmi_overlay.dtbo
dtb-y += verdin-imx8mm_20mhz_can1.dtbo
dtb-y += verdin-imx8mm_disable_can1.dtbo
dtb-y += verdin-imx8mm_dsi-to-hdmi_overlay.dtbo
diff --git a/overlays/toradex-smarc-imx8mp_dsi-to-hdmi_overlay.dts b/overlays/toradex-smarc-imx8mp_dsi-to-hdmi_overlay.dts
new file mode 100644
index 0000000..8d609f9
--- /dev/null
+++ b/overlays/toradex-smarc-imx8mp_dsi-to-hdmi_overlay.dts
@@ -0,0 +1,105 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (C) 2025 Toradex
+ *
+ * LT8912B MIPI DSI to HDMI accessory
+ *
+ * https://developer.toradex.com/hardware/accessories/add-ons/dsi-hdmi-adapter
+ * https://www.toradex.com/accessories/verdin-dsi-to-hdmi-adapter
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "imx8mp-pinfunc.h"
+
+/ {
+ compatible = "toradex,toradex-smarc-imx8mp";
+};
+
+&{/} {
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hdmi_hpd>;
+ /* I2C on DSI Connector Pins 52/54 */
+ ddc-i2c-bus = <&i2c_dsi_1>;
+ /* SMARC LCD1_BKLT_PWM as GPIO */
+ hpd-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
+ label = "hdmi";
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&lt8912_out>;
+ };
+ };
+ };
+};
+
+/* I2C on DSI Connector Pins 4/6 */
+&i2c_dsi_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ bridge@48 {
+ compatible = "lontium,lt8912b";
+ reg = <0x48>;
+ /* SMARC LCD1_BKLT_EN */
+ reset-gpios = <&som_gpio_expander 7 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_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+};
+
+&lcdif1 {
+ status = "okay";
+};
+
+&mipi_dsi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ port@1 {
+ reg = <1>;
+
+ mipi_dsi_bridge1_out: endpoint {
+ attach-bridge;
+ remote-endpoint = <&lt8912_1_in>;
+ };
+ };
+};
+
+/* SMARC LCD1_BKLT_PWM - Used as GPIO */
+&pwm1 {
+ status = "disabled";
+};
+
+&iomuxc {
+ /* SMARC LCD1_BKLT_PWM as GPIO */
+ pinctrl_hdmi_hpd: hdmihpdgpiogrp {
+ fsl,pins = <MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x104>; /* SMARC S122 - LCD1_BKLT_PWM */
+ };
+};