Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Qualcomm Technologies, Inc. RPMh Regulators
8
9maintainers:
10 - Bjorn Andersson <bjorn.andersson@linaro.org>
11 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
12
13description: |
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 PM660, smps1 - smps6, ldo1 - ldo3, ldo5 - ldo19
41 For PM660L, smps1 - smps3, smps5, ldo1 - ldo8, bob
42 For PM7325, smps1 - smps8, ldo1 - ldo19
43 For PM8005, smps1 - smps4
44 For PM8009, smps1 - smps2, ldo1 - ldo7
45 For PM8150, smps1 - smps10, ldo1 - ldo18
46 For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
47 For PM8350, smps1 - smps12, ldo1 - ldo10
48 For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
49 For PM8450, smps1 - smps6, ldo1 - ldo4
50 For PM8550, smps1 - smps6, ldo1 - ldo17, bob1 - bob2
51 For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
52 For PMI8998, bob
53 For PMR735A, smps1 - smps3, ldo1 - ldo7
54 For PMX55, smps1 - smps7, ldo1 - ldo16
55 For PMX65, smps1 - smps8, ldo1 - ldo21
56
57properties:
58 compatible:
59 enum:
60 - qcom,pm6150-rpmh-regulators
61 - qcom,pm6150l-rpmh-regulators
62 - qcom,pm6350-rpmh-regulators
63 - qcom,pm660-rpmh-regulators
64 - qcom,pm660l-rpmh-regulators
65 - qcom,pm7325-rpmh-regulators
66 - qcom,pm8005-rpmh-regulators
67 - qcom,pm8009-rpmh-regulators
68 - qcom,pm8009-1-rpmh-regulators
69 - qcom,pm8150-rpmh-regulators
70 - qcom,pm8150l-rpmh-regulators
71 - qcom,pm8350-rpmh-regulators
72 - qcom,pm8350c-rpmh-regulators
73 - qcom,pm8450-rpmh-regulators
74 - qcom,pm8550-rpmh-regulators
75 - qcom,pm8550ve-rpmh-regulators
76 - qcom,pm8550vs-rpmh-regulators
77 - qcom,pm8998-rpmh-regulators
78 - qcom,pmg1110-rpmh-regulators
79 - qcom,pmi8998-rpmh-regulators
80 - qcom,pmm8155au-rpmh-regulators
81 - qcom,pmr735a-rpmh-regulators
82 - qcom,pmx55-rpmh-regulators
83 - qcom,pmx65-rpmh-regulators
84
85 qcom,pmic-id:
86 description: |
87 RPMh resource name suffix used for the regulators found
88 on this PMIC.
89 $ref: /schemas/types.yaml#/definitions/string
90 enum: [a, b, c, d, e, f, g, h, k]
91
92 qcom,always-wait-for-ack:
93 description: |
94 Boolean flag which indicates that the application processor
95 must wait for an ACK or a NACK from RPMh for every request
96 sent for this regulator including those which are for a
97 strictly lower power state.
98 $ref: /schemas/types.yaml#/definitions/flag
99
100 vdd-flash-supply:
101 description: Input supply phandle of flash.
102
103 vdd-rgb-supply:
104 description: Input supply phandle of rgb.
105
106 bob:
107 type: object
108 $ref: "regulator.yaml#"
109 description: BOB regulator node.
110 dependencies:
111 regulator-allow-set-load: ["regulator-allowed-modes"]
112
113patternProperties:
114 "^(smps|ldo|lvs|bob)[0-9]+$":
115 type: object
116 $ref: "regulator.yaml#"
117 description: smps/ldo regulator nodes(s).
118 dependencies:
119 regulator-allow-set-load: ["regulator-allowed-modes"]
120
121required:
122 - compatible
123 - qcom,pmic-id
124
125allOf:
126 - if:
127 properties:
128 compatible:
129 enum:
130 - qcom,pm6150-rpmh-regulators
131 then:
132 properties:
133 vdd-l2-l3-supply: true
134 vdd-l4-l7-l8-supply: true
135 vdd-l5-l16-l17-l18-l19-supply: true
136 vdd-l10-l14-l15-supply: true
137 vdd-l11-l12-l13-supply: true
138 patternProperties:
139 "^vdd-l[169]-supply$": true
140 "^vdd-s[1-5]-supply$": true
141
142 - if:
143 properties:
144 compatible:
145 enum:
146 - qcom,pm6150l-rpmh-regulators
147 then:
148 properties:
149 vdd-bob-supply:
150 description: BOB regulator parent supply phandle.
151 vdd-l1-l8-supply: true
152 vdd-l2-l3-supply: true
153 vdd-l4-l5-l6-supply: true
154 vdd-l7-l11-supply: true
155 vdd-l9-l10-supply: true
156 patternProperties:
157 "^vdd-s[1-8]-supply$": true
158
159 - if:
160 properties:
161 compatible:
162 enum:
163 - qcom,pm660-rpmh-regulators
164 then:
165 properties:
166 vdd-l1-l6-l7-supply: true
167 vdd-l2-l3-supply: true
168 vdd-l5-supply: true
169 vdd-l8-l9-l10-l11-l12-l13-l14-supply: true
170 vdd-l15-l16-l17-l18-l19-supply: true
171 patternProperties:
172 "^vdd-s[1-6]-supply$": true
173
174 - if:
175 properties:
176 compatible:
177 enum:
178 - qcom,pm660l-rpmh-regulators
179 then:
180 properties:
181 vdd-bob-supply:
182 description: BOB regulator parent supply phandle.
183 vdd-l1-l9-l10-supply: true
184 vdd-l2-supply: true
185 vdd-l3-l5-l7-l8-supply: true
186 vdd-l4-l6-supply: true
187 vdd-s3-s4-supply: true
188 patternProperties:
189 "^vdd-s[125]-supply$": true
190
191 - if:
192 properties:
193 compatible:
194 enum:
195 - qcom,pm7325-rpmh-regulators
196 then:
197 properties:
198 vdd-l1-l4-l12-l15-supply: true
199 vdd-l2-l7-supply: true
200 vdd-l6-l9-l10-supply: true
201 vdd-l11-l17-l18-l19-supply: true
202 vdd-l13-supply: true
203 vdd-l14-l16-supply: true
204 patternProperties:
205 "^vdd-l[358]-supply$": true
206 "^vdd-s[1-8]-supply$": true
207
208 - if:
209 properties:
210 compatible:
211 enum:
212 - qcom,pm8005-rpmh-regulators
213 then:
214 patternProperties:
215 "^vdd-s[1-4]-supply$": true
216
217 - if:
218 properties:
219 compatible:
220 enum:
221 - qcom,pm8009-rpmh-regulators
222 - qcom,pm8009-1-rpmh-regulators
223 then:
224 properties:
225 vdd-l5-l6-supply: true
226 patternProperties:
227 "^vdd-l[1-47]-supply$": true
228 "^vdd-s[1-2]-supply$": true
229
230 - if:
231 properties:
232 compatible:
233 enum:
234 - qcom,pm8150-rpmh-regulators
235 - qcom,pmm8155au-rpmh-regulators
236 then:
237 properties:
238 vdd-l1-l8-l11-supply: true
239 vdd-l2-l10-supply: true
240 vdd-l3-l4-l5-l18-supply: true
241 vdd-l6-l9-supply: true
242 vdd-l7-l12-l14-l15-supply: true
243 vdd-l13-l16-l17-supply: true
244 patternProperties:
245 "^vdd-s([1-9]|10)-supply$": true
246
247 - if:
248 properties:
249 compatible:
250 enum:
251 - qcom,pm8150l-rpmh-regulators
252 then:
253 properties:
254 vdd-bob-supply:
255 description: BOB regulator parent supply phandle.
256 vdd-l1-l8-supply: true
257 vdd-l2-l3-supply: true
258 vdd-l4-l5-l6-supply: true
259 vdd-l7-l11-supply: true
260 vdd-l9-l10-supply: true
261 patternProperties:
262 "^vdd-s[1-8]-supply$": true
263
264 - if:
265 properties:
266 compatible:
267 enum:
268 - qcom,pm8350-rpmh-regulators
269 then:
270 properties:
271 vdd-l1-l4-supply: true
272 vdd-l2-l7-supply: true
273 vdd-l3-l5-supply: true
274 vdd-l6-l9-l10-supply: true
275 vdd-l8-supply: true
276 patternProperties:
277 "^vdd-s([1-9]|1[0-2])-supply$": true
278
279 - if:
280 properties:
281 compatible:
282 enum:
283 - qcom,pm8350c-rpmh-regulators
284 then:
285 properties:
286 vdd-bob-supply:
287 description: BOB regulator parent supply phandle.
288 vdd-l1-l12-supply: true
289 vdd-l2-l8-supply: true
290 vdd-l3-l4-l5-l7-l13-supply: true
291 vdd-l6-l9-l11-supply: true
292 vdd-l10-supply: true
293 patternProperties:
294 "^vdd-s([1-9]|10)-supply$": true
295
296 - if:
297 properties:
298 compatible:
299 enum:
300 - qcom,pm8450-rpmh-regulators
301 then:
302 patternProperties:
303 "^vdd-l[1-4]-supply$": true
304 "^vdd-s[1-6]-supply$": true
305
306 - if:
307 properties:
308 compatible:
309 enum:
310 - qcom,pm8550-rpmh-regulators
311 - qcom,pm8550ve-rpmh-regulators
312 - qcom,pm8550vs-rpmh-regulators
313 then:
314 properties:
315 vdd-l2-l13-l14-supply: true
316 vdd-l5-l16-supply: true
317 vdd-l6-l7-supply: true
318 vdd-l8-l9-supply: true
319 patternProperties:
320 "^vdd-l([1-4]|1[0-7])-supply$": true
321 "^vdd-s[1-6]-supply$": true
322 "^vdd-bob[1-2]-supply$": true
323
324 - if:
325 properties:
326 compatible:
327 enum:
328 - qcom,pm8998-rpmh-regulators
329 then:
330 properties:
331 vdd-l1-l27-supply: true
332 vdd-l2-l8-l17-supply: true
333 vdd-l3-l11-supply: true
334 vdd-l4-l5-supply: true
335 vdd-l6-supply: true
336 vdd-l7-l12-l14-l15-supply: true
337 vdd-l9-supply: true
338 vdd-l10-l23-l25-supply: true
339 vdd-l13-l19-l21-supply: true
340 vdd-l16-l28-supply: true
341 vdd-l18-l22-supply: true
342 vdd-l20-l24-supply: true
343 vdd-l26-supply: true
344 vin-lvs-1-2-supply: true
345 patternProperties:
346 "^vdd-s([1-9]|1[0-3])-supply$": true
347
348 - if:
349 properties:
350 compatible:
351 enum:
352 - qcom,pmg1110-rpmh-regulators
353 then:
354 properties:
355 vdd-s1-supply: true
356
357 - if:
358 properties:
359 compatible:
360 enum:
361 - qcom,pmi8998-rpmh-regulators
362 then:
363 properties:
364 vdd-bob-supply:
365 description: BOB regulator parent supply phandle.
366
367 - if:
368 properties:
369 compatible:
370 enum:
371 - qcom,pmr735a-rpmh-regulators
372 then:
373 properties:
374 vdd-l1-l2-supply: true
375 vdd-l3-supply: true
376 vdd-l4-supply: true
377 vdd-l5-l6-supply: true
378 vdd-l7-bob-supply: true
379 patternProperties:
380 "^vdd-s[1-3]-supply$": true
381
382 - if:
383 properties:
384 compatible:
385 enum:
386 - qcom,pmx55-rpmh-regulators
387 then:
388 properties:
389 vdd-l1-l2-supply: true
390 vdd-l3-l9-supply: true
391 vdd-l4-l12-supply: true
392 vdd-l5-l6-supply: true
393 vdd-l7-l8-supply: true
394 vdd-l10-l11-l13-supply: true
395 patternProperties:
396 "^vdd-l1[4-6]-supply$": true
397 "^vdd-s[1-7]-supply$": true
398
399 - if:
400 properties:
401 compatible:
402 enum:
403 - qcom,pmx65-rpmh-regulators
404 then:
405 properties:
406 vdd-l2-l18-supply: true
407 vdd-l5-l6-l16-supply: true
408 vdd-l8-l9-supply: true
409 vdd-l11-l13-supply: true
410 patternProperties:
411 "^vdd-l[1347]-supply$": true
412 "^vdd-l1[0245789]-supply$": true
413 "^vdd-l2[01]-supply$": true
414 "^vdd-s[1-8]-supply$": true
415
416unevaluatedProperties: false
417
418examples:
419 - |
420 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
421
422 pm8998-rpmh-regulators {
423 compatible = "qcom,pm8998-rpmh-regulators";
424 qcom,pmic-id = "a";
425
426 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
427
428 smps2 {
429 regulator-min-microvolt = <1100000>;
430 regulator-max-microvolt = <1100000>;
431 };
432
433 ldo7 {
434 regulator-min-microvolt = <1800000>;
435 regulator-max-microvolt = <1800000>;
436 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
438 RPMH_REGULATOR_MODE_HPM>;
439 regulator-allow-set-load;
440 };
441
442 lvs1 {
443 regulator-min-microvolt = <1800000>;
444 regulator-max-microvolt = <1800000>;
445 };
446 };
447
448 pmi8998-rpmh-regulators {
449 compatible = "qcom,pmi8998-rpmh-regulators";
450 qcom,pmic-id = "b";
451
452 bob {
453 regulator-min-microvolt = <3312000>;
454 regulator-max-microvolt = <3600000>;
455 regulator-allowed-modes = <RPMH_REGULATOR_MODE_AUTO
456 RPMH_REGULATOR_MODE_HPM>;
457 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
458 };
459 };
460...