Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / clock / qcom,videocc.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/clock/qcom,videocc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm Video Clock & Reset Controller
8
9 maintainers:
10   - Taniya Das <quic_tdas@quicinc.com>
11
12 description: |
13   Qualcomm video clock control module provides the clocks, resets and power
14   domains on Qualcomm SoCs.
15
16   See also::
17     include/dt-bindings/clock/qcom,videocc-sc7180.h
18     include/dt-bindings/clock/qcom,videocc-sc7280.h
19     include/dt-bindings/clock/qcom,videocc-sdm845.h
20     include/dt-bindings/clock/qcom,videocc-sm8150.h
21     include/dt-bindings/clock/qcom,videocc-sm8250.h
22
23 properties:
24   compatible:
25     enum:
26       - qcom,sc7180-videocc
27       - qcom,sc7280-videocc
28       - qcom,sdm845-videocc
29       - qcom,sm8150-videocc
30       - qcom,sm8250-videocc
31
32   clocks:
33     minItems: 1
34     maxItems: 3
35
36   clock-names:
37     minItems: 1
38     maxItems: 3
39
40   '#clock-cells':
41     const: 1
42
43   '#reset-cells':
44     const: 1
45
46   '#power-domain-cells':
47     const: 1
48
49   reg:
50     maxItems: 1
51
52   power-domains:
53     description:
54       A phandle and PM domain specifier for the MMCX power domain.
55     maxItems: 1
56
57   required-opps:
58     description:
59       A phandle to an OPP node describing required MMCX performance point.
60     maxItems: 1
61
62 required:
63   - compatible
64   - reg
65   - clocks
66   - clock-names
67   - '#clock-cells'
68   - '#reset-cells'
69   - '#power-domain-cells'
70
71 allOf:
72   - if:
73       properties:
74         compatible:
75           enum:
76             - qcom,sc7180-videocc
77             - qcom,sdm845-videocc
78             - qcom,sm8150-videocc
79     then:
80       properties:
81         clocks:
82           items:
83             - description: Board XO source
84         clock-names:
85           items:
86             - const: bi_tcxo
87
88   - if:
89       properties:
90         compatible:
91           enum:
92             - qcom,sc7280-videocc
93     then:
94       properties:
95         clocks:
96           items:
97             - description: Board XO source
98             - description: Board active XO source
99         clock-names:
100           items:
101             - const: bi_tcxo
102             - const: bi_tcxo_ao
103
104   - if:
105       properties:
106         compatible:
107           enum:
108             - qcom,sm8250-videocc
109     then:
110       properties:
111         clocks:
112           items:
113             - description: AHB
114             - description: Board XO source
115             - description: Board active XO source
116         clock-names:
117           items:
118             - const: iface
119             - const: bi_tcxo
120             - const: bi_tcxo_ao
121
122 additionalProperties: false
123
124 examples:
125   - |
126     #include <dt-bindings/clock/qcom,rpmh.h>
127     #include <dt-bindings/power/qcom,rpmhpd.h>
128     clock-controller@ab00000 {
129       compatible = "qcom,sdm845-videocc";
130       reg = <0x0ab00000 0x10000>;
131       clocks = <&rpmhcc RPMH_CXO_CLK>;
132       clock-names = "bi_tcxo";
133       #clock-cells = <1>;
134       #reset-cells = <1>;
135       #power-domain-cells = <1>;
136       power-domains = <&rpmhpd RPMHPD_MMCX>;
137       required-opps = <&rpmhpd_opp_low_svs>;
138     };
139 ...