diff options
-rw-r--r-- | overlays/Makefile | 1 | ||||
-rw-r--r-- | overlays/toradex-smarc-imx8mp_dsi-to-hdmi_overlay.dts | 114 |
2 files changed, 115 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile index 80902a8..3a59f31 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -55,6 +55,7 @@ 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 += colibri-imx8x_hmp_overlay.dtbo +dtb-y += toradex-smarc-imx8mp_dsi-to-hdmi_overlay.dtbo dtb-y += toradex-smarc-imx8mp_spi0-cs0_spidev_overlay.dtbo dtb-y += toradex-smarc-imx8mp_spi0-cs1_spidev_overlay.dtbo dtb-y += toradex-smarc-imx8mp_spi1-cs0_spidev_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..5976dbf --- /dev/null +++ b/overlays/toradex-smarc-imx8mp_dsi-to-hdmi_overlay.dts @@ -0,0 +1,114 @@ +// 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,smarc-imx8mp"; +}; + +&{/} { + dsi-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 = "DSI-HDMI"; + type = "a"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <<8912_hdmi_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_dsi_in: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&mipi_dsi_bridge1_out>; + }; + }; + + port@1 { + reg = <1>; + + lt8912_hdmi_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; +}; + +&lcdif1 { + status = "okay"; +}; + +&lvds_dsi_mux_hog { + /* LVDS_DSI_SEL as DSI */ + output-low; +}; + +&mipi_dsi { + samsung,esc-clock-frequency = <16000000>; + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + mipi_dsi_bridge1_out: endpoint { + attach-bridge; + remote-endpoint = <<8912_dsi_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 */ + }; +}; |