[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251209-mtk-genio-evk-hdmi-support-v1-5-9a6106effba6@collabora.com>
Date: Tue, 09 Dec 2025 17:34:35 +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 05/12] arm64: dts: mediatek: mt8188: Add DPI1, HDMI, HDMI
PHY/DDC nodes
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Add all of the nodes that are required to enable HDMI output,
including ones describing the HDMI PHY, Controller and DDC,
and the Digital Parallel Interface instance that is internally
connected to the HDMI Controller.
All of the added nodes are disabled by default as usage is
board dependent.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
[Louis-Alexis Eyraud: reworded subject and description]
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@...labora.com>
---
arch/arm64/boot/dts/mediatek/mt8188.dtsi | 82 ++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8188.dtsi b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
index 90c388f1890f5139be6a9513c4cd9b683a501279..e2a17359e407f0bdd3ae6ef8ade668e67a9bd493 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
@@ -26,6 +26,7 @@ / {
aliases {
dp-intf0 = &dp_intf0;
dp-intf1 = &dp_intf1;
+ dpi1 = &dpi1;
dsc0 = &dsc0;
ethdr0 = ðdr0;
gce0 = &gce0;
@@ -2038,6 +2039,19 @@ pcieport: pcie-phy@0 {
};
};
+ hdmi_phy: hdmi-phy@...5f000 {
+ compatible = "mediatek,mt8188-hdmi-phy", "mediatek,mt8195-hdmi-phy";
+ reg = <0 0x11d5f000 0 0x100>;
+ clocks = <&infracfg_ao CLK_INFRA_AO_HDMI_26M>;
+ clock-names = "pll_ref";
+ clock-output-names = "hdmi_txpll";
+ #clock-cells = <0>;
+ #phy-cells = <0>;
+ mediatek,ibias = <0xa>;
+ mediatek,ibias_up = <0x1c>;
+ status = "disabled";
+ };
+
mipi_tx_config0: dsi-phy@...80000 {
compatible = "mediatek,mt8188-mipi-tx", "mediatek,mt8183-mipi-tx";
reg = <0 0x11c80000 0 0x1000>;
@@ -3406,6 +3420,34 @@ merge5: merge@...10000 {
mediatek,merge-fifo-en;
};
+ dpi1: dpi@...12000 {
+ compatible = "mediatek,mt8188-dpi", "mediatek,mt8195-dpi";
+ reg = <0 0x1c112000 0 0x1000>;
+ clocks = <&vdosys1 CLK_VDO1_DPI1>,
+ <&vdosys1 CLK_VDO1_DPI1_MM>,
+ <&vdosys1 CLK_VDO1_DPI1_HDMI>;
+ clock-names = "pixel", "engine", "pll";
+ interrupts = <GIC_SPI 524 IRQ_TYPE_LEVEL_HIGH 0>;
+ power-domains = <&spm MT8188_POWER_DOMAIN_VDOSYS1>;
+ resets = <&vdosys1 MT8188_VDO1_RST_DPI1_MM_CK>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dpi1_in: endpoint { };
+ };
+
+ port@1 {
+ reg = <1>;
+ dpi1_out: endpoint { };
+ };
+ };
+ };
+
dp_intf1: dp-intf@...13000 {
compatible = "mediatek,mt8188-dp-intf";
reg = <0 0x1c113000 0 0x1000>;
@@ -3530,6 +3572,46 @@ padding7: padding@...24000 {
mediatek,gce-client-reg = <&gce0 SUBSYS_1c12XXXX 0x4000 0x1000>;
};
+ hdmi: hdmi@...00000 {
+ compatible = "mediatek,mt8188-hdmi-tx";
+ #sound-dai-cells = <1>;
+ reg = <0 0x1c300000 0 0x1000>;
+ clocks = <&topckgen CLK_TOP_HDMI_APB>,
+ <&topckgen CLK_TOP_HDCP>,
+ <&topckgen CLK_TOP_HDCP_24M>,
+ <&vppsys1 CLK_VPP1_VPP_SPLIT_HDMI>;
+ clock-names = "bus", "hdcp", "hdcp24m", "hdmi-split";
+ assigned-clocks = <&topckgen CLK_TOP_HDCP>;
+ assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4_D8>;
+ interrupts = <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH 0>;
+ power-domains = <&spm MT8188_POWER_DOMAIN_HDMI_TX>;
+ phys = <&hdmi_phy>;
+ phy-names = "hdmi";
+ status = "disabled";
+
+ hdmi_ddc: i2c {
+ compatible = "mediatek,mt8188-hdmi-ddc",
+ "mediatek,mt8195-hdmi-ddc";
+ clocks = <&clk26m>;
+ };
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ hdmi0_in: endpoint { };
+ };
+
+ port@1 {
+ reg = <1>;
+ hdmi0_out: endpoint { };
+ };
+ };
+ };
+
+
edp_tx: edp-tx@...00000 {
compatible = "mediatek,mt8188-edp-tx";
reg = <0 0x1c500000 0 0x8000>;
--
2.52.0
Powered by blists - more mailing lists