xref: /linux/Documentation/devicetree/bindings/clock/qcom,videocc.yaml (revision e78f70bad29c5ae1e1076698b690b15794e9b81e)
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
7title: Qualcomm Video Clock & Reset Controller
8
9maintainers:
10  - Taniya Das <quic_tdas@quicinc.com>
11
12description: |
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,sm6350-videocc.h
18    include/dt-bindings/clock/qcom,videocc-sc7180.h
19    include/dt-bindings/clock/qcom,videocc-sc7280.h
20    include/dt-bindings/clock/qcom,videocc-sdm845.h
21    include/dt-bindings/clock/qcom,videocc-sm8150.h
22    include/dt-bindings/clock/qcom,videocc-sm8250.h
23
24properties:
25  compatible:
26    enum:
27      - qcom,sc7180-videocc
28      - qcom,sc7280-videocc
29      - qcom,sdm845-videocc
30      - qcom,sm6350-videocc
31      - qcom,sm8150-videocc
32      - qcom,sm8250-videocc
33
34  clocks:
35    minItems: 1
36    maxItems: 3
37
38  clock-names:
39    minItems: 1
40    maxItems: 3
41
42  power-domains:
43    description:
44      A phandle and PM domain specifier for the MMCX power domain.
45    maxItems: 1
46
47  required-opps:
48    description:
49      A phandle to an OPP node describing required MMCX performance point.
50    maxItems: 1
51
52required:
53  - compatible
54  - clocks
55  - clock-names
56  - '#power-domain-cells'
57
58allOf:
59  - $ref: qcom,gcc.yaml#
60
61  - if:
62      properties:
63        compatible:
64          enum:
65            - qcom,sc7180-videocc
66            - qcom,sdm845-videocc
67    then:
68      properties:
69        clocks:
70          items:
71            - description: Board XO source
72        clock-names:
73          items:
74            - const: bi_tcxo
75
76  - if:
77      properties:
78        compatible:
79          enum:
80            - qcom,sc7280-videocc
81    then:
82      properties:
83        clocks:
84          items:
85            - description: Board XO source
86            - description: Board active XO source
87        clock-names:
88          items:
89            - const: bi_tcxo
90            - const: bi_tcxo_ao
91
92  - if:
93      properties:
94        compatible:
95          enum:
96            - qcom,sm6350-videocc
97    then:
98      properties:
99        clocks:
100          items:
101            - description: Video AHB clock from GCC
102            - description: Board XO source
103            - description: Sleep Clock source
104        clock-names:
105          items:
106            - const: iface
107            - const: bi_tcxo
108            - const: sleep_clk
109
110  - if:
111      properties:
112        compatible:
113          enum:
114            - qcom,sm8150-videocc
115    then:
116      properties:
117        clocks:
118          items:
119            - description: AHB
120            - description: Board XO source
121        clock-names:
122          items:
123            - const: iface
124            - const: bi_tcxo
125
126  - if:
127      properties:
128        compatible:
129          enum:
130            - qcom,sm8250-videocc
131    then:
132      properties:
133        clocks:
134          items:
135            - description: AHB
136            - description: Board XO source
137            - description: Board active XO source
138        clock-names:
139          items:
140            - const: iface
141            - const: bi_tcxo
142            - const: bi_tcxo_ao
143
144unevaluatedProperties: false
145
146examples:
147  - |
148    #include <dt-bindings/clock/qcom,rpmh.h>
149    #include <dt-bindings/power/qcom,rpmhpd.h>
150    clock-controller@ab00000 {
151      compatible = "qcom,sdm845-videocc";
152      reg = <0x0ab00000 0x10000>;
153      clocks = <&rpmhcc RPMH_CXO_CLK>;
154      clock-names = "bi_tcxo";
155      #clock-cells = <1>;
156      #reset-cells = <1>;
157      #power-domain-cells = <1>;
158      power-domains = <&rpmhpd RPMHPD_MMCX>;
159      required-opps = <&rpmhpd_opp_low_svs>;
160    };
161...
162