File Index
Files and directories
Sign in
FILE

hdmi.yaml

File preview with syntax highlighting.

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