1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4
5$id: http://devicetree.org/schemas/phy/qcom,hdmi-phy-other.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Qualcomm Adreno/Snapdragon HDMI phy
9
10maintainers:
11  - Rob Clark <robdclark@gmail.com>
12
13properties:
14  compatible:
15    enum:
16      - qcom,hdmi-phy-8660
17      - qcom,hdmi-phy-8960
18      - qcom,hdmi-phy-8974
19      - qcom,hdmi-phy-8084
20
21  reg:
22    maxItems: 2
23
24  reg-names:
25    items:
26      - const: hdmi_phy
27      - const: hdmi_pll
28
29  clocks:
30    minItems: 1
31    maxItems: 2
32
33  clock-names:
34    minItems: 1
35    maxItems: 2
36
37  power-domains:
38    maxItems: 1
39
40  core-vdda-supply:
41    description: phandle to VDDA supply regulator
42
43  vddio-supply:
44    description: phandle to VDD I/O supply regulator
45
46  '#clock-cells':
47    const: 0
48
49  '#phy-cells':
50    const: 0
51
52allOf:
53  - if:
54      properties:
55        compatible:
56          contains:
57            enum:
58              - qcom,hdmi-phy-8660
59    then:
60      properties:
61        clocks:
62          maxItems: 1
63        clock-names:
64          items:
65            - const: slave_iface
66        vddio-supply: false
67
68  - if:
69      properties:
70        compatible:
71          contains:
72            enum:
73              - qcom,hdmi-phy-8960
74    then:
75      properties:
76        clocks:
77          minItems: 1
78          maxItems: 2
79        clock-names:
80          minItems: 1
81          items:
82            - const: slave_iface
83            - const: pxo
84        vddio-supply: false
85
86  - if:
87      properties:
88        compatible:
89          contains:
90            enum:
91              - qcom,hdmi-phy-8084
92              - qcom,hdmi-phy-8974
93    then:
94      properties:
95        clocks:
96          maxItems: 2
97        clock-names:
98          items:
99            - const: iface
100            - const: alt_iface
101
102required:
103  - compatible
104  - clocks
105  - reg
106  - reg-names
107  - '#phy-cells'
108
109additionalProperties: false
110
111examples:
112  - |
113    hdmi_phy: phy@4a00400 {
114      compatible = "qcom,hdmi-phy-8960";
115      reg-names = "hdmi_phy",
116                  "hdmi_pll";
117      reg = <0x4a00400 0x60>,
118            <0x4a00500 0x100>;
119      #clock-cells = <0>;
120      #phy-cells = <0>;
121      power-domains = <&mmcc 1>;
122      clock-names = "slave_iface", "pxo";
123      clocks = <&clk 21>, <&pxo_board>;
124      core-vdda-supply = <&pm8921_hdmi_mvs>;
125    };
126