ARM: dts: imx53-qsb: add support for the HDMI expander
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 6 Feb 2024 15:26:29 +0000 (17:26 +0200)
committerShawn Guo <shawnguo@kernel.org>
Fri, 23 Feb 2024 04:01:57 +0000 (12:01 +0800)
Add support for the MCIMXHDMICARD expansion card attached to the iMX53
QSB / QSRB platforms. This enables HDMI output on those devices.

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/nxp/imx/Makefile
arch/arm/boot/dts/nxp/imx/imx53-qsb-hdmi.dtso [new file with mode: 0644]

index 87dbd842f6635662fe1694b4d69f4151c6210e9b..4052cad859fa9f2928ae99edcde3cbc2480cdb4b 100644 (file)
@@ -45,7 +45,9 @@ dtb-$(CONFIG_SOC_IMX53) += \
        imx53-mba53.dtb \
        imx53-ppd.dtb \
        imx53-qsb.dtb \
+       imx53-qsb-hdmi.dtb \
        imx53-qsrb.dtb \
+       imx53-qsrb-hdmi.dtb \
        imx53-sk-imx53.dtb \
        imx53-sk-imx53-atm0700d4-lvds.dtb \
        imx53-sk-imx53-atm0700d4-rgb.dtb \
@@ -54,6 +56,8 @@ dtb-$(CONFIG_SOC_IMX53) += \
        imx53-tx53-x13x.dtb \
        imx53-usbarmory.dtb \
        imx53-voipac-bsb.dtb
+imx53-qsb-hdmi-dtbs := imx53-qsb.dtb imx53-qsb-hdmi.dtbo
+imx53-qsrb-hdmi-dtbs := imx53-qsrb.dtb imx53-qsb-hdmi.dtbo
 dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6dl-alti6p.dtb \
        imx6dl-apf6dev.dtb \
diff --git a/arch/arm/boot/dts/nxp/imx/imx53-qsb-hdmi.dtso b/arch/arm/boot/dts/nxp/imx/imx53-qsb-hdmi.dtso
new file mode 100644 (file)
index 0000000..c84e9b0
--- /dev/null
@@ -0,0 +1,87 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * DT overlay for MCIMXHDMICARD as used with the iMX53 QSB or QSRB boards
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/dts-v1/;
+/plugin/;
+
+&{/} {
+       /delete-node/ panel;
+
+       hdmi: connector-hdmi {
+               compatible = "hdmi-connector";
+               label = "hdmi";
+               type = "a";
+
+               port {
+                       hdmi_connector_in: endpoint {
+                               remote-endpoint = <&sii9022_out>;
+                       };
+               };
+       };
+
+       reg_1p2v: regulator-1p2v {
+               compatible = "regulator-fixed";
+               regulator-name = "1P2V";
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <1200000>;
+               regulator-always-on;
+               vin-supply = <&reg_3p2v>;
+       };
+};
+
+&display0 {
+       status = "okay";
+};
+
+&display0 {
+       port@1 {
+               display0_out: endpoint {
+                       remote-endpoint = <&sii9022_in>;
+               };
+       };
+};
+
+&i2c2 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       sii9022: bridge-hdmi@39 {
+               compatible = "sil,sii9022";
+               reg = <0x39>;
+               reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
+               interrupts-extended = <&gpio3 31 IRQ_TYPE_LEVEL_LOW>;
+               iovcc-supply = <&reg_3p2v>;
+               #sound-dai-cells = <0>;
+               sil,i2s-data-lanes = <0>;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               sii9022_in: endpoint {
+                                       remote-endpoint = <&display0_out>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               sii9022_out: endpoint {
+                                       remote-endpoint = <&hdmi_connector_in>;
+                               };
+                       };
+               };
+       };
+};
+
+&tve {
+       status = "disabled";
+};