diff options
Diffstat (limited to 'overlays/colibri-imx8x_dsihdmi_overlay.dts')
-rw-r--r-- | overlays/colibri-imx8x_dsihdmi_overlay.dts | 270 |
1 files changed, 270 insertions, 0 deletions
diff --git a/overlays/colibri-imx8x_dsihdmi_overlay.dts b/overlays/colibri-imx8x_dsihdmi_overlay.dts new file mode 100644 index 0000000..f1ccfb5 --- /dev/null +++ b/overlays/colibri-imx8x_dsihdmi_overlay.dts @@ -0,0 +1,270 @@ +// Enable the dsi to hdmi adapter orderable at Toradex for Colibri iMX8X + +#include "dt-bindings/gpio/gpio.h" +#include "dt-bindings/pinctrl/pads-imx8qxp.h" + +/dts-v1/; +/plugin/; +/ { + compatible = "toradex,colibri-imx8qxp"; + + fragment@0 { + target = <&ldb2>; + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target = <&ldb2_phy>; + __overlay__ { + status = "okay"; + }; + }; + + fragment@2 { + target = <&mipi_dsi_phy1>; + __overlay__ { + status = "okay"; + }; + }; + + fragment@3 { + target = <&mipi_dsi1>; + __overlay__ { + status = "okay"; + }; + }; + + fragment@4 { + target = <&mipi_dsi_bridge1>; + __overlay__ { + status = "okay"; + port@1 { + mipi_dsi_bridge1_out: endpoint { + remote-endpoint = <<8912_1_in>; + }; + }; + }; + }; + + fragment@5 { + target = <&iomuxc>; + __overlay__ { + colibri-imx8qxp { + /* DSI/LVDS Hot Plug Detect on FFC (X2) */ + pinctrl_gpio_hpd: gpio-hpd { + fsl,pins = < + SC_P_MIPI_DSI1_GPIO0_00_LSIO_GPIO1_IO31 0x20 /* SODIMM 138 */ + >; + }; + }; + }; + }; + + fragment@6 { + target = <&i2c0_mipi_lvds0>; + + __overlay__ { + status = "okay"; + + /* DSI to HDMI Adapter V1.1A */ + i2c-switch@70 { + compatible = "nxp,pca9540"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x70>; + i2c-mux-idle-disconnect; + + i2c_sw0: i2c-sw@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + /* DDC/EDID */ + }; + + i2c-sw@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + + lt8912@48 { + compatible = "lontium,lt8912"; + ddc-i2c-bus = <&i2c_sw0>; + hpd-gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_hpd>; + reg = <0x48>; + + port { + lt8912_1_in: endpoint { + remote-endpoint = <&mipi_dsi_bridge1_out>; + }; + }; + }; + }; + }; + }; + }; + + fragment@7 { + target = <&pixel_combiner>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@8 { + target = <&prg1>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@9 { + target = <&prg2>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@10 { + target = <&prg3>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@11 { + target = <&prg4>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@12 { + target = <&prg5>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@13 { + target = <&prg6>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@14 { + target = <&prg7>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@15 { + target = <&prg8>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@16 { + target = <&prg9>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@17 { + target = <&ldb1_phy>; + + __overlay__ { + status = "disabled"; + }; + }; + + fragment@18 { + target = <&ldb1>; + + __overlay__ { + status = "disabled"; + }; + }; + + fragment@19 { + target = <&gpu_3d0>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@20 { + target = <&dpu1>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@21 { + target = <&dpr1_channel1>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@22 { + target = <&dpr1_channel2>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@23 { + target = <&dpr1_channel3>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@24 { + target = <&dpr2_channel1>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@25 { + target = <&dpr2_channel2>; + + __overlay__ { + status = "okay"; + }; + }; + + fragment@26 { + target = <&dpr2_channel3>; + + __overlay__ { + status = "okay"; + }; + }; +}; |