[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251209-mtk-genio-evk-hdmi-support-v1-10-9a6106effba6@collabora.com>
Date: Tue, 09 Dec 2025 17:34:40 +0100
From: Louis-Alexis Eyraud <louisalexis.eyraud@...labora.com>
To: Chunfeng Yun <chunfeng.yun@...iatek.com>, Vinod Koul <vkoul@...nel.org>,
Neil Armstrong <neil.armstrong@...aro.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Chun-Kuang Hu <chunkuang.hu@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Guillaume Ranquet <granquet@...libre.com>
Cc: kernel@...labora.com, Krzysztof Kozlowski <krzk@...nel.org>,
linux-arm-kernel@...ts.infradead.org, linux-mediatek@...ts.infradead.org,
linux-phy@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Louis-Alexis Eyraud <louisalexis.eyraud@...labora.com>
Subject: [PATCH 10/12] arm64: dts: mediatek: mt8395-genio-common: Enable
HDMI output
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: Louis-Alexis Eyraud <louisalexis.eyraud@...labora.com>
---
.../boot/dts/mediatek/mt8395-genio-common.dtsi | 142 +++++++++++++++++++++
1 file changed, 142 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
index 2b7167804e71d0ced33c048ecb2040667b5fece1..345fc5ac9e039de8660ae325f36ae6265ef3a7c8 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
@@ -26,6 +26,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";
@@ -247,6 +261,18 @@ &dmic_codec {
wakeup-delay-ms = <200>;
};
+&dpi1 {
+ status = "okay";
+};
+
+&dpi1_in {
+ remote-endpoint = <&merge5_out>;
+};
+
+&dpi1_out {
+ remote-endpoint = <&hdmi0_in>;
+};
+
&dsi0 {
#address-cells = <1>;
#size-cells = <0>;
@@ -313,6 +339,35 @@ eth_phy0: ethernet-phy@1 {
};
};
+ðdr0 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ethdr0_in: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&vdosys1_ep_ext>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ ethdr0_out: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&merge5_in>;
+ };
+ };
+ };
+};
+
&gamma0_out {
remote-endpoint = <&dither0_in>;
};
@@ -329,6 +384,27 @@ &i2c0 {
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";
+};
+
&i2c1 {
clock-frequency = <400000>;
pinctrl-0 = <&i2c1_pins>;
@@ -533,6 +609,35 @@ mt6360_ssusb_sbu_ep: endpoint {
};
};
+&merge5 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ merge5_in: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <ðdr0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ merge5_out: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&dpi1_in>;
+ };
+ };
+ };
+};
+
&mfg0 {
domain-supply = <&mt6315_7_vbuck1>;
};
@@ -762,6 +867,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;
+ };
+ };
+
i2c0_pins: i2c0-pins {
pins {
pinmux = <PINMUX_GPIO8__FUNC_SDA0>,
@@ -1212,6 +1342,18 @@ vdosys0_ep_main: endpoint@0 {
};
};
+&vdosys1 {
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vdosys1_ep_ext: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <ðdr0_in>;
+ };
+ };
+};
+
&xhci0 {
status = "okay";
};
--
2.52.0
Powered by blists - more mailing lists