[PATCH 08/12] arm64: dts: mediatek: mt8395-radxa-nio-12l: Enable HDMI output
Louis-Alexis Eyraud
louisalexis.eyraud at collabora.com
Tue Dec 9 08:34:38 PST 2025
From: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
Add a definition for the on-board HDMI connector, enable and add
the relevant configuration for the HDMI PHY and controller, and
define the pins used by those.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud at collabora.com>
---
.../boot/dts/mediatek/mt8395-radxa-nio-12l.dts | 142 +++++++++++++++++++++
1 file changed, 142 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
index d32f973f5e0528bc3233ff01f029006dbe6ef894..b0e18876bd5d2341c6f17f47e9f11433be807ccd 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
@@ -37,6 +37,20 @@ chosen {
stdout-path = "serial0:921600n8";
};
+ connector {
+ compatible = "hdmi-connector";
+ label = "hdmi";
+ type = "a";
+ ddc-i2c-bus = <&hdmitx_ddc>;
+ hdmi-pwr-supply = <&hdmi_phy>;
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&hdmi0_out>;
+ };
+ };
+ };
+
firmware {
optee {
compatible = "linaro,optee-tz";
@@ -245,6 +259,18 @@ port at 1 {
};
};
+&dpi1 {
+ status = "okay";
+};
+
+&dpi1_in {
+ remote-endpoint = <&merge5_out>;
+};
+
+&dpi1_out {
+ remote-endpoint = <&hdmi0_in>;
+};
+
ð {
phy-mode = "rgmii-rxid";
phy-handle = <&rgmii_phy>;
@@ -265,11 +291,61 @@ rgmii_phy: ethernet-phy at 1 {
};
};
+ðdr0 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ethdr0_in: endpoint at 1 {
+ reg = <1>;
+ remote-endpoint = <&vdosys1_ep_ext>;
+ };
+ };
+
+ port at 1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ ethdr0_out: endpoint at 1 {
+ reg = <1>;
+ remote-endpoint = <&merge5_in>;
+ };
+ };
+ };
+};
+
&gpu {
mali-supply = <&mt6315_7_vbuck1>;
status = "okay";
};
+&hdmi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_pins>;
+ status = "okay";
+};
+
+&hdmi0_in {
+ remote-endpoint = <&dpi1_out>;
+};
+
+&hdmi0_out {
+ remote-endpoint = <&hdmi_connector_in>;
+};
+
+&hdmi_phy {
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_vreg_pins>;
+
+ status = "okay";
+};
+
&i2c2 {
clock-frequency = <400000>;
pinctrl-0 = <&i2c2_pins>;
@@ -448,6 +524,35 @@ typec_con_mux: endpoint {
};
};
+&merge5 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port at 0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ merge5_in: endpoint at 1 {
+ reg = <1>;
+ remote-endpoint = <ðdr0_out>;
+ };
+ };
+
+ port at 1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ merge5_out: endpoint at 1 {
+ reg = <1>;
+ remote-endpoint = <&dpi1_in>;
+ };
+ };
+ };
+};
+
&mfg0 {
domain-supply = <&mt6315_7_vbuck1>;
};
@@ -647,6 +752,31 @@ pins {
};
};
+ hdmi_vreg_pins: hdmi-vreg-pins {
+ pins-pwr {
+ pinmux = <PINMUX_GPIO31__FUNC_HDMITX20_PWR5V>;
+ bias-disable;
+ };
+ };
+
+ hdmi_pins: hdmi-pins {
+ pins-hotplug {
+ pinmux = <PINMUX_GPIO32__FUNC_HDMITX20_HTPLG>;
+ bias-pull-down;
+ };
+
+ pins-ddc {
+ pinmux = <PINMUX_GPIO34__FUNC_HDMITX20_SCL>,
+ <PINMUX_GPIO35__FUNC_HDMITX20_SDA>;
+ drive-strength = <10>;
+ };
+
+ pins-cec {
+ pinmux = <PINMUX_GPIO33__FUNC_HDMITX20_CEC>;
+ bias-disable;
+ };
+ };
+
i2c2_pins: i2c2-pins {
pins-bus {
pinmux = <PINMUX_GPIO12__FUNC_SDA2>,
@@ -1058,6 +1188,18 @@ &ssusb2 {
status = "okay";
};
+&vdosys1 {
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vdosys1_ep_ext: endpoint at 1 {
+ reg = <1>;
+ remote-endpoint = <ðdr0_in>;
+ };
+ };
+};
+
&xhci0 {
vbus-supply = <&otg_vbus_regulator>;
status = "okay";
--
2.52.0
More information about the linux-arm-kernel
mailing list