1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Technologies, Inc. RPMh Regulators
10 - Bjorn Andersson <bjorn.andersson@linaro.org>
11 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
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.
25 =======================
26 Required Node Structure
27 =======================
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
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
53 For PMR735A, smps1 - smps3, ldo1 - ldo7
54 For PMX55, smps1 - smps7, ldo1 - ldo16
55 For PMX65, smps1 - smps8, ldo1 - ldo21
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
87 RPMh resource name suffix used for the regulators found
89 $ref: /schemas/types.yaml#/definitions/string
90 enum: [a, b, c, d, e, f, g, h, k]
92 qcom,always-wait-for-ack:
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
101 description: Input supply phandle of flash.
104 description: Input supply phandle of rgb.
108 $ref: "regulator.yaml#"
109 description: BOB regulator node.
111 regulator-allow-set-load: ["regulator-allowed-modes"]
114 "^(smps|ldo|lvs|bob)[0-9]+$":
116 $ref: "regulator.yaml#"
117 description: smps/ldo regulator nodes(s).
119 regulator-allow-set-load: ["regulator-allowed-modes"]
130 - qcom,pm6150-rpmh-regulators
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
139 "^vdd-l[169]-supply$": true
140 "^vdd-s[1-5]-supply$": true
146 - qcom,pm6150l-rpmh-regulators
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
157 "^vdd-s[1-8]-supply$": true
163 - qcom,pm660-rpmh-regulators
166 vdd-l1-l6-l7-supply: true
167 vdd-l2-l3-supply: true
169 vdd-l8-l9-l10-l11-l12-l13-l14-supply: true
170 vdd-l15-l16-l17-l18-l19-supply: true
172 "^vdd-s[1-6]-supply$": true
178 - qcom,pm660l-rpmh-regulators
182 description: BOB regulator parent supply phandle.
183 vdd-l1-l9-l10-supply: true
185 vdd-l3-l5-l7-l8-supply: true
186 vdd-l4-l6-supply: true
187 vdd-s3-s4-supply: true
189 "^vdd-s[125]-supply$": true
195 - qcom,pm7325-rpmh-regulators
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
203 vdd-l14-l16-supply: true
205 "^vdd-l[358]-supply$": true
206 "^vdd-s[1-8]-supply$": true
212 - qcom,pm8005-rpmh-regulators
215 "^vdd-s[1-4]-supply$": true
221 - qcom,pm8009-rpmh-regulators
222 - qcom,pm8009-1-rpmh-regulators
225 vdd-l5-l6-supply: true
227 "^vdd-l[1-47]-supply$": true
228 "^vdd-s[1-2]-supply$": true
234 - qcom,pm8150-rpmh-regulators
235 - qcom,pmm8155au-rpmh-regulators
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
245 "^vdd-s([1-9]|10)-supply$": true
251 - qcom,pm8150l-rpmh-regulators
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
262 "^vdd-s[1-8]-supply$": true
268 - qcom,pm8350-rpmh-regulators
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
277 "^vdd-s([1-9]|1[0-2])-supply$": true
283 - qcom,pm8350c-rpmh-regulators
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
294 "^vdd-s([1-9]|10)-supply$": true
300 - qcom,pm8450-rpmh-regulators
303 "^vdd-l[1-4]-supply$": true
304 "^vdd-s[1-6]-supply$": true
310 - qcom,pm8550-rpmh-regulators
311 - qcom,pm8550ve-rpmh-regulators
312 - qcom,pm8550vs-rpmh-regulators
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
320 "^vdd-l([1-4]|1[0-7])-supply$": true
321 "^vdd-s[1-6]-supply$": true
322 "^vdd-bob[1-2]-supply$": true
328 - qcom,pm8998-rpmh-regulators
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
336 vdd-l7-l12-l14-l15-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
344 vin-lvs-1-2-supply: true
346 "^vdd-s([1-9]|1[0-3])-supply$": true
352 - qcom,pmg1110-rpmh-regulators
361 - qcom,pmi8998-rpmh-regulators
365 description: BOB regulator parent supply phandle.
371 - qcom,pmr735a-rpmh-regulators
374 vdd-l1-l2-supply: true
377 vdd-l5-l6-supply: true
378 vdd-l7-bob-supply: true
380 "^vdd-s[1-3]-supply$": true
386 - qcom,pmx55-rpmh-regulators
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
396 "^vdd-l1[4-6]-supply$": true
397 "^vdd-s[1-7]-supply$": true
403 - qcom,pmx65-rpmh-regulators
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
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
416 unevaluatedProperties: false
420 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
422 pm8998-rpmh-regulators {
423 compatible = "qcom,pm8998-rpmh-regulators";
426 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
429 regulator-min-microvolt = <1100000>;
430 regulator-max-microvolt = <1100000>;
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;
443 regulator-min-microvolt = <1800000>;
444 regulator-max-microvolt = <1800000>;
448 pmi8998-rpmh-regulators {
449 compatible = "qcom,pmi8998-rpmh-regulators";
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>;