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  '#phy-cells':
47    const: 0
48
49allOf:
50  - if:
51      properties:
52        compatible:
53          contains:
54            enum:
55              - qcom,hdmi-phy-8660
56              - qcom,hdmi-phy-8960
57    then:
58      properties:
59        clocks:
60          maxItems: 1
61        clock-names:
62          items:
63            - const: slave_iface
64        vddio-supply: false
65
66  - if:
67      properties:
68        compatible:
69          contains:
70            enum:
71              - qcom,hdmi-phy-8084
72              - qcom,hdmi-phy-8974
73    then:
74      properties:
75        clocks:
76          maxItems: 2
77        clock-names:
78          items:
79            - const: iface
80            - const: alt_iface
81
82required:
83  - compatible
84  - clocks
85  - reg
86  - reg-names
87  - '#phy-cells'
88
89additionalProperties: false
90
91examples:
92  - |
93    hdmi_phy: phy@4a00400 {
94      compatible = "qcom,hdmi-phy-8960";
95      reg-names = "hdmi_phy",
96                  "hdmi_pll";
97      reg = <0x4a00400 0x60>,
98            <0x4a00500 0x100>;
99      #phy-cells = <0>;
100      power-domains = <&mmcc 1>;
101      clock-names = "slave_iface";
102      clocks = <&clk 21>;
103      core-vdda-supply = <&pm8921_hdmi_mvs>;
104    };
105