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,rpmcc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm RPM Clock Controller
8
9 maintainers:
10 - Bjorn Andersson <bjorn.andersson@linaro.org>
11 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
12
13 description: |
14 The clock enumerators are defined in <dt-bindings/clock/qcom,rpmcc.h> and
15 come in pairs:: FOO_CLK followed by FOO_A_CLK. The latter clock is
16 an "active" clock, which means that the consumer only care that the clock is
17 available when the apps CPU subsystem is active, i.e. not suspended or in
18 deep idle. If it is important that the clock keeps running during system
19 suspend, you need to specify the non-active clock, the one not containing
20 *_A_* in the enumerator name.
21
22 properties:
23 compatible:
24 items:
25 - enum:
26 - qcom,rpmcc-apq8060
27 - qcom,rpmcc-apq8064
28 - qcom,rpmcc-ipq806x
29 - qcom,rpmcc-mdm9607
30 - qcom,rpmcc-msm8226
31 - qcom,rpmcc-msm8660
32 - qcom,rpmcc-msm8916
33 - qcom,rpmcc-msm8936
34 - qcom,rpmcc-msm8953
35 - qcom,rpmcc-msm8974
36 - qcom,rpmcc-msm8976
37 - qcom,rpmcc-msm8992
38 - qcom,rpmcc-msm8994
39 - qcom,rpmcc-msm8996
40 - qcom,rpmcc-msm8998
41 - qcom,rpmcc-qcm2290
42 - qcom,rpmcc-qcs404
43 - qcom,rpmcc-sdm660
44 - qcom,rpmcc-sm6115
45 - qcom,rpmcc-sm6125
46 - const: qcom,rpmcc
47
48 '#clock-cells':
49 const: 1
50
51 clocks:
52 minItems: 1
53 maxItems: 2
54
55 clock-names:
56 minItems: 1
57 maxItems: 2
58
59 required:
60 - compatible
61 - '#clock-cells'
62
63 allOf:
64 - if:
65 properties:
66 compatible:
67 contains:
68 enum:
69 - qcom,rpmcc-apq8060
70 - qcom,rpmcc-ipq806x
71 - qcom,rpmcc-msm8660
72
73 then:
74 properties:
75 clocks:
76 items:
77 - description: pxo clock
78
79 clock-names:
80 items:
81 - const: pxo
82
83 - if:
84 properties:
85 compatible:
86 contains:
87 const: qcom,rpmcc-apq8064
88 then:
89 properties:
90 clocks:
91 items:
92 - description: pxo clock
93 - description: cxo clock
94
95 clock-names:
96 items:
97 - const: pxo
98 - const: cxo
99
100 - if:
101 properties:
102 compatible:
103 contains:
104 enum:
105 - qcom,rpmcc-mdm9607
106 - qcom,rpmcc-msm8226
107 - qcom,rpmcc-msm8916
108 - qcom,rpmcc-msm8936
109 - qcom,rpmcc-msm8953
110 - qcom,rpmcc-msm8974
111 - qcom,rpmcc-msm8976
112 - qcom,rpmcc-msm8992
113 - qcom,rpmcc-msm8994
114 - qcom,rpmcc-msm8996
115 - qcom,rpmcc-msm8998
116 - qcom,rpmcc-qcm2290
117 - qcom,rpmcc-qcs404
118 - qcom,rpmcc-sdm660
119 - qcom,rpmcc-sm6115
120 - qcom,rpmcc-sm6125
121
122 then:
123 properties:
124 clocks:
125 items:
126 - description: xo clock
127
128 clock-names:
129 items:
130 - const: xo
131
132 additionalProperties: false
133
134 examples:
135 - |
136 rpm {
137 rpm-requests {
138 compatible = "qcom,rpm-msm8916";
139 qcom,smd-channels = "rpm_requests";
140
141 clock-controller {
142 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
143 #clock-cells = <1>;
144 };
145 };
146 };
147
148 - |
149 rpm {
150 clock-controller {
151 compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
152 #clock-cells = <1>;
153 clocks = <&pxo_board>;
154 clock-names = "pxo";
155 };
156 };
Cache object: 08b8b583436b7f3fc62b4ca64a404845
|