summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>2025-12-17 13:19:03 +0300
committerAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>2026-01-08 15:41:54 +0300
commit6c90d33aedd355732062cc96d03fe4adb7609e8b (patch)
tree5107f513b24d56c42d5dea47d60072ab7a54e7c6
parent6fd69ff487c6a4cb3f45e53684937975cb1b67c1 (diff)
downloadlinux-6c90d33aedd355732062cc96d03fe4adb7609e8b.tar.xz
arm64: dts: mediatek: mt8195: Add DPI1, HDMI, HDMI PHY/DDC nodes
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: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8195.dtsi85
1 files changed, 85 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/mediatek/mt8195.dtsi b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
index c7adafaa8328..c72e34c57629 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
@@ -26,8 +26,10 @@
aliases {
dp-intf0 = &dp_intf0;
dp-intf1 = &dp_intf1;
+ dpi1 = &dpi1;
gce0 = &gce0;
gce1 = &gce1;
+ hdmi0 = &hdmi;
ethdr0 = &ethdr0;
mutex0 = &mutex;
mutex1 = &mutex1;
@@ -1857,6 +1859,23 @@
#clock-cells = <1>;
};
+ hdmi_phy: hdmi-phy@11d5f000 {
+ compatible = "mediatek,mt8195-hdmi-phy";
+ reg = <0 0x11d5f000 0 0x100>;
+ clocks = <&topckgen CLK_TOP_HDMI_XTAL>,
+ <&infracfg_ao CLK_INFRA_AO_HDMI_26M>,
+ <&apmixedsys CLK_APMIXED_HDMIPLL1>,
+ <&apmixedsys CLK_APMIXED_HDMIPLL2>;
+ clock-names = "pll_ref", "26m", "pll1", "pll2";
+ clock-output-names = "hdmi_txpll";
+
+ #clock-cells = <0>;
+ #phy-cells = <0>;
+ mediatek,ibias = <0xa>;
+ mediatek,ibias_up = <0x1c>;
+ status = "disabled";
+ };
+
i2c0: i2c@11e00000 {
compatible = "mediatek,mt8195-i2c",
"mediatek,mt8192-i2c";
@@ -3670,6 +3689,34 @@
resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE4_DL_ASYNC>;
};
+ dpi1: dpi@1c112000 {
+ compatible = "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 512 IRQ_TYPE_LEVEL_HIGH 0>;
+ power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
+ resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_DPI1>;
+ 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@1c113000 {
compatible = "mediatek,mt8195-dp-intf";
reg = <0 0x1c113000 0 0x1000>;
@@ -3730,6 +3777,44 @@
"gfx_fe1_async", "vdo_be_async";
};
+ hdmi: hdmi-tx@1c300000 {
+ compatible = "mediatek,mt8195-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 677 IRQ_TYPE_LEVEL_HIGH 0>;
+ power-domains = <&spm MT8195_POWER_DOMAIN_HDMI_TX>;
+ phys = <&hdmi_phy>;
+ phy-names = "hdmi";
+ status = "disabled";
+
+ hdmitx_ddc: i2c {
+ compatible = "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@1c500000 {
compatible = "mediatek,mt8195-edp-tx";
reg = <0 0x1c500000 0 0x8000>;