[PATCH] arm64: dts: freescale: imx8mp-phyboard-pollux-rdk: add HDMI support

From: Christopher Wecht
Date: Tue Jul 16 2024 - 04:38:20 EST


Enable the HDMI output on the phyBOARD Pollux, using the HDMI encoder
present in the i.MX8MP SoC.

Please note that lcdif3 has not bee enabled. This is due the fact
that as of now either HDMI or LVDS may be enabled. If both are
enabled it won't worked. With this patch, however, HDMI can be
enabled by turning ldcif3 on and ldcif2 off.

Signed-off-by: Christopher Wecht <cwecht@xxxxxxxxxxx>
---
.../freescale/imx8mp-phyboard-pollux-rdk.dts | 53 +++++++++++++++++++
1 file changed, 53 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
index 00a240484c25..3ea67bada2c1 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts
@@ -101,6 +101,18 @@ reg_vcc_3v3_sw: regulator-vcc-3v3-sw {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
+
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ label = "hdmi";
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&hdmi_tx_out>;
+ };
+ };
+ };
};

&eqos {
@@ -127,6 +139,38 @@ ethphy0: ethernet-phy@1 {
};
};

+
+/* HDMI */
+&irqsteer_hdmi {
+ status = "okay";
+};
+
+&hdmi_blk_ctrl {
+ status = "okay"";
+};
+
+&hdmi_pvi {
+ status = "okay"";
+};
+
+&hdmi_tx {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hdmi>;
+ status = "okay"";
+
+ ports {
+ port@1 {
+ hdmi_tx_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+};
+
+&hdmi_tx_phy {
+ status = "okay";
+};
+
/* CAN FD */
&flexcan1 {
pinctrl-names = "default";
@@ -346,6 +390,15 @@ MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x154
>;
};

+ pinctrl_hdmi: hdmigrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c3
+ MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c3
+ MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x40000019
+ MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC 0x40000019
+ >;
+ };
+
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2
--
2.34.1