162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Qualcomm Technologies, Inc. RPMh Regulators
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Bjorn Andersson <bjorn.andersson@linaro.org>
1162306a36Sopenharmony_ci  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: |
1462306a36Sopenharmony_ci    rpmh-regulator devices support PMIC regulator management via the Voltage
1562306a36Sopenharmony_ci    Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.
1662306a36Sopenharmony_ci    The APPS processor communicates with these hardware blocks via a
1762306a36Sopenharmony_ci    Resource State Coordinator (RSC) using command packets.  The VRM allows
1862306a36Sopenharmony_ci    changing three parameters for a given regulator, enable state, output
1962306a36Sopenharmony_ci    voltage, and operating mode.  The XOB allows changing only a single
2062306a36Sopenharmony_ci    parameter for a given regulator, its enable state.  Despite its name,
2162306a36Sopenharmony_ci    the XOB is capable of controlling the enable state of any PMIC peripheral.
2262306a36Sopenharmony_ci    It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators
2362306a36Sopenharmony_ci    which have a fixed voltage and mode.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci    =======================
2662306a36Sopenharmony_ci    Required Node Structure
2762306a36Sopenharmony_ci    =======================
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci    RPMh regulators must be described in two levels of device nodes.  The first
3062306a36Sopenharmony_ci    level describes the PMIC containing the regulators and must reside within an
3162306a36Sopenharmony_ci    RPMh device node.  The second level describes each regulator within the PMIC
3262306a36Sopenharmony_ci    which is to be used on the board.  Each of these regulators maps to a single
3362306a36Sopenharmony_ci    RPMh resource.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci    The names used for regulator nodes must match those supported by a given
3662306a36Sopenharmony_ci    PMIC. Supported regulator node names are
3762306a36Sopenharmony_ci      For PM6150, smps1 - smps5, ldo1 - ldo19
3862306a36Sopenharmony_ci      For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
3962306a36Sopenharmony_ci      For PM6350, smps1 - smps5, ldo1 - ldo22
4062306a36Sopenharmony_ci      For PM660, smps1 - smps6, ldo1 - ldo3, ldo5 - ldo19
4162306a36Sopenharmony_ci      For PM660L, smps1 - smps3, smps5, ldo1 - ldo8, bob
4262306a36Sopenharmony_ci      For PM7325, smps1 - smps8, ldo1 - ldo19
4362306a36Sopenharmony_ci      For PM8005, smps1 - smps4
4462306a36Sopenharmony_ci      For PM8009, smps1 - smps2, ldo1 - ldo7
4562306a36Sopenharmony_ci      For PM8150, smps1 - smps10, ldo1 - ldo18
4662306a36Sopenharmony_ci      For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
4762306a36Sopenharmony_ci      For PM8350, smps1 - smps12, ldo1 - ldo10
4862306a36Sopenharmony_ci      For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
4962306a36Sopenharmony_ci      For PM8450, smps1 - smps6, ldo1 - ldo4
5062306a36Sopenharmony_ci      For PM8550, smps1 - smps6, ldo1 - ldo17, bob1 - bob2
5162306a36Sopenharmony_ci      For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
5262306a36Sopenharmony_ci      For PMI8998, bob
5362306a36Sopenharmony_ci      For PMR735A, smps1 - smps3, ldo1 - ldo7
5462306a36Sopenharmony_ci      For PMX55, smps1 - smps7, ldo1 - ldo16
5562306a36Sopenharmony_ci      For PMX65, smps1 - smps8, ldo1 - ldo21
5662306a36Sopenharmony_ci      For PMX75, smps1 - smps10, ldo1 - ldo21
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciproperties:
5962306a36Sopenharmony_ci  compatible:
6062306a36Sopenharmony_ci    enum:
6162306a36Sopenharmony_ci      - qcom,pm6150-rpmh-regulators
6262306a36Sopenharmony_ci      - qcom,pm6150l-rpmh-regulators
6362306a36Sopenharmony_ci      - qcom,pm6350-rpmh-regulators
6462306a36Sopenharmony_ci      - qcom,pm660-rpmh-regulators
6562306a36Sopenharmony_ci      - qcom,pm660l-rpmh-regulators
6662306a36Sopenharmony_ci      - qcom,pm7325-rpmh-regulators
6762306a36Sopenharmony_ci      - qcom,pm8005-rpmh-regulators
6862306a36Sopenharmony_ci      - qcom,pm8009-rpmh-regulators
6962306a36Sopenharmony_ci      - qcom,pm8009-1-rpmh-regulators
7062306a36Sopenharmony_ci      - qcom,pm8150-rpmh-regulators
7162306a36Sopenharmony_ci      - qcom,pm8150l-rpmh-regulators
7262306a36Sopenharmony_ci      - qcom,pm8350-rpmh-regulators
7362306a36Sopenharmony_ci      - qcom,pm8350c-rpmh-regulators
7462306a36Sopenharmony_ci      - qcom,pm8450-rpmh-regulators
7562306a36Sopenharmony_ci      - qcom,pm8550-rpmh-regulators
7662306a36Sopenharmony_ci      - qcom,pm8550ve-rpmh-regulators
7762306a36Sopenharmony_ci      - qcom,pm8550vs-rpmh-regulators
7862306a36Sopenharmony_ci      - qcom,pm8998-rpmh-regulators
7962306a36Sopenharmony_ci      - qcom,pmc8180-rpmh-regulators
8062306a36Sopenharmony_ci      - qcom,pmc8180c-rpmh-regulators
8162306a36Sopenharmony_ci      - qcom,pmg1110-rpmh-regulators
8262306a36Sopenharmony_ci      - qcom,pmi8998-rpmh-regulators
8362306a36Sopenharmony_ci      - qcom,pmm8155au-rpmh-regulators
8462306a36Sopenharmony_ci      - qcom,pmm8654au-rpmh-regulators
8562306a36Sopenharmony_ci      - qcom,pmr735a-rpmh-regulators
8662306a36Sopenharmony_ci      - qcom,pmx55-rpmh-regulators
8762306a36Sopenharmony_ci      - qcom,pmx65-rpmh-regulators
8862306a36Sopenharmony_ci      - qcom,pmx75-rpmh-regulators
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci  qcom,pmic-id:
9162306a36Sopenharmony_ci    description: |
9262306a36Sopenharmony_ci        RPMh resource name suffix used for the regulators found
9362306a36Sopenharmony_ci        on this PMIC.
9462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
9562306a36Sopenharmony_ci    enum: [a, b, c, d, e, f, g, h, i, j, k, l, m, n]
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci  qcom,always-wait-for-ack:
9862306a36Sopenharmony_ci    description: |
9962306a36Sopenharmony_ci        Boolean flag which indicates that the application processor
10062306a36Sopenharmony_ci        must wait for an ACK or a NACK from RPMh for every request
10162306a36Sopenharmony_ci        sent for this regulator including those which are for a
10262306a36Sopenharmony_ci        strictly lower power state.
10362306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci  vdd-flash-supply:
10662306a36Sopenharmony_ci    description: Input supply phandle of flash.
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci  vdd-rgb-supply:
10962306a36Sopenharmony_ci    description: Input supply phandle of rgb.
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci  bob:
11262306a36Sopenharmony_ci    type: object
11362306a36Sopenharmony_ci    $ref: regulator.yaml#
11462306a36Sopenharmony_ci    unevaluatedProperties: false
11562306a36Sopenharmony_ci    description: BOB regulator node.
11662306a36Sopenharmony_ci    dependencies:
11762306a36Sopenharmony_ci      regulator-allow-set-load: [ regulator-allowed-modes ]
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_cipatternProperties:
12062306a36Sopenharmony_ci  "^(smps|ldo|lvs|bob)[0-9]+$":
12162306a36Sopenharmony_ci    type: object
12262306a36Sopenharmony_ci    $ref: regulator.yaml#
12362306a36Sopenharmony_ci    unevaluatedProperties: false
12462306a36Sopenharmony_ci    description: smps/ldo regulator nodes(s).
12562306a36Sopenharmony_ci    dependencies:
12662306a36Sopenharmony_ci      regulator-allow-set-load: [ regulator-allowed-modes ]
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_cirequired:
12962306a36Sopenharmony_ci  - compatible
13062306a36Sopenharmony_ci  - qcom,pmic-id
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ciallOf:
13362306a36Sopenharmony_ci  - if:
13462306a36Sopenharmony_ci      properties:
13562306a36Sopenharmony_ci        compatible:
13662306a36Sopenharmony_ci          enum:
13762306a36Sopenharmony_ci            - qcom,pm6150-rpmh-regulators
13862306a36Sopenharmony_ci    then:
13962306a36Sopenharmony_ci      properties:
14062306a36Sopenharmony_ci        vdd-l2-l3-supply: true
14162306a36Sopenharmony_ci        vdd-l4-l7-l8-supply: true
14262306a36Sopenharmony_ci        vdd-l5-l16-l17-l18-l19-supply: true
14362306a36Sopenharmony_ci        vdd-l10-l14-l15-supply: true
14462306a36Sopenharmony_ci        vdd-l11-l12-l13-supply: true
14562306a36Sopenharmony_ci      patternProperties:
14662306a36Sopenharmony_ci        "^vdd-l[169]-supply$": true
14762306a36Sopenharmony_ci        "^vdd-s[1-5]-supply$": true
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci  - if:
15062306a36Sopenharmony_ci      properties:
15162306a36Sopenharmony_ci        compatible:
15262306a36Sopenharmony_ci          enum:
15362306a36Sopenharmony_ci            - qcom,pm6150l-rpmh-regulators
15462306a36Sopenharmony_ci            - qcom,pm8150l-rpmh-regulators
15562306a36Sopenharmony_ci            - qcom,pmc8180c-rpmh-regulators
15662306a36Sopenharmony_ci    then:
15762306a36Sopenharmony_ci      properties:
15862306a36Sopenharmony_ci        vdd-bob-supply:
15962306a36Sopenharmony_ci          description: BOB regulator parent supply phandle.
16062306a36Sopenharmony_ci        vdd-l1-l8-supply: true
16162306a36Sopenharmony_ci        vdd-l2-l3-supply: true
16262306a36Sopenharmony_ci        vdd-l4-l5-l6-supply: true
16362306a36Sopenharmony_ci        vdd-l7-l11-supply: true
16462306a36Sopenharmony_ci        vdd-l9-l10-supply: true
16562306a36Sopenharmony_ci      patternProperties:
16662306a36Sopenharmony_ci        "^vdd-s[1-8]-supply$": true
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci  - if:
16962306a36Sopenharmony_ci      properties:
17062306a36Sopenharmony_ci        compatible:
17162306a36Sopenharmony_ci          enum:
17262306a36Sopenharmony_ci            - qcom,pm660-rpmh-regulators
17362306a36Sopenharmony_ci    then:
17462306a36Sopenharmony_ci      properties:
17562306a36Sopenharmony_ci        vdd-l1-l6-l7-supply: true
17662306a36Sopenharmony_ci        vdd-l2-l3-supply: true
17762306a36Sopenharmony_ci        vdd-l5-supply: true
17862306a36Sopenharmony_ci        vdd-l8-l9-l10-l11-l12-l13-l14-supply: true
17962306a36Sopenharmony_ci        vdd-l15-l16-l17-l18-l19-supply: true
18062306a36Sopenharmony_ci      patternProperties:
18162306a36Sopenharmony_ci        "^vdd-s[1-6]-supply$": true
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci  - if:
18462306a36Sopenharmony_ci      properties:
18562306a36Sopenharmony_ci        compatible:
18662306a36Sopenharmony_ci          enum:
18762306a36Sopenharmony_ci            - qcom,pm660l-rpmh-regulators
18862306a36Sopenharmony_ci    then:
18962306a36Sopenharmony_ci      properties:
19062306a36Sopenharmony_ci        vdd-bob-supply:
19162306a36Sopenharmony_ci          description: BOB regulator parent supply phandle.
19262306a36Sopenharmony_ci        vdd-l1-l9-l10-supply: true
19362306a36Sopenharmony_ci        vdd-l2-supply: true
19462306a36Sopenharmony_ci        vdd-l3-l5-l7-l8-supply: true
19562306a36Sopenharmony_ci        vdd-l4-l6-supply: true
19662306a36Sopenharmony_ci        vdd-s3-s4-supply: true
19762306a36Sopenharmony_ci      patternProperties:
19862306a36Sopenharmony_ci        "^vdd-s[125]-supply$": true
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ci  - if:
20162306a36Sopenharmony_ci      properties:
20262306a36Sopenharmony_ci        compatible:
20362306a36Sopenharmony_ci          enum:
20462306a36Sopenharmony_ci            - qcom,pm7325-rpmh-regulators
20562306a36Sopenharmony_ci    then:
20662306a36Sopenharmony_ci      properties:
20762306a36Sopenharmony_ci        vdd-l1-l4-l12-l15-supply: true
20862306a36Sopenharmony_ci        vdd-l2-l7-supply: true
20962306a36Sopenharmony_ci        vdd-l6-l9-l10-supply: true
21062306a36Sopenharmony_ci        vdd-l11-l17-l18-l19-supply: true
21162306a36Sopenharmony_ci        vdd-l13-supply: true
21262306a36Sopenharmony_ci        vdd-l14-l16-supply: true
21362306a36Sopenharmony_ci      patternProperties:
21462306a36Sopenharmony_ci        "^vdd-l[358]-supply$": true
21562306a36Sopenharmony_ci        "^vdd-s[1-8]-supply$": true
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci  - if:
21862306a36Sopenharmony_ci      properties:
21962306a36Sopenharmony_ci        compatible:
22062306a36Sopenharmony_ci          enum:
22162306a36Sopenharmony_ci            - qcom,pm8005-rpmh-regulators
22262306a36Sopenharmony_ci    then:
22362306a36Sopenharmony_ci      patternProperties:
22462306a36Sopenharmony_ci        "^vdd-s[1-4]-supply$": true
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci  - if:
22762306a36Sopenharmony_ci      properties:
22862306a36Sopenharmony_ci        compatible:
22962306a36Sopenharmony_ci          enum:
23062306a36Sopenharmony_ci            - qcom,pm8009-rpmh-regulators
23162306a36Sopenharmony_ci            - qcom,pm8009-1-rpmh-regulators
23262306a36Sopenharmony_ci    then:
23362306a36Sopenharmony_ci      properties:
23462306a36Sopenharmony_ci        vdd-l5-l6-supply: true
23562306a36Sopenharmony_ci      patternProperties:
23662306a36Sopenharmony_ci        "^vdd-l[1-47]-supply$": true
23762306a36Sopenharmony_ci        "^vdd-s[1-2]-supply$": true
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci  - if:
24062306a36Sopenharmony_ci      properties:
24162306a36Sopenharmony_ci        compatible:
24262306a36Sopenharmony_ci          enum:
24362306a36Sopenharmony_ci            - qcom,pm8150-rpmh-regulators
24462306a36Sopenharmony_ci            - qcom,pmc8180-rpmh-regulators
24562306a36Sopenharmony_ci            - qcom,pmm8155au-rpmh-regulators
24662306a36Sopenharmony_ci    then:
24762306a36Sopenharmony_ci      properties:
24862306a36Sopenharmony_ci        vdd-l1-l8-l11-supply: true
24962306a36Sopenharmony_ci        vdd-l2-l10-supply: true
25062306a36Sopenharmony_ci        vdd-l3-l4-l5-l18-supply: true
25162306a36Sopenharmony_ci        vdd-l6-l9-supply: true
25262306a36Sopenharmony_ci        vdd-l7-l12-l14-l15-supply: true
25362306a36Sopenharmony_ci        vdd-l13-l16-l17-supply: true
25462306a36Sopenharmony_ci      patternProperties:
25562306a36Sopenharmony_ci        "^vdd-s([1-9]|10)-supply$": true
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci  - if:
25862306a36Sopenharmony_ci      properties:
25962306a36Sopenharmony_ci        compatible:
26062306a36Sopenharmony_ci          enum:
26162306a36Sopenharmony_ci            - qcom,pmm8654au-rpmh-regulators
26262306a36Sopenharmony_ci    then:
26362306a36Sopenharmony_ci      properties:
26462306a36Sopenharmony_ci        vdd-l1-supply: true
26562306a36Sopenharmony_ci        vdd-l2-l3-supply: true
26662306a36Sopenharmony_ci        vdd-l4-supply: true
26762306a36Sopenharmony_ci        vdd-l5-supply: true
26862306a36Sopenharmony_ci        vdd-l6-l7-supply: true
26962306a36Sopenharmony_ci        vdd-l8-l9-supply: true
27062306a36Sopenharmony_ci      patternProperties:
27162306a36Sopenharmony_ci        "^vdd-s[1-9]-supply$": true
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci  - if:
27462306a36Sopenharmony_ci      properties:
27562306a36Sopenharmony_ci        compatible:
27662306a36Sopenharmony_ci          enum:
27762306a36Sopenharmony_ci            - qcom,pm8350-rpmh-regulators
27862306a36Sopenharmony_ci    then:
27962306a36Sopenharmony_ci      properties:
28062306a36Sopenharmony_ci        vdd-l1-l4-supply: true
28162306a36Sopenharmony_ci        vdd-l2-l7-supply: true
28262306a36Sopenharmony_ci        vdd-l3-l5-supply: true
28362306a36Sopenharmony_ci        vdd-l6-l9-l10-supply: true
28462306a36Sopenharmony_ci        vdd-l8-supply: true
28562306a36Sopenharmony_ci      patternProperties:
28662306a36Sopenharmony_ci        "^vdd-s([1-9]|1[0-2])-supply$": true
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci  - if:
28962306a36Sopenharmony_ci      properties:
29062306a36Sopenharmony_ci        compatible:
29162306a36Sopenharmony_ci          enum:
29262306a36Sopenharmony_ci            - qcom,pm8350c-rpmh-regulators
29362306a36Sopenharmony_ci    then:
29462306a36Sopenharmony_ci      properties:
29562306a36Sopenharmony_ci        vdd-bob-supply:
29662306a36Sopenharmony_ci          description: BOB regulator parent supply phandle.
29762306a36Sopenharmony_ci        vdd-l1-l12-supply: true
29862306a36Sopenharmony_ci        vdd-l2-l8-supply: true
29962306a36Sopenharmony_ci        vdd-l3-l4-l5-l7-l13-supply: true
30062306a36Sopenharmony_ci        vdd-l6-l9-l11-supply: true
30162306a36Sopenharmony_ci        vdd-l10-supply: true
30262306a36Sopenharmony_ci      patternProperties:
30362306a36Sopenharmony_ci        "^vdd-s([1-9]|10)-supply$": true
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ci  - if:
30662306a36Sopenharmony_ci      properties:
30762306a36Sopenharmony_ci        compatible:
30862306a36Sopenharmony_ci          enum:
30962306a36Sopenharmony_ci            - qcom,pm8450-rpmh-regulators
31062306a36Sopenharmony_ci    then:
31162306a36Sopenharmony_ci      patternProperties:
31262306a36Sopenharmony_ci        "^vdd-l[1-4]-supply$": true
31362306a36Sopenharmony_ci        "^vdd-s[1-6]-supply$": true
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ci  - if:
31662306a36Sopenharmony_ci      properties:
31762306a36Sopenharmony_ci        compatible:
31862306a36Sopenharmony_ci          enum:
31962306a36Sopenharmony_ci            - qcom,pm8550-rpmh-regulators
32062306a36Sopenharmony_ci    then:
32162306a36Sopenharmony_ci      properties:
32262306a36Sopenharmony_ci        vdd-l1-l4-l10-supply: true
32362306a36Sopenharmony_ci        vdd-l2-l13-l14-supply: true
32462306a36Sopenharmony_ci        vdd-l5-l16-supply: true
32562306a36Sopenharmony_ci        vdd-l6-l7-supply: true
32662306a36Sopenharmony_ci        vdd-l8-l9-supply: true
32762306a36Sopenharmony_ci      patternProperties:
32862306a36Sopenharmony_ci        "^vdd-l(3|1[1-7])-supply$": true
32962306a36Sopenharmony_ci        "^vdd-s[1-6]-supply$": true
33062306a36Sopenharmony_ci        "^vdd-bob[1-2]-supply$": true
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ci  - if:
33362306a36Sopenharmony_ci      properties:
33462306a36Sopenharmony_ci        compatible:
33562306a36Sopenharmony_ci          enum:
33662306a36Sopenharmony_ci            - qcom,pm8550ve-rpmh-regulators
33762306a36Sopenharmony_ci            - qcom,pm8550vs-rpmh-regulators
33862306a36Sopenharmony_ci    then:
33962306a36Sopenharmony_ci      patternProperties:
34062306a36Sopenharmony_ci        "^vdd-l[1-3]-supply$": true
34162306a36Sopenharmony_ci        "^vdd-s[1-6]-supply$": true
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ci  - if:
34462306a36Sopenharmony_ci      properties:
34562306a36Sopenharmony_ci        compatible:
34662306a36Sopenharmony_ci          enum:
34762306a36Sopenharmony_ci            - qcom,pm8998-rpmh-regulators
34862306a36Sopenharmony_ci    then:
34962306a36Sopenharmony_ci      properties:
35062306a36Sopenharmony_ci        vdd-l1-l27-supply: true
35162306a36Sopenharmony_ci        vdd-l2-l8-l17-supply: true
35262306a36Sopenharmony_ci        vdd-l3-l11-supply: true
35362306a36Sopenharmony_ci        vdd-l4-l5-supply: true
35462306a36Sopenharmony_ci        vdd-l6-supply: true
35562306a36Sopenharmony_ci        vdd-l7-l12-l14-l15-supply: true
35662306a36Sopenharmony_ci        vdd-l9-supply: true
35762306a36Sopenharmony_ci        vdd-l10-l23-l25-supply: true
35862306a36Sopenharmony_ci        vdd-l13-l19-l21-supply: true
35962306a36Sopenharmony_ci        vdd-l16-l28-supply: true
36062306a36Sopenharmony_ci        vdd-l18-l22-supply: true
36162306a36Sopenharmony_ci        vdd-l20-l24-supply: true
36262306a36Sopenharmony_ci        vdd-l26-supply: true
36362306a36Sopenharmony_ci        vin-lvs-1-2-supply: true
36462306a36Sopenharmony_ci      patternProperties:
36562306a36Sopenharmony_ci        "^vdd-s([1-9]|1[0-3])-supply$": true
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_ci  - if:
36862306a36Sopenharmony_ci      properties:
36962306a36Sopenharmony_ci        compatible:
37062306a36Sopenharmony_ci          enum:
37162306a36Sopenharmony_ci            - qcom,pmg1110-rpmh-regulators
37262306a36Sopenharmony_ci    then:
37362306a36Sopenharmony_ci      properties:
37462306a36Sopenharmony_ci        vdd-s1-supply: true
37562306a36Sopenharmony_ci
37662306a36Sopenharmony_ci  - if:
37762306a36Sopenharmony_ci      properties:
37862306a36Sopenharmony_ci        compatible:
37962306a36Sopenharmony_ci          enum:
38062306a36Sopenharmony_ci            - qcom,pmi8998-rpmh-regulators
38162306a36Sopenharmony_ci    then:
38262306a36Sopenharmony_ci      properties:
38362306a36Sopenharmony_ci        vdd-bob-supply:
38462306a36Sopenharmony_ci          description: BOB regulator parent supply phandle.
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ci  - if:
38762306a36Sopenharmony_ci      properties:
38862306a36Sopenharmony_ci        compatible:
38962306a36Sopenharmony_ci          enum:
39062306a36Sopenharmony_ci            - qcom,pmr735a-rpmh-regulators
39162306a36Sopenharmony_ci    then:
39262306a36Sopenharmony_ci      properties:
39362306a36Sopenharmony_ci        vdd-l1-l2-supply: true
39462306a36Sopenharmony_ci        vdd-l3-supply: true
39562306a36Sopenharmony_ci        vdd-l4-supply: true
39662306a36Sopenharmony_ci        vdd-l5-l6-supply: true
39762306a36Sopenharmony_ci        vdd-l7-bob-supply: true
39862306a36Sopenharmony_ci      patternProperties:
39962306a36Sopenharmony_ci        "^vdd-s[1-3]-supply$": true
40062306a36Sopenharmony_ci
40162306a36Sopenharmony_ci  - if:
40262306a36Sopenharmony_ci      properties:
40362306a36Sopenharmony_ci        compatible:
40462306a36Sopenharmony_ci          enum:
40562306a36Sopenharmony_ci            - qcom,pmx55-rpmh-regulators
40662306a36Sopenharmony_ci    then:
40762306a36Sopenharmony_ci      properties:
40862306a36Sopenharmony_ci        vdd-l1-l2-supply: true
40962306a36Sopenharmony_ci        vdd-l3-l9-supply: true
41062306a36Sopenharmony_ci        vdd-l4-l12-supply: true
41162306a36Sopenharmony_ci        vdd-l5-l6-supply: true
41262306a36Sopenharmony_ci        vdd-l7-l8-supply: true
41362306a36Sopenharmony_ci        vdd-l10-l11-l13-supply: true
41462306a36Sopenharmony_ci      patternProperties:
41562306a36Sopenharmony_ci        "^vdd-l1[4-6]-supply$": true
41662306a36Sopenharmony_ci        "^vdd-s[1-7]-supply$": true
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ci  - if:
41962306a36Sopenharmony_ci      properties:
42062306a36Sopenharmony_ci        compatible:
42162306a36Sopenharmony_ci          enum:
42262306a36Sopenharmony_ci            - qcom,pmx65-rpmh-regulators
42362306a36Sopenharmony_ci    then:
42462306a36Sopenharmony_ci      properties:
42562306a36Sopenharmony_ci        vdd-l2-l18-supply: true
42662306a36Sopenharmony_ci        vdd-l5-l6-l16-supply: true
42762306a36Sopenharmony_ci        vdd-l8-l9-supply: true
42862306a36Sopenharmony_ci        vdd-l11-l13-supply: true
42962306a36Sopenharmony_ci      patternProperties:
43062306a36Sopenharmony_ci        "^vdd-l[1347]-supply$": true
43162306a36Sopenharmony_ci        "^vdd-l1[024579]-supply$": true
43262306a36Sopenharmony_ci        "^vdd-l2[01]-supply$": true
43362306a36Sopenharmony_ci        "^vdd-s[1-8]-supply$": true
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci  - if:
43662306a36Sopenharmony_ci      properties:
43762306a36Sopenharmony_ci        compatible:
43862306a36Sopenharmony_ci          enum:
43962306a36Sopenharmony_ci            - qcom,pmx75-rpmh-regulators
44062306a36Sopenharmony_ci    then:
44162306a36Sopenharmony_ci      properties:
44262306a36Sopenharmony_ci        vdd-l2-l18-supply: true
44362306a36Sopenharmony_ci        vdd-l4-l16-supply: true
44462306a36Sopenharmony_ci        vdd-l5-l6-supply: true
44562306a36Sopenharmony_ci        vdd-l8-l9-supply: true
44662306a36Sopenharmony_ci        vdd-l11-l13-supply: true
44762306a36Sopenharmony_ci        vdd-l20-l21-supply: true
44862306a36Sopenharmony_ci      patternProperties:
44962306a36Sopenharmony_ci        "^vdd-l[137]-supply$": true
45062306a36Sopenharmony_ci        "^vdd-l1[024579]-supply$": true
45162306a36Sopenharmony_ci        "^vdd-s([1-9]|10)-supply$": true
45262306a36Sopenharmony_ci
45362306a36Sopenharmony_ciunevaluatedProperties: false
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ciexamples:
45662306a36Sopenharmony_ci  - |
45762306a36Sopenharmony_ci    #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
45862306a36Sopenharmony_ci
45962306a36Sopenharmony_ci    pm8998-rpmh-regulators {
46062306a36Sopenharmony_ci        compatible = "qcom,pm8998-rpmh-regulators";
46162306a36Sopenharmony_ci        qcom,pmic-id = "a";
46262306a36Sopenharmony_ci
46362306a36Sopenharmony_ci        vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
46462306a36Sopenharmony_ci
46562306a36Sopenharmony_ci        smps2 {
46662306a36Sopenharmony_ci            regulator-min-microvolt = <1100000>;
46762306a36Sopenharmony_ci            regulator-max-microvolt = <1100000>;
46862306a36Sopenharmony_ci        };
46962306a36Sopenharmony_ci
47062306a36Sopenharmony_ci        ldo7 {
47162306a36Sopenharmony_ci            regulator-min-microvolt = <1800000>;
47262306a36Sopenharmony_ci            regulator-max-microvolt = <1800000>;
47362306a36Sopenharmony_ci            regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
47462306a36Sopenharmony_ci            regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
47562306a36Sopenharmony_ci                                       RPMH_REGULATOR_MODE_HPM>;
47662306a36Sopenharmony_ci            regulator-allow-set-load;
47762306a36Sopenharmony_ci        };
47862306a36Sopenharmony_ci
47962306a36Sopenharmony_ci        lvs1 {
48062306a36Sopenharmony_ci            regulator-min-microvolt = <1800000>;
48162306a36Sopenharmony_ci            regulator-max-microvolt = <1800000>;
48262306a36Sopenharmony_ci        };
48362306a36Sopenharmony_ci    };
48462306a36Sopenharmony_ci
48562306a36Sopenharmony_ci    pmi8998-rpmh-regulators {
48662306a36Sopenharmony_ci        compatible = "qcom,pmi8998-rpmh-regulators";
48762306a36Sopenharmony_ci        qcom,pmic-id = "b";
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci        bob {
49062306a36Sopenharmony_ci            regulator-min-microvolt = <3312000>;
49162306a36Sopenharmony_ci            regulator-max-microvolt = <3600000>;
49262306a36Sopenharmony_ci            regulator-allowed-modes = <RPMH_REGULATOR_MODE_AUTO
49362306a36Sopenharmony_ci                                       RPMH_REGULATOR_MODE_HPM>;
49462306a36Sopenharmony_ci            regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
49562306a36Sopenharmony_ci        };
49662306a36Sopenharmony_ci    };
49762306a36Sopenharmony_ci...
498