12f14bc38SDmitry Baryshkov# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 22f14bc38SDmitry Baryshkov%YAML 1.2 32f14bc38SDmitry Baryshkov--- 42f14bc38SDmitry Baryshkov 52f14bc38SDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/hdmi.yaml# 62f14bc38SDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml# 72f14bc38SDmitry Baryshkov 82f14bc38SDmitry Baryshkovtitle: Qualcomm Adreno/Snapdragon HDMI output 92f14bc38SDmitry Baryshkov 102f14bc38SDmitry Baryshkovmaintainers: 112f14bc38SDmitry Baryshkov - Rob Clark <robdclark@gmail.com> 122f14bc38SDmitry Baryshkov 132f14bc38SDmitry Baryshkovproperties: 142f14bc38SDmitry Baryshkov compatible: 152f14bc38SDmitry Baryshkov enum: 162f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8084 172f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8660 182f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8960 192f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8974 202f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8994 212f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8996 222f14bc38SDmitry Baryshkov 232f14bc38SDmitry Baryshkov clocks: 242f14bc38SDmitry Baryshkov minItems: 1 252f14bc38SDmitry Baryshkov maxItems: 5 262f14bc38SDmitry Baryshkov 272f14bc38SDmitry Baryshkov clock-names: 282f14bc38SDmitry Baryshkov minItems: 1 292f14bc38SDmitry Baryshkov maxItems: 5 302f14bc38SDmitry Baryshkov 312f14bc38SDmitry Baryshkov reg: 322f14bc38SDmitry Baryshkov minItems: 1 332f14bc38SDmitry Baryshkov maxItems: 3 342f14bc38SDmitry Baryshkov 352f14bc38SDmitry Baryshkov reg-names: 362f14bc38SDmitry Baryshkov minItems: 1 372f14bc38SDmitry Baryshkov items: 382f14bc38SDmitry Baryshkov - const: core_physical 392f14bc38SDmitry Baryshkov - const: qfprom_physical 402f14bc38SDmitry Baryshkov - const: hdcp_physical 412f14bc38SDmitry Baryshkov 422f14bc38SDmitry Baryshkov interrupts: 432f14bc38SDmitry Baryshkov maxItems: 1 442f14bc38SDmitry Baryshkov 452f14bc38SDmitry Baryshkov phys: 462f14bc38SDmitry Baryshkov maxItems: 1 472f14bc38SDmitry Baryshkov 482f14bc38SDmitry Baryshkov phy-names: 492f14bc38SDmitry Baryshkov enum: 502f14bc38SDmitry Baryshkov - hdmi_phy 512f14bc38SDmitry Baryshkov - hdmi-phy 522f14bc38SDmitry Baryshkov deprecated: true 532f14bc38SDmitry Baryshkov 542f14bc38SDmitry Baryshkov core-vdda-supply: 552f14bc38SDmitry Baryshkov description: phandle to VDDA supply regulator 562f14bc38SDmitry Baryshkov 572f14bc38SDmitry Baryshkov hdmi-mux-supply: 582f14bc38SDmitry Baryshkov description: phandle to mux regulator 59*6c04d89aSDmitry Baryshkov deprecated: true 602f14bc38SDmitry Baryshkov 612f14bc38SDmitry Baryshkov core-vcc-supply: 622f14bc38SDmitry Baryshkov description: phandle to VCC supply regulator 632f14bc38SDmitry Baryshkov 642f14bc38SDmitry Baryshkov hpd-gpios: 652f14bc38SDmitry Baryshkov maxItems: 1 662f14bc38SDmitry Baryshkov description: hpd pin 672f14bc38SDmitry Baryshkov 682f14bc38SDmitry Baryshkov qcom,hdmi-tx-mux-en-gpios: 692f14bc38SDmitry Baryshkov maxItems: 1 70e3c5ce88SDmitry Baryshkov deprecated: true 712f14bc38SDmitry Baryshkov description: HDMI mux enable pin 722f14bc38SDmitry Baryshkov 732f14bc38SDmitry Baryshkov qcom,hdmi-tx-mux-sel-gpios: 742f14bc38SDmitry Baryshkov maxItems: 1 75e3c5ce88SDmitry Baryshkov deprecated: true 762f14bc38SDmitry Baryshkov description: HDMI mux select pin 772f14bc38SDmitry Baryshkov 782f14bc38SDmitry Baryshkov qcom,hdmi-tx-mux-lpm-gpios: 792f14bc38SDmitry Baryshkov maxItems: 1 80e3c5ce88SDmitry Baryshkov deprecated: true 812f14bc38SDmitry Baryshkov description: HDMI mux lpm pin 822f14bc38SDmitry Baryshkov 832f14bc38SDmitry Baryshkov '#sound-dai-cells': 842f14bc38SDmitry Baryshkov const: 1 852f14bc38SDmitry Baryshkov 862f14bc38SDmitry Baryshkov ports: 872f14bc38SDmitry Baryshkov type: object 882f14bc38SDmitry Baryshkov $ref: /schemas/graph.yaml#/properties/ports 892f14bc38SDmitry Baryshkov properties: 902f14bc38SDmitry Baryshkov port@0: 912f14bc38SDmitry Baryshkov $ref: /schemas/graph.yaml#/$defs/port-base 922f14bc38SDmitry Baryshkov description: | 932f14bc38SDmitry Baryshkov Input endpoints of the controller. 942f14bc38SDmitry Baryshkov 952f14bc38SDmitry Baryshkov port@1: 962f14bc38SDmitry Baryshkov $ref: /schemas/graph.yaml#/$defs/port-base 972f14bc38SDmitry Baryshkov description: | 982f14bc38SDmitry Baryshkov Output endpoints of the controller. 992f14bc38SDmitry Baryshkov 1002f14bc38SDmitry Baryshkov required: 1012f14bc38SDmitry Baryshkov - port@0 1022f14bc38SDmitry Baryshkov 1032f14bc38SDmitry Baryshkovrequired: 1042f14bc38SDmitry Baryshkov - compatible 1052f14bc38SDmitry Baryshkov - clocks 1062f14bc38SDmitry Baryshkov - clock-names 1072f14bc38SDmitry Baryshkov - reg 1082f14bc38SDmitry Baryshkov - reg-names 1092f14bc38SDmitry Baryshkov - interrupts 1102f14bc38SDmitry Baryshkov - phys 1112f14bc38SDmitry Baryshkov 1122f14bc38SDmitry BaryshkovallOf: 1132f14bc38SDmitry Baryshkov - if: 1142f14bc38SDmitry Baryshkov properties: 1152f14bc38SDmitry Baryshkov compatible: 1162f14bc38SDmitry Baryshkov contains: 1172f14bc38SDmitry Baryshkov enum: 1182f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8960 1192f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8660 1202f14bc38SDmitry Baryshkov then: 1212f14bc38SDmitry Baryshkov properties: 1222f14bc38SDmitry Baryshkov clocks: 1232f14bc38SDmitry Baryshkov minItems: 3 1242f14bc38SDmitry Baryshkov maxItems: 3 1252f14bc38SDmitry Baryshkov clock-names: 1262f14bc38SDmitry Baryshkov items: 1272f14bc38SDmitry Baryshkov - const: core 1282f14bc38SDmitry Baryshkov - const: master_iface 1292f14bc38SDmitry Baryshkov - const: slave_iface 1302f14bc38SDmitry Baryshkov core-vcc-supplies: false 1312f14bc38SDmitry Baryshkov 1322f14bc38SDmitry Baryshkov - if: 1332f14bc38SDmitry Baryshkov properties: 1342f14bc38SDmitry Baryshkov compatible: 1352f14bc38SDmitry Baryshkov contains: 1362f14bc38SDmitry Baryshkov enum: 1372f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8974 1382f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8084 1392f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8994 1402f14bc38SDmitry Baryshkov - qcom,hdmi-tx-8996 1412f14bc38SDmitry Baryshkov then: 1422f14bc38SDmitry Baryshkov properties: 1432f14bc38SDmitry Baryshkov clocks: 1442f14bc38SDmitry Baryshkov minItems: 5 1452f14bc38SDmitry Baryshkov clock-names: 1462f14bc38SDmitry Baryshkov items: 1472f14bc38SDmitry Baryshkov - const: mdp_core 1482f14bc38SDmitry Baryshkov - const: iface 1492f14bc38SDmitry Baryshkov - const: core 1502f14bc38SDmitry Baryshkov - const: alt_iface 1512f14bc38SDmitry Baryshkov - const: extp 1522f14bc38SDmitry Baryshkov hdmi-mux-supplies: false 1532f14bc38SDmitry Baryshkov 1542f14bc38SDmitry BaryshkovadditionalProperties: false 1552f14bc38SDmitry Baryshkov 1562f14bc38SDmitry Baryshkovexamples: 1572f14bc38SDmitry Baryshkov - | 1582f14bc38SDmitry Baryshkov #include <dt-bindings/gpio/gpio.h> 1592f14bc38SDmitry Baryshkov #include <dt-bindings/interrupt-controller/irq.h> 1602f14bc38SDmitry Baryshkov #include <dt-bindings/interrupt-controller/arm-gic.h> 1612f14bc38SDmitry Baryshkov hdmi: hdmi@4a00000 { 1622f14bc38SDmitry Baryshkov compatible = "qcom,hdmi-tx-8960"; 1632f14bc38SDmitry Baryshkov reg-names = "core_physical"; 1642f14bc38SDmitry Baryshkov reg = <0x04a00000 0x2f0>; 1652f14bc38SDmitry Baryshkov interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 1662f14bc38SDmitry Baryshkov clock-names = "core", 1672f14bc38SDmitry Baryshkov "master_iface", 1682f14bc38SDmitry Baryshkov "slave_iface"; 1692f14bc38SDmitry Baryshkov clocks = <&clk 61>, 1702f14bc38SDmitry Baryshkov <&clk 72>, 1712f14bc38SDmitry Baryshkov <&clk 98>; 1722f14bc38SDmitry Baryshkov hpd-gpios = <&msmgpio 72 GPIO_ACTIVE_HIGH>; 1732f14bc38SDmitry Baryshkov core-vdda-supply = <&pm8921_hdmi_mvs>; 1742f14bc38SDmitry Baryshkov hdmi-mux-supply = <&ext_3p3v>; 1752f14bc38SDmitry Baryshkov pinctrl-names = "default", "sleep"; 1762f14bc38SDmitry Baryshkov pinctrl-0 = <&hpd_active &ddc_active &cec_active>; 1772f14bc38SDmitry Baryshkov pinctrl-1 = <&hpd_suspend &ddc_suspend &cec_suspend>; 1782f14bc38SDmitry Baryshkov 1792f14bc38SDmitry Baryshkov phys = <&hdmi_phy>; 1802f14bc38SDmitry Baryshkov }; 1812f14bc38SDmitry Baryshkov - | 1822f14bc38SDmitry Baryshkov #include <dt-bindings/clock/qcom,gcc-msm8996.h> 1832f14bc38SDmitry Baryshkov #include <dt-bindings/clock/qcom,mmcc-msm8996.h> 1842f14bc38SDmitry Baryshkov #include <dt-bindings/gpio/gpio.h> 1852f14bc38SDmitry Baryshkov #include <dt-bindings/interrupt-controller/irq.h> 1862f14bc38SDmitry Baryshkov #include <dt-bindings/interrupt-controller/arm-gic.h> 1872f14bc38SDmitry Baryshkov hdmi@9a0000 { 1882f14bc38SDmitry Baryshkov compatible = "qcom,hdmi-tx-8996"; 1892f14bc38SDmitry Baryshkov reg = <0x009a0000 0x50c>, 1902f14bc38SDmitry Baryshkov <0x00070000 0x6158>, 1912f14bc38SDmitry Baryshkov <0x009e0000 0xfff>; 1922f14bc38SDmitry Baryshkov reg-names = "core_physical", 1932f14bc38SDmitry Baryshkov "qfprom_physical", 1942f14bc38SDmitry Baryshkov "hdcp_physical"; 1952f14bc38SDmitry Baryshkov 1962f14bc38SDmitry Baryshkov interrupt-parent = <&mdss>; 1972f14bc38SDmitry Baryshkov interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 1982f14bc38SDmitry Baryshkov 1992f14bc38SDmitry Baryshkov clocks = <&mmcc MDSS_MDP_CLK>, 2002f14bc38SDmitry Baryshkov <&mmcc MDSS_AHB_CLK>, 2012f14bc38SDmitry Baryshkov <&mmcc MDSS_HDMI_CLK>, 2022f14bc38SDmitry Baryshkov <&mmcc MDSS_HDMI_AHB_CLK>, 2032f14bc38SDmitry Baryshkov <&mmcc MDSS_EXTPCLK_CLK>; 2042f14bc38SDmitry Baryshkov clock-names = "mdp_core", 2052f14bc38SDmitry Baryshkov "iface", 2062f14bc38SDmitry Baryshkov "core", 2072f14bc38SDmitry Baryshkov "alt_iface", 2082f14bc38SDmitry Baryshkov "extp"; 2092f14bc38SDmitry Baryshkov 2102f14bc38SDmitry Baryshkov phys = <&hdmi_phy>; 2112f14bc38SDmitry Baryshkov #sound-dai-cells = <1>; 2122f14bc38SDmitry Baryshkov 2132f14bc38SDmitry Baryshkov pinctrl-names = "default", "sleep"; 2142f14bc38SDmitry Baryshkov pinctrl-0 = <&hdmi_hpd_active &hdmi_ddc_active>; 2152f14bc38SDmitry Baryshkov pinctrl-1 = <&hdmi_hpd_suspend &hdmi_ddc_suspend>; 2162f14bc38SDmitry Baryshkov 2172f14bc38SDmitry Baryshkov core-vdda-supply = <&vreg_l12a_1p8>; 2182f14bc38SDmitry Baryshkov core-vcc-supply = <&vreg_s4a_1p8>; 2192f14bc38SDmitry Baryshkov 2202f14bc38SDmitry Baryshkov ports { 2212f14bc38SDmitry Baryshkov #address-cells = <1>; 2222f14bc38SDmitry Baryshkov #size-cells = <0>; 2232f14bc38SDmitry Baryshkov 2242f14bc38SDmitry Baryshkov port@0 { 2252f14bc38SDmitry Baryshkov reg = <0>; 2262f14bc38SDmitry Baryshkov endpoint { 2272f14bc38SDmitry Baryshkov remote-endpoint = <&mdp5_intf3_out>; 2282f14bc38SDmitry Baryshkov }; 2292f14bc38SDmitry Baryshkov }; 2302f14bc38SDmitry Baryshkov }; 2312f14bc38SDmitry Baryshkov }; 2322f14bc38SDmitry Baryshkov... 233