1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm Technologies, Inc. RPMh Regulators
8
9 maintainers:
10 - Bjorn Andersson <bjorn.andersson@linaro.org>
11 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
12
13 description: |
14 rpmh-regulator devices support PMIC regulator management via the Voltage
15 Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.
16 The APPS processor communicates with these hardware blocks via a
17 Resource State Coordinator (RSC) using command packets. The VRM allows
18 changing three parameters for a given regulator, enable state, output
19 voltage, and operating mode. The XOB allows changing only a single
20 parameter for a given regulator, its enable state. Despite its name,
21 the XOB is capable of controlling the enable state of any PMIC peripheral.
22 It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators
23 which have a fixed voltage and mode.
24
25 =======================
26 Required Node Structure
27 =======================
28
29 RPMh regulators must be described in two levels of device nodes. The first
30 level describes the PMIC containing the regulators and must reside within an
31 RPMh device node. The second level describes each regulator within the PMIC
32 which is to be used on the board. Each of these regulators maps to a single
33 RPMh resource.
34
35 The names used for regulator nodes must match those supported by a given
36 PMIC. Supported regulator node names are
37 For PM6150, smps1 - smps5, ldo1 - ldo19
38 For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
39 For PM6350, smps1 - smps5, ldo1 - ldo22
40 For PM7325, smps1 - smps8, ldo1 - ldo19
41 For PM8005, smps1 - smps4
42 For PM8009, smps1 - smps2, ldo1 - ldo7
43 For PM8150, smps1 - smps10, ldo1 - ldo18
44 For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
45 For PM8350, smps1 - smps12, ldo1 - ldo10
46 For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
47 For PM8450, smps1 - smps6, ldo1 - ldo4
48 For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
49 For PMI8998, bob
50 For PMR735A, smps1 - smps3, ldo1 - ldo7
51 For PMX55, smps1 - smps7, ldo1 - ldo16
52 For PMX65, smps1 - smps8, ldo1 - ldo21
53
54 properties:
55 compatible:
56 enum:
57 - qcom,pm6150-rpmh-regulators
58 - qcom,pm6150l-rpmh-regulators
59 - qcom,pm6350-rpmh-regulators
60 - qcom,pm7325-rpmh-regulators
61 - qcom,pm8005-rpmh-regulators
62 - qcom,pm8009-rpmh-regulators
63 - qcom,pm8009-1-rpmh-regulators
64 - qcom,pm8150-rpmh-regulators
65 - qcom,pm8150l-rpmh-regulators
66 - qcom,pm8350-rpmh-regulators
67 - qcom,pm8350c-rpmh-regulators
68 - qcom,pm8450-rpmh-regulators
69 - qcom,pm8998-rpmh-regulators
70 - qcom,pmg1110-rpmh-regulators
71 - qcom,pmi8998-rpmh-regulators
72 - qcom,pmm8155au-rpmh-regulators
73 - qcom,pmr735a-rpmh-regulators
74 - qcom,pmx55-rpmh-regulators
75 - qcom,pmx65-rpmh-regulators
76
77 qcom,pmic-id:
78 description: |
79 RPMh resource name suffix used for the regulators found
80 on this PMIC.
81 $ref: /schemas/types.yaml#/definitions/string
82 enum: [a, b, c, d, e, f, h, k]
83
84 qcom,always-wait-for-ack:
85 description: |
86 Boolean flag which indicates that the application processor
87 must wait for an ACK or a NACK from RPMh for every request
88 sent for this regulator including those which are for a
89 strictly lower power state.
90 $ref: /schemas/types.yaml#/definitions/flag
91
92 vdd-flash-supply:
93 description: Input supply phandle of flash.
94
95 vdd-rgb-supply:
96 description: Input supply phandle of rgb.
97
98 bob:
99 type: object
100 $ref: "regulator.yaml#"
101 description: BOB regulator node.
102
103 patternProperties:
104 "^(smps|ldo|lvs)[0-9]+$":
105 type: object
106 $ref: "regulator.yaml#"
107 description: smps/ldo regulator nodes(s).
108
109 required:
110 - compatible
111 - qcom,pmic-id
112
113 allOf:
114 - if:
115 properties:
116 compatible:
117 enum:
118 - qcom,pm6150-rpmh-regulators
119 then:
120 properties:
121 vdd-l2-l3-supply: true
122 vdd-l4-l7-l8-supply: true
123 vdd-l5-l16-l17-l18-l19-supply: true
124 vdd-l10-l14-l15-supply: true
125 vdd-l11-l12-l13-supply: true
126 patternProperties:
127 "^vdd-l[169]-supply$": true
128 "^vdd-s[1-5]-supply$": true
129
130 - if:
131 properties:
132 compatible:
133 enum:
134 - qcom,pm6150l-rpmh-regulators
135 then:
136 properties:
137 vdd-bob-supply:
138 description: BOB regulator parent supply phandle.
139 vdd-l1-l8-supply: true
140 vdd-l2-l3-supply: true
141 vdd-l4-l5-l6-supply: true
142 vdd-l7-l11-supply: true
143 vdd-l9-l10-supply: true
144 patternProperties:
145 "^vdd-s[1-8]-supply$": true
146
147 - if:
148 properties:
149 compatible:
150 enum:
151 - qcom,pm7325-rpmh-regulators
152 then:
153 properties:
154 vdd-l1-l4-l12-l15-supply: true
155 vdd-l2-l7-supply: true
156 vdd-l6-l9-l10-supply: true
157 vdd-l11-l17-l18-l19-supply: true
158 vdd-l13-supply: true
159 vdd-l14-l16-supply: true
160 patternProperties:
161 "^vdd-l[358]-supply$": true
162 "^vdd-s[1-8]-supply$": true
163
164 - if:
165 properties:
166 compatible:
167 enum:
168 - qcom,pm8005-rpmh-regulators
169 then:
170 patternProperties:
171 "^vdd-s[1-4]-supply$": true
172
173 - if:
174 properties:
175 compatible:
176 enum:
177 - qcom,pm8009-rpmh-regulators
178 - qcom,pm8009-1-rpmh-regulators
179 then:
180 properties:
181 vdd-l5-l6-supply: true
182 patternProperties:
183 "^vdd-l[1-47]-supply$": true
184 "^vdd-s[1-2]-supply$": true
185
186 - if:
187 properties:
188 compatible:
189 enum:
190 - qcom,pm8150-rpmh-regulators
191 - qcom,pmm8155au-rpmh-regulators
192 then:
193 properties:
194 vdd-l1-l8-l11-supply: true
195 vdd-l2-l10-supply: true
196 vdd-l3-l4-l5-l18-supply: true
197 vdd-l6-l9-supply: true
198 vdd-l7-l12-l14-l15-supply: true
199 vdd-l13-l16-l17-supply: true
200 patternProperties:
201 "^vdd-s([1-9]|10)-supply$": true
202
203 - if:
204 properties:
205 compatible:
206 enum:
207 - qcom,pm8150l-rpmh-regulators
208 then:
209 properties:
210 vdd-bob-supply:
211 description: BOB regulator parent supply phandle.
212 vdd-l1-l8-supply: true
213 vdd-l2-l3-supply: true
214 vdd-l4-l5-l6-supply: true
215 vdd-l7-l11-supply: true
216 vdd-l9-l10-supply: true
217 patternProperties:
218 "^vdd-s[1-8]-supply$": true
219
220 - if:
221 properties:
222 compatible:
223 enum:
224 - qcom,pm8350-rpmh-regulators
225 then:
226 properties:
227 vdd-l1-l4-supply: true
228 vdd-l2-l7-supply: true
229 vdd-l3-l5-supply: true
230 vdd-l6-l9-l10-supply: true
231 vdd-l8-supply: true
232 patternProperties:
233 "^vdd-s([1-9]|1[0-2])-supply$": true
234
235 - if:
236 properties:
237 compatible:
238 enum:
239 - qcom,pm8350c-rpmh-regulators
240 then:
241 properties:
242 vdd-bob-supply:
243 description: BOB regulator parent supply phandle.
244 vdd-l1-l12-supply: true
245 vdd-l2-l8-supply: true
246 vdd-l3-l4-l5-l7-l13-supply: true
247 vdd-l6-l9-l11-supply: true
248 vdd-l10-supply: true
249 patternProperties:
250 "^vdd-s([1-9]|10)-supply$": true
251
252 - if:
253 properties:
254 compatible:
255 enum:
256 - qcom,pm8450-rpmh-regulators
257 then:
258 patternProperties:
259 "^vdd-l[1-4]-supply$": true
260 "^vdd-s[1-6]-supply$": true
261
262 - if:
263 properties:
264 compatible:
265 enum:
266 - qcom,pm8998-rpmh-regulators
267 then:
268 properties:
269 vdd-l1-l27-supply: true
270 vdd-l2-l8-l17-supply: true
271 vdd-l3-l11-supply: true
272 vdd-l4-l5-supply: true
273 vdd-l6-supply: true
274 vdd-l7-l12-l14-l15-supply: true
275 vdd-l9-supply: true
276 vdd-l10-l23-l25-supply: true
277 vdd-l13-l19-l21-supply: true
278 vdd-l16-l28-supply: true
279 vdd-l18-l22-supply: true
280 vdd-l20-l24-supply: true
281 vdd-l26-supply: true
282 vin-lvs-1-2-supply: true
283 patternProperties:
284 "^vdd-s([1-9]|1[0-3])-supply$": true
285
286 - if:
287 properties:
288 compatible:
289 enum:
290 - qcom,pmg1110-rpmh-regulators
291 then:
292 properties:
293 vdd-s1-supply: true
294
295 - if:
296 properties:
297 compatible:
298 enum:
299 - qcom,pmi8998-rpmh-regulators
300 then:
301 properties:
302 vdd-bob-supply:
303 description: BOB regulator parent supply phandle.
304
305 - if:
306 properties:
307 compatible:
308 enum:
309 - qcom,pmr735a-rpmh-regulators
310 then:
311 properties:
312 vdd-l1-l2-supply: true
313 vdd-l3-supply: true
314 vdd-l4-supply: true
315 vdd-l5-l6-supply: true
316 vdd-l7-bob-supply: true
317 patternProperties:
318 "^vdd-s[1-3]-supply$": true
319
320 - if:
321 properties:
322 compatible:
323 enum:
324 - qcom,pmx55-rpmh-regulators
325 then:
326 properties:
327 vdd-l1-l2-supply: true
328 vdd-l3-l9-supply: true
329 vdd-l4-l12-supply: true
330 vdd-l5-l6-supply: true
331 vdd-l7-l8-supply: true
332 vdd-l10-l11-l13-supply: true
333 patternProperties:
334 "^vdd-l1[4-6]-supply$": true
335 "^vdd-s[1-7]-supply$": true
336
337 - if:
338 properties:
339 compatible:
340 enum:
341 - qcom,pmx65-rpmh-regulators
342 then:
343 properties:
344 vdd-l2-l18-supply: true
345 vdd-l5-l6-l16-supply: true
346 vdd-l8-l9-supply: true
347 vdd-l11-l13-supply: true
348 patternProperties:
349 "^vdd-l[1347]-supply$": true
350 "^vdd-l1[0245789]-supply$": true
351 "^vdd-l2[01]-supply$": true
352 "^vdd-s[1-8]-supply$": true
353
354 unevaluatedProperties: false
355
356 examples:
357 - |
358 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
359
360 pm8998-rpmh-regulators {
361 compatible = "qcom,pm8998-rpmh-regulators";
362 qcom,pmic-id = "a";
363
364 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
365
366 smps2 {
367 regulator-min-microvolt = <1100000>;
368 regulator-max-microvolt = <1100000>;
369 };
370
371 ldo7 {
372 regulator-min-microvolt = <1800000>;
373 regulator-max-microvolt = <1800000>;
374 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
375 regulator-allowed-modes =
376 <RPMH_REGULATOR_MODE_LPM
377 RPMH_REGULATOR_MODE_HPM>;
378 regulator-allow-set-load;
379 };
380
381 lvs1 {
382 regulator-min-microvolt = <1800000>;
383 regulator-max-microvolt = <1800000>;
384 };
385 };
386
387 pmi8998-rpmh-regulators {
388 compatible = "qcom,pmi8998-rpmh-regulators";
389 qcom,pmic-id = "b";
390
391 bob {
392 regulator-min-microvolt = <3312000>;
393 regulator-max-microvolt = <3600000>;
394 regulator-allowed-modes =
395 <RPMH_REGULATOR_MODE_AUTO
396 RPMH_REGULATOR_MODE_HPM>;
397 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
398 };
399 };
400 ...
Cache object: 4adf7b36d8efe6be0f55158eb1f491dd
|