File Index
Files and directories
Sign in
FILE

qcom,rpmh-regulator.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml YAML
  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 <krzk@kernel.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 PM7550, smps1 - smps6, ldo1 - ldo23, bob
 44      For PM8005, smps1 - smps4
 45      For PM8009, smps1 - smps2, ldo1 - ldo7
 46      For PM8010, ldo1 - ldo7
 47      For PM8150, smps1 - smps10, ldo1 - ldo18
 48      For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
 49      For PM8350, smps1 - smps12, ldo1 - ldo10
 50      For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
 51      For PM8450, smps1 - smps6, ldo1 - ldo4
 52      For PM8550, smps1 - smps6, ldo1 - ldo17, bob1 - bob2
 53      For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
 54      For PMH0101, ldo1 - ldo18, bob1 - bob2
 55      For PMH0104, smps1 - smps4
 56      For PMH0110, smps1 - smps10, ldo1 - ldo4
 57      For PMI8998, bob
 58      For PMC8380, smps1 - smps8, ldo1 - lodo3
 59      For PMCX0102, smps1 - smps10, ldo1 - ldo4
 60      For PMR735A, smps1 - smps3, ldo1 - ldo7
 61      For PMR735B, ldo1 - ldo12
 62      For PMR735D, ldo1 - ldo7
 63      For PMX55, smps1 - smps7, ldo1 - ldo16
 64      For PMX65, smps1 - smps8, ldo1 - ldo21
 65      For PMX75, smps1 - smps10, ldo1 - ldo21
 66
 67properties:
 68  compatible:
 69    enum:
 70      - qcom,pm6150-rpmh-regulators
 71      - qcom,pm6150l-rpmh-regulators
 72      - qcom,pm6350-rpmh-regulators
 73      - qcom,pm660-rpmh-regulators
 74      - qcom,pm660l-rpmh-regulators
 75      - qcom,pm7325-rpmh-regulators
 76      - qcom,pm7550-rpmh-regulators
 77      - qcom,pm8005-rpmh-regulators
 78      - qcom,pm8009-rpmh-regulators
 79      - qcom,pm8009-1-rpmh-regulators
 80      - qcom,pm8010-rpmh-regulators
 81      - qcom,pm8150-rpmh-regulators
 82      - qcom,pm8150l-rpmh-regulators
 83      - qcom,pm8350-rpmh-regulators
 84      - qcom,pm8350c-rpmh-regulators
 85      - qcom,pm8450-rpmh-regulators
 86      - qcom,pm8550-rpmh-regulators
 87      - qcom,pm8550ve-rpmh-regulators
 88      - qcom,pm8550vs-rpmh-regulators
 89      - qcom,pm8998-rpmh-regulators
 90      - qcom,pmc8180-rpmh-regulators
 91      - qcom,pmc8180c-rpmh-regulators
 92      - qcom,pmc8380-rpmh-regulators
 93      - qcom,pmcx0102-rpmh-regulators
 94      - qcom,pmg1110-rpmh-regulators
 95      - qcom,pmh0101-rpmh-regulators
 96      - qcom,pmh0104-rpmh-regulators
 97      - qcom,pmh0110-rpmh-regulators
 98      - qcom,pmi8998-rpmh-regulators
 99      - qcom,pmm8155au-rpmh-regulators
100      - qcom,pmm8654au-rpmh-regulators
101      - qcom,pmr735a-rpmh-regulators
102      - qcom,pmr735b-rpmh-regulators
103      - qcom,pmr735d-rpmh-regulators
104      - qcom,pmx55-rpmh-regulators
105      - qcom,pmx65-rpmh-regulators
106      - qcom,pmx75-rpmh-regulators
107
108  qcom,pmic-id:
109    description: |
110        RPMh resource name suffix used for the regulators found
111        on this PMIC.
112    $ref: /schemas/types.yaml#/definitions/string
113    pattern: "^[a-n]|[A-N]_E[0-3]+$"
114
115  qcom,always-wait-for-ack:
116    description: |
117        Boolean flag which indicates that the application processor
118        must wait for an ACK or a NACK from RPMh for every request
119        sent for this regulator including those which are for a
120        strictly lower power state.
121    $ref: /schemas/types.yaml#/definitions/flag
122
123  vdd-flash-supply:
124    description: Input supply phandle of flash.
125
126  vdd-rgb-supply:
127    description: Input supply phandle of rgb.
128
129  bob:
130    type: object
131    $ref: regulator.yaml#
132    unevaluatedProperties: false
133    description: BOB regulator node.
134    dependencies:
135      regulator-allow-set-load: [ regulator-allowed-modes ]
136
137patternProperties:
138  "^(smps|ldo|lvs|bob)[0-9]+$":
139    type: object
140    $ref: regulator.yaml#
141    unevaluatedProperties: false
142    description: smps/ldo regulator nodes(s).
143    dependencies:
144      regulator-allow-set-load: [ regulator-allowed-modes ]
145
146required:
147  - compatible
148  - qcom,pmic-id
149
150allOf:
151  - if:
152      properties:
153        compatible:
154          enum:
155            - qcom,pm6150-rpmh-regulators
156    then:
157      properties:
158        vdd-l2-l3-supply: true
159        vdd-l4-l7-l8-supply: true
160        vdd-l5-l16-l17-l18-l19-supply: true
161        vdd-l10-l14-l15-supply: true
162        vdd-l11-l12-l13-supply: true
163      patternProperties:
164        "^vdd-l[169]-supply$": true
165        "^vdd-s[1-5]-supply$": true
166
167  - if:
168      properties:
169        compatible:
170          enum:
171            - qcom,pm6150l-rpmh-regulators
172            - qcom,pm8150l-rpmh-regulators
173            - qcom,pmc8180c-rpmh-regulators
174    then:
175      properties:
176        vdd-bob-supply:
177          description: BOB regulator parent supply phandle.
178        vdd-l1-l8-supply: true
179        vdd-l2-l3-supply: true
180        vdd-l4-l5-l6-supply: true
181        vdd-l7-l11-supply: true
182        vdd-l9-l10-supply: true
183      patternProperties:
184        "^vdd-s[1-8]-supply$": true
185
186  - if:
187      properties:
188        compatible:
189          enum:
190            - qcom,pm660-rpmh-regulators
191    then:
192      properties:
193        vdd-l1-l6-l7-supply: true
194        vdd-l2-l3-supply: true
195        vdd-l5-supply: true
196        vdd-l8-l9-l10-l11-l12-l13-l14-supply: true
197        vdd-l15-l16-l17-l18-l19-supply: true
198      patternProperties:
199        "^vdd-s[1-6]-supply$": true
200
201  - if:
202      properties:
203        compatible:
204          enum:
205            - qcom,pm660l-rpmh-regulators
206    then:
207      properties:
208        vdd-bob-supply:
209          description: BOB regulator parent supply phandle.
210        vdd-l1-l9-l10-supply: true
211        vdd-l2-supply: true
212        vdd-l3-l5-l7-l8-supply: true
213        vdd-l4-l6-supply: true
214        vdd-s3-s4-supply: true
215      patternProperties:
216        "^vdd-s[125]-supply$": true
217
218  - if:
219      properties:
220        compatible:
221          enum:
222            - qcom,pm7325-rpmh-regulators
223    then:
224      properties:
225        vdd-l1-l4-l12-l15-supply: true
226        vdd-l2-l7-supply: true
227        vdd-l6-l9-l10-supply: true
228        vdd-l11-l17-l18-l19-supply: true
229        vdd-l13-supply: true
230        vdd-l14-l16-supply: true
231      patternProperties:
232        "^vdd-l[358]-supply$": true
233        "^vdd-s[1-8]-supply$": true
234
235  - if:
236      properties:
237        compatible:
238          enum:
239            - qcom,pm7550-rpmh-regulators
240    then:
241      properties:
242        vdd-bob-supply:
243          description: BOB regulator parent supply phandle.
244        vdd-l2-l3-supply: true
245        vdd-l4-l5-supply: true
246        vdd-l9-l10-supply: true
247        vdd-l12-l14-supply: true
248        vdd-l13-l16-supply: true
249        vdd-l15-l17-l18-l19-l20-l21-l22-l23-supply: true
250      patternProperties:
251        "^vdd-l(1|[6-8]|11)-supply$": true
252        "^vdd-s[1-6]-supply$": true
253
254  - if:
255      properties:
256        compatible:
257          enum:
258            - qcom,pm8005-rpmh-regulators
259            - qcom,pmh0104-rpmh-regulators
260    then:
261      patternProperties:
262        "^vdd-s[1-4]-supply$": true
263
264  - if:
265      properties:
266        compatible:
267          enum:
268            - qcom,pm8009-rpmh-regulators
269            - qcom,pm8009-1-rpmh-regulators
270    then:
271      properties:
272        vdd-l5-l6-supply: true
273      patternProperties:
274        "^vdd-l[1-47]-supply$": true
275        "^vdd-s[1-2]-supply$": true
276
277  - if:
278      properties:
279        compatible:
280          enum:
281            - qcom,pm8010-rpmh-regulators
282    then:
283      properties:
284        vdd-l1-l2-supply: true
285        vdd-l3-l4-supply: true
286      patternProperties:
287        "^vdd-l[5-7]-supply$": true
288
289  - if:
290      properties:
291        compatible:
292          enum:
293            - qcom,pm8150-rpmh-regulators
294            - qcom,pmc8180-rpmh-regulators
295            - qcom,pmm8155au-rpmh-regulators
296    then:
297      properties:
298        vdd-l1-l8-l11-supply: true
299        vdd-l2-l10-supply: true
300        vdd-l3-l4-l5-l18-supply: true
301        vdd-l6-l9-supply: true
302        vdd-l7-l12-l14-l15-supply: true
303        vdd-l13-l16-l17-supply: true
304      patternProperties:
305        "^vdd-s([1-9]|10)-supply$": true
306
307  - if:
308      properties:
309        compatible:
310          enum:
311            - qcom,pmm8654au-rpmh-regulators
312    then:
313      properties:
314        vdd-l1-supply: true
315        vdd-l2-l3-supply: true
316        vdd-l4-supply: true
317        vdd-l5-supply: true
318        vdd-l6-l7-supply: true
319        vdd-l8-l9-supply: true
320      patternProperties:
321        "^vdd-s[1-9]-supply$": true
322
323  - if:
324      properties:
325        compatible:
326          enum:
327            - qcom,pm8350-rpmh-regulators
328    then:
329      properties:
330        vdd-l1-l4-supply: true
331        vdd-l2-l7-supply: true
332        vdd-l3-l5-supply: true
333        vdd-l6-l9-l10-supply: true
334        vdd-l8-supply: true
335      patternProperties:
336        "^vdd-s([1-9]|1[0-2])-supply$": true
337
338  - if:
339      properties:
340        compatible:
341          enum:
342            - qcom,pm8350c-rpmh-regulators
343    then:
344      properties:
345        vdd-bob-supply:
346          description: BOB regulator parent supply phandle.
347        vdd-l1-l12-supply: true
348        vdd-l2-l8-supply: true
349        vdd-l3-l4-l5-l7-l13-supply: true
350        vdd-l6-l9-l11-supply: true
351        vdd-l10-supply: true
352      patternProperties:
353        "^vdd-s([1-9]|10)-supply$": true
354
355  - if:
356      properties:
357        compatible:
358          enum:
359            - qcom,pm8450-rpmh-regulators
360    then:
361      patternProperties:
362        "^vdd-l[1-4]-supply$": true
363        "^vdd-s[1-6]-supply$": true
364
365  - if:
366      properties:
367        compatible:
368          enum:
369            - qcom,pm8550-rpmh-regulators
370    then:
371      properties:
372        vdd-l1-l4-l10-supply: true
373        vdd-l2-l13-l14-supply: true
374        vdd-l5-l16-supply: true
375        vdd-l6-l7-supply: true
376        vdd-l8-l9-supply: true
377      patternProperties:
378        "^vdd-l(3|1[1-7])-supply$": true
379        "^vdd-s[1-6]-supply$": true
380        "^vdd-bob[1-2]-supply$": true
381
382  - if:
383      properties:
384        compatible:
385          enum:
386            - qcom,pm8550vs-rpmh-regulators
387    then:
388      patternProperties:
389        "^vdd-l[1-3]-supply$": true
390        "^vdd-s[1-6]-supply$": true
391
392  - if:
393      properties:
394        compatible:
395          enum:
396            - qcom,pm8998-rpmh-regulators
397    then:
398      properties:
399        vdd-l1-l27-supply: true
400        vdd-l2-l8-l17-supply: true
401        vdd-l3-l11-supply: true
402        vdd-l4-l5-supply: true
403        vdd-l6-supply: true
404        vdd-l7-l12-l14-l15-supply: true
405        vdd-l9-supply: true
406        vdd-l10-l23-l25-supply: true
407        vdd-l13-l19-l21-supply: true
408        vdd-l16-l28-supply: true
409        vdd-l18-l22-supply: true
410        vdd-l20-l24-supply: true
411        vdd-l26-supply: true
412        vin-lvs-1-2-supply: true
413      patternProperties:
414        "^vdd-s([1-9]|1[0-3])-supply$": true
415
416  - if:
417      properties:
418        compatible:
419          enum:
420            - qcom,pmc8380-rpmh-regulators
421            - qcom,pm8550ve-rpmh-regulators
422    then:
423      patternProperties:
424        "^vdd-l[1-3]-supply$": true
425        "^vdd-s[1-8]-supply$": true
426
427  - if:
428      properties:
429        compatible:
430          enum:
431            - qcom,pmg1110-rpmh-regulators
432    then:
433      properties:
434        vdd-s1-supply: true
435
436  - if:
437      properties:
438        compatible:
439          enum:
440            - qcom,pmh0101-rpmh-regulators
441    then:
442      properties:
443        vdd-l1-l4-l10-supply: true
444        vdd-l2-l13-l14-supply: true
445        vdd-l3-l11-supply: true
446        vdd-l5-l16-supply: true
447        vdd-l6-l7-supply: true
448        vdd-l8-l9-supply: true
449      patternProperties:
450        "^vdd-l(1[2578])-supply$": true
451        "^vdd-bob[1-2]-supply$": true
452
453  - if:
454      properties:
455        compatible:
456          enum:
457            - qcom,pmcx0102-rpmh-regulators
458            - qcom,pmh0110-rpmh-regulators
459    then:
460      patternProperties:
461        "^vdd-l[1-4]-supply$": true
462        "^vdd-s([1-9]|10)-supply$": true
463
464  - if:
465      properties:
466        compatible:
467          enum:
468            - qcom,pmi8998-rpmh-regulators
469    then:
470      properties:
471        vdd-bob-supply:
472          description: BOB regulator parent supply phandle.
473
474  - if:
475      properties:
476        compatible:
477          enum:
478            - qcom,pmr735a-rpmh-regulators
479    then:
480      properties:
481        vdd-l1-l2-supply: true
482        vdd-l3-supply: true
483        vdd-l4-supply: true
484        vdd-l5-l6-supply: true
485        vdd-l7-bob-supply: true
486      patternProperties:
487        "^vdd-s[1-3]-supply$": true
488
489  - if:
490      properties:
491        compatible:
492          enum:
493            - qcom,pmr735b-rpmh-regulators
494    then:
495      properties:
496        vdd-l1-l2-supply: true
497        vdd-l7-l8-supply: true
498      patternProperties:
499        "^vdd-l([3-6]|9|1[0-2])-supply$": true
500
501  - if:
502      properties:
503        compatible:
504          enum:
505            - qcom,pmr735d-rpmh-regulators
506    then:
507      properties:
508        vdd-l1-l2-l5-supply: true
509        vdd-l3-l4-supply: true
510      patternProperties:
511        "^vdd-l[6-7]-supply$": true
512
513  - if:
514      properties:
515        compatible:
516          enum:
517            - qcom,pmx55-rpmh-regulators
518    then:
519      properties:
520        vdd-l1-l2-supply: true
521        vdd-l3-l9-supply: true
522        vdd-l4-l12-supply: true
523        vdd-l5-l6-supply: true
524        vdd-l7-l8-supply: true
525        vdd-l10-l11-l13-supply: true
526      patternProperties:
527        "^vdd-l1[4-6]-supply$": true
528        "^vdd-s[1-7]-supply$": true
529
530  - if:
531      properties:
532        compatible:
533          enum:
534            - qcom,pmx65-rpmh-regulators
535    then:
536      properties:
537        vdd-l2-l18-supply: true
538        vdd-l5-l6-l16-supply: true
539        vdd-l8-l9-supply: true
540        vdd-l11-l13-supply: true
541      patternProperties:
542        "^vdd-l[1347]-supply$": true
543        "^vdd-l1[024579]-supply$": true
544        "^vdd-l2[01]-supply$": true
545        "^vdd-s[1-8]-supply$": true
546
547  - if:
548      properties:
549        compatible:
550          enum:
551            - qcom,pmx75-rpmh-regulators
552    then:
553      properties:
554        vdd-l2-l18-supply: true
555        vdd-l4-l16-supply: true
556        vdd-l5-l6-supply: true
557        vdd-l8-l9-supply: true
558        vdd-l11-l13-supply: true
559        vdd-l20-l21-supply: true
560      patternProperties:
561        "^vdd-l[137]-supply$": true
562        "^vdd-l1[024579]-supply$": true
563        "^vdd-s([1-9]|10)-supply$": true
564
565unevaluatedProperties: false
566
567examples:
568  - |
569    #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
570
571    pm8998-rpmh-regulators {
572        compatible = "qcom,pm8998-rpmh-regulators";
573        qcom,pmic-id = "a";
574
575        vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
576
577        smps2 {
578            regulator-min-microvolt = <1100000>;
579            regulator-max-microvolt = <1100000>;
580        };
581
582        ldo7 {
583            regulator-min-microvolt = <1800000>;
584            regulator-max-microvolt = <1800000>;
585            regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
586            regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
587                                       RPMH_REGULATOR_MODE_HPM>;
588            regulator-allow-set-load;
589        };
590
591        lvs1 {
592            regulator-min-microvolt = <1800000>;
593            regulator-max-microvolt = <1800000>;
594        };
595    };
596
597    pmi8998-rpmh-regulators {
598        compatible = "qcom,pmi8998-rpmh-regulators";
599        qcom,pmic-id = "b";
600
601        bob {
602            regulator-min-microvolt = <3312000>;
603            regulator-max-microvolt = <3600000>;
604            regulator-allowed-modes = <RPMH_REGULATOR_MODE_AUTO
605                                       RPMH_REGULATOR_MODE_HPM>;
606            regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
607        };
608    };
609...
~/ Read-only file preview.