1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 4 5 $id: http://devicetree.org/schemas/display/msm 5 $id: http://devicetree.org/schemas/display/msm/hdmi.yaml# 6 $schema: http://devicetree.org/meta-schemas/co 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 7 8 title: Qualcomm Adreno/Snapdragon HDMI output 8 title: Qualcomm Adreno/Snapdragon HDMI output 9 9 10 maintainers: 10 maintainers: 11 - Rob Clark <robdclark@gmail.com> 11 - Rob Clark <robdclark@gmail.com> 12 12 13 properties: 13 properties: 14 compatible: 14 compatible: 15 enum: 15 enum: 16 - qcom,hdmi-tx-8084 16 - qcom,hdmi-tx-8084 17 - qcom,hdmi-tx-8660 17 - qcom,hdmi-tx-8660 18 - qcom,hdmi-tx-8960 18 - qcom,hdmi-tx-8960 19 - qcom,hdmi-tx-8974 19 - qcom,hdmi-tx-8974 20 - qcom,hdmi-tx-8994 20 - qcom,hdmi-tx-8994 21 - qcom,hdmi-tx-8996 21 - qcom,hdmi-tx-8996 22 - qcom,hdmi-tx-8998 << 23 22 24 clocks: 23 clocks: 25 minItems: 1 24 minItems: 1 26 maxItems: 8 !! 25 maxItems: 5 27 26 28 clock-names: 27 clock-names: 29 minItems: 1 28 minItems: 1 30 maxItems: 8 !! 29 maxItems: 5 31 30 32 reg: 31 reg: 33 minItems: 1 32 minItems: 1 34 maxItems: 3 33 maxItems: 3 35 34 36 reg-names: 35 reg-names: 37 minItems: 1 36 minItems: 1 38 items: 37 items: 39 - const: core_physical 38 - const: core_physical 40 - const: qfprom_physical 39 - const: qfprom_physical 41 - const: hdcp_physical 40 - const: hdcp_physical 42 41 43 interrupts: 42 interrupts: 44 maxItems: 1 43 maxItems: 1 45 44 46 phys: 45 phys: 47 maxItems: 1 46 maxItems: 1 48 47 49 phy-names: 48 phy-names: 50 enum: 49 enum: 51 - hdmi_phy 50 - hdmi_phy 52 - hdmi-phy 51 - hdmi-phy 53 deprecated: true 52 deprecated: true 54 53 55 core-vdda-supply: 54 core-vdda-supply: 56 description: phandle to VDDA supply regula 55 description: phandle to VDDA supply regulator 57 56 58 hdmi-mux-supply: 57 hdmi-mux-supply: 59 description: phandle to mux regulator 58 description: phandle to mux regulator 60 deprecated: true 59 deprecated: true 61 60 62 core-vcc-supply: 61 core-vcc-supply: 63 description: phandle to VCC supply regulat 62 description: phandle to VCC supply regulator 64 63 65 hpd-gpios: 64 hpd-gpios: 66 maxItems: 1 65 maxItems: 1 67 description: hpd pin 66 description: hpd pin 68 67 69 qcom,hdmi-tx-mux-en-gpios: 68 qcom,hdmi-tx-mux-en-gpios: 70 maxItems: 1 69 maxItems: 1 71 deprecated: true 70 deprecated: true 72 description: HDMI mux enable pin 71 description: HDMI mux enable pin 73 72 74 qcom,hdmi-tx-mux-sel-gpios: 73 qcom,hdmi-tx-mux-sel-gpios: 75 maxItems: 1 74 maxItems: 1 76 deprecated: true 75 deprecated: true 77 description: HDMI mux select pin 76 description: HDMI mux select pin 78 77 79 qcom,hdmi-tx-mux-lpm-gpios: 78 qcom,hdmi-tx-mux-lpm-gpios: 80 maxItems: 1 79 maxItems: 1 81 deprecated: true 80 deprecated: true 82 description: HDMI mux lpm pin 81 description: HDMI mux lpm pin 83 82 84 '#sound-dai-cells': 83 '#sound-dai-cells': 85 const: 1 84 const: 1 86 85 87 ports: 86 ports: 88 type: object 87 type: object 89 $ref: /schemas/graph.yaml#/properties/port 88 $ref: /schemas/graph.yaml#/properties/ports 90 properties: 89 properties: 91 port@0: 90 port@0: 92 $ref: /schemas/graph.yaml#/$defs/port- 91 $ref: /schemas/graph.yaml#/$defs/port-base 93 description: | 92 description: | 94 Input endpoints of the controller. 93 Input endpoints of the controller. 95 94 96 port@1: 95 port@1: 97 $ref: /schemas/graph.yaml#/$defs/port- 96 $ref: /schemas/graph.yaml#/$defs/port-base 98 description: | 97 description: | 99 Output endpoints of the controller. 98 Output endpoints of the controller. 100 99 101 required: 100 required: 102 - port@0 101 - port@0 103 102 104 required: 103 required: 105 - compatible 104 - compatible 106 - clocks 105 - clocks 107 - clock-names 106 - clock-names 108 - reg 107 - reg 109 - reg-names 108 - reg-names 110 - interrupts 109 - interrupts 111 - phys 110 - phys 112 111 113 allOf: 112 allOf: 114 - if: 113 - if: 115 properties: 114 properties: 116 compatible: 115 compatible: 117 contains: 116 contains: 118 enum: 117 enum: 119 - qcom,hdmi-tx-8960 118 - qcom,hdmi-tx-8960 120 - qcom,hdmi-tx-8660 119 - qcom,hdmi-tx-8660 121 then: 120 then: 122 properties: 121 properties: 123 clocks: 122 clocks: 124 minItems: 3 123 minItems: 3 125 maxItems: 3 124 maxItems: 3 126 clock-names: 125 clock-names: 127 items: 126 items: 128 - const: core 127 - const: core 129 - const: master_iface 128 - const: master_iface 130 - const: slave_iface 129 - const: slave_iface 131 core-vcc-supplies: false 130 core-vcc-supplies: false 132 131 133 - if: 132 - if: 134 properties: 133 properties: 135 compatible: 134 compatible: 136 contains: 135 contains: 137 enum: 136 enum: 138 - qcom,hdmi-tx-8974 137 - qcom,hdmi-tx-8974 139 - qcom,hdmi-tx-8084 138 - qcom,hdmi-tx-8084 140 - qcom,hdmi-tx-8994 139 - qcom,hdmi-tx-8994 141 - qcom,hdmi-tx-8996 140 - qcom,hdmi-tx-8996 142 then: 141 then: 143 properties: 142 properties: 144 clocks: 143 clocks: 145 minItems: 5 144 minItems: 5 146 maxItems: 5 << 147 clock-names: 145 clock-names: 148 items: 146 items: 149 - const: mdp_core 147 - const: mdp_core 150 - const: iface 148 - const: iface 151 - const: core 149 - const: core 152 - const: alt_iface 150 - const: alt_iface 153 - const: extp 151 - const: extp 154 hdmi-mux-supplies: false 152 hdmi-mux-supplies: false 155 << 156 - if: << 157 properties: << 158 compatible: << 159 contains: << 160 enum: << 161 - qcom,hdmi-tx-8998 << 162 then: << 163 properties: << 164 clocks: << 165 minItems: 8 << 166 maxItems: 8 << 167 clock-names: << 168 items: << 169 - const: mdp_core << 170 - const: iface << 171 - const: core << 172 - const: alt_iface << 173 - const: extp << 174 - const: bus << 175 - const: mnoc << 176 - const: iface_mmss << 177 153 178 additionalProperties: false 154 additionalProperties: false 179 155 180 examples: 156 examples: 181 - | 157 - | 182 #include <dt-bindings/gpio/gpio.h> 158 #include <dt-bindings/gpio/gpio.h> 183 #include <dt-bindings/interrupt-controller 159 #include <dt-bindings/interrupt-controller/irq.h> 184 #include <dt-bindings/interrupt-controller 160 #include <dt-bindings/interrupt-controller/arm-gic.h> 185 hdmi: hdmi@4a00000 { 161 hdmi: hdmi@4a00000 { 186 compatible = "qcom,hdmi-tx-8960"; 162 compatible = "qcom,hdmi-tx-8960"; 187 reg-names = "core_physical"; 163 reg-names = "core_physical"; 188 reg = <0x04a00000 0x2f0>; 164 reg = <0x04a00000 0x2f0>; 189 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_ 165 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 190 clock-names = "core", 166 clock-names = "core", 191 "master_iface", 167 "master_iface", 192 "slave_iface"; 168 "slave_iface"; 193 clocks = <&clk 61>, 169 clocks = <&clk 61>, 194 <&clk 72>, 170 <&clk 72>, 195 <&clk 98>; 171 <&clk 98>; 196 hpd-gpios = <&msmgpio 72 GPIO_ACTIVE_HIG 172 hpd-gpios = <&msmgpio 72 GPIO_ACTIVE_HIGH>; 197 core-vdda-supply = <&pm8921_hdmi_mvs>; 173 core-vdda-supply = <&pm8921_hdmi_mvs>; 198 hdmi-mux-supply = <&ext_3p3v>; 174 hdmi-mux-supply = <&ext_3p3v>; 199 pinctrl-names = "default", "sleep"; 175 pinctrl-names = "default", "sleep"; 200 pinctrl-0 = <&hpd_active &ddc_active & 176 pinctrl-0 = <&hpd_active &ddc_active &cec_active>; 201 pinctrl-1 = <&hpd_suspend &ddc_suspend & 177 pinctrl-1 = <&hpd_suspend &ddc_suspend &cec_suspend>; 202 178 203 phys = <&hdmi_phy>; 179 phys = <&hdmi_phy>; 204 }; 180 }; 205 - | 181 - | 206 #include <dt-bindings/clock/qcom,gcc-msm89 182 #include <dt-bindings/clock/qcom,gcc-msm8996.h> 207 #include <dt-bindings/clock/qcom,mmcc-msm8 183 #include <dt-bindings/clock/qcom,mmcc-msm8996.h> 208 #include <dt-bindings/gpio/gpio.h> 184 #include <dt-bindings/gpio/gpio.h> 209 #include <dt-bindings/interrupt-controller 185 #include <dt-bindings/interrupt-controller/irq.h> 210 #include <dt-bindings/interrupt-controller 186 #include <dt-bindings/interrupt-controller/arm-gic.h> 211 hdmi@9a0000 { 187 hdmi@9a0000 { 212 compatible = "qcom,hdmi-tx-8996"; 188 compatible = "qcom,hdmi-tx-8996"; 213 reg = <0x009a0000 0x50c>, 189 reg = <0x009a0000 0x50c>, 214 <0x00070000 0x6158>, 190 <0x00070000 0x6158>, 215 <0x009e0000 0xfff>; 191 <0x009e0000 0xfff>; 216 reg-names = "core_physical", 192 reg-names = "core_physical", 217 "qfprom_physical", 193 "qfprom_physical", 218 "hdcp_physical"; 194 "hdcp_physical"; 219 195 220 interrupt-parent = <&mdss>; 196 interrupt-parent = <&mdss>; 221 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 197 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 222 198 223 clocks = <&mmcc MDSS_MDP_CLK>, 199 clocks = <&mmcc MDSS_MDP_CLK>, 224 <&mmcc MDSS_AHB_CLK>, 200 <&mmcc MDSS_AHB_CLK>, 225 <&mmcc MDSS_HDMI_CLK>, 201 <&mmcc MDSS_HDMI_CLK>, 226 <&mmcc MDSS_HDMI_AHB_CLK>, 202 <&mmcc MDSS_HDMI_AHB_CLK>, 227 <&mmcc MDSS_EXTPCLK_CLK>; 203 <&mmcc MDSS_EXTPCLK_CLK>; 228 clock-names = "mdp_core", 204 clock-names = "mdp_core", 229 "iface", 205 "iface", 230 "core", 206 "core", 231 "alt_iface", 207 "alt_iface", 232 "extp"; 208 "extp"; 233 209 234 phys = <&hdmi_phy>; 210 phys = <&hdmi_phy>; 235 #sound-dai-cells = <1>; 211 #sound-dai-cells = <1>; 236 212 237 pinctrl-names = "default", "sleep"; 213 pinctrl-names = "default", "sleep"; 238 pinctrl-0 = <&hdmi_hpd_active &hdmi_ddc_ 214 pinctrl-0 = <&hdmi_hpd_active &hdmi_ddc_active>; 239 pinctrl-1 = <&hdmi_hpd_suspend &hdmi_ddc 215 pinctrl-1 = <&hdmi_hpd_suspend &hdmi_ddc_suspend>; 240 216 241 core-vdda-supply = <&vreg_l12a_1p8>; 217 core-vdda-supply = <&vreg_l12a_1p8>; 242 core-vcc-supply = <&vreg_s4a_1p8>; 218 core-vcc-supply = <&vreg_s4a_1p8>; 243 219 244 ports { 220 ports { 245 #address-cells = <1>; 221 #address-cells = <1>; 246 #size-cells = <0>; 222 #size-cells = <0>; 247 223 248 port@0 { 224 port@0 { 249 reg = <0>; 225 reg = <0>; 250 endpoint { 226 endpoint { 251 remote-endpoint = <&mdp5_intf3_out 227 remote-endpoint = <&mdp5_intf3_out>; 252 }; 228 }; 253 }; 229 }; 254 }; 230 }; 255 }; 231 }; 256 ... 232 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.