brintos

brintos / linux-shallow public Read only

0
0
Text · 14.4 KiB · 27c6d51 Raw
524 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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 Regulators8 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 Voltage15    Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.16    The APPS processor communicates with these hardware blocks via a17    Resource State Coordinator (RSC) using command packets.  The VRM allows18    changing three parameters for a given regulator, enable state, output19    voltage, and operating mode.  The XOB allows changing only a single20    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 regulators23    which have a fixed voltage and mode.24 25    =======================26    Required Node Structure27    =======================28 29    RPMh regulators must be described in two levels of device nodes.  The first30    level describes the PMIC containing the regulators and must reside within an31    RPMh device node.  The second level describes each regulator within the PMIC32    which is to be used on the board.  Each of these regulators maps to a single33    RPMh resource.34 35    The names used for regulator nodes must match those supported by a given36    PMIC. Supported regulator node names are37      For PM6150, smps1 - smps5, ldo1 - ldo1938      For PM6150L, smps1 - smps8, ldo1 - ldo11, bob39      For PM6350, smps1 - smps5, ldo1 - ldo2240      For PM660, smps1 - smps6, ldo1 - ldo3, ldo5 - ldo1941      For PM660L, smps1 - smps3, smps5, ldo1 - ldo8, bob42      For PM7325, smps1 - smps8, ldo1 - ldo1943      For PM8005, smps1 - smps444      For PM8009, smps1 - smps2, ldo1 - ldo745      For PM8010, ldo1 - ldo746      For PM8150, smps1 - smps10, ldo1 - ldo1847      For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb48      For PM8350, smps1 - smps12, ldo1 - ldo1049      For PM8350C, smps1 - smps10, ldo1 - ldo13, bob50      For PM8450, smps1 - smps6, ldo1 - ldo451      For PM8550, smps1 - smps6, ldo1 - ldo17, bob1 - bob252      For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs253      For PMI8998, bob54      For PMC8380, smps1 - smps8, ldo1 - lodo355      For PMR735A, smps1 - smps3, ldo1 - ldo756      For PMX55, smps1 - smps7, ldo1 - ldo1657      For PMX65, smps1 - smps8, ldo1 - ldo2158      For PMX75, smps1 - smps10, ldo1 - ldo2159 60properties:61  compatible:62    enum:63      - qcom,pm6150-rpmh-regulators64      - qcom,pm6150l-rpmh-regulators65      - qcom,pm6350-rpmh-regulators66      - qcom,pm660-rpmh-regulators67      - qcom,pm660l-rpmh-regulators68      - qcom,pm7325-rpmh-regulators69      - qcom,pm8005-rpmh-regulators70      - qcom,pm8009-rpmh-regulators71      - qcom,pm8009-1-rpmh-regulators72      - qcom,pm8010-rpmh-regulators73      - qcom,pm8150-rpmh-regulators74      - qcom,pm8150l-rpmh-regulators75      - qcom,pm8350-rpmh-regulators76      - qcom,pm8350c-rpmh-regulators77      - qcom,pm8450-rpmh-regulators78      - qcom,pm8550-rpmh-regulators79      - qcom,pm8550ve-rpmh-regulators80      - qcom,pm8550vs-rpmh-regulators81      - qcom,pm8998-rpmh-regulators82      - qcom,pmc8180-rpmh-regulators83      - qcom,pmc8180c-rpmh-regulators84      - qcom,pmc8380-rpmh-regulators85      - qcom,pmg1110-rpmh-regulators86      - qcom,pmi8998-rpmh-regulators87      - qcom,pmm8155au-rpmh-regulators88      - qcom,pmm8654au-rpmh-regulators89      - qcom,pmr735a-rpmh-regulators90      - qcom,pmx55-rpmh-regulators91      - qcom,pmx65-rpmh-regulators92      - qcom,pmx75-rpmh-regulators93 94  qcom,pmic-id:95    description: |96        RPMh resource name suffix used for the regulators found97        on this PMIC.98    $ref: /schemas/types.yaml#/definitions/string99    enum: [a, b, c, d, e, f, g, h, i, j, k, l, m, n]100 101  qcom,always-wait-for-ack:102    description: |103        Boolean flag which indicates that the application processor104        must wait for an ACK or a NACK from RPMh for every request105        sent for this regulator including those which are for a106        strictly lower power state.107    $ref: /schemas/types.yaml#/definitions/flag108 109  vdd-flash-supply:110    description: Input supply phandle of flash.111 112  vdd-rgb-supply:113    description: Input supply phandle of rgb.114 115  bob:116    type: object117    $ref: regulator.yaml#118    unevaluatedProperties: false119    description: BOB regulator node.120    dependencies:121      regulator-allow-set-load: [ regulator-allowed-modes ]122 123patternProperties:124  "^(smps|ldo|lvs|bob)[0-9]+$":125    type: object126    $ref: regulator.yaml#127    unevaluatedProperties: false128    description: smps/ldo regulator nodes(s).129    dependencies:130      regulator-allow-set-load: [ regulator-allowed-modes ]131 132required:133  - compatible134  - qcom,pmic-id135 136allOf:137  - if:138      properties:139        compatible:140          enum:141            - qcom,pm6150-rpmh-regulators142    then:143      properties:144        vdd-l2-l3-supply: true145        vdd-l4-l7-l8-supply: true146        vdd-l5-l16-l17-l18-l19-supply: true147        vdd-l10-l14-l15-supply: true148        vdd-l11-l12-l13-supply: true149      patternProperties:150        "^vdd-l[169]-supply$": true151        "^vdd-s[1-5]-supply$": true152 153  - if:154      properties:155        compatible:156          enum:157            - qcom,pm6150l-rpmh-regulators158            - qcom,pm8150l-rpmh-regulators159            - qcom,pmc8180c-rpmh-regulators160    then:161      properties:162        vdd-bob-supply:163          description: BOB regulator parent supply phandle.164        vdd-l1-l8-supply: true165        vdd-l2-l3-supply: true166        vdd-l4-l5-l6-supply: true167        vdd-l7-l11-supply: true168        vdd-l9-l10-supply: true169      patternProperties:170        "^vdd-s[1-8]-supply$": true171 172  - if:173      properties:174        compatible:175          enum:176            - qcom,pm660-rpmh-regulators177    then:178      properties:179        vdd-l1-l6-l7-supply: true180        vdd-l2-l3-supply: true181        vdd-l5-supply: true182        vdd-l8-l9-l10-l11-l12-l13-l14-supply: true183        vdd-l15-l16-l17-l18-l19-supply: true184      patternProperties:185        "^vdd-s[1-6]-supply$": true186 187  - if:188      properties:189        compatible:190          enum:191            - qcom,pm660l-rpmh-regulators192    then:193      properties:194        vdd-bob-supply:195          description: BOB regulator parent supply phandle.196        vdd-l1-l9-l10-supply: true197        vdd-l2-supply: true198        vdd-l3-l5-l7-l8-supply: true199        vdd-l4-l6-supply: true200        vdd-s3-s4-supply: true201      patternProperties:202        "^vdd-s[125]-supply$": true203 204  - if:205      properties:206        compatible:207          enum:208            - qcom,pm7325-rpmh-regulators209    then:210      properties:211        vdd-l1-l4-l12-l15-supply: true212        vdd-l2-l7-supply: true213        vdd-l6-l9-l10-supply: true214        vdd-l11-l17-l18-l19-supply: true215        vdd-l13-supply: true216        vdd-l14-l16-supply: true217      patternProperties:218        "^vdd-l[358]-supply$": true219        "^vdd-s[1-8]-supply$": true220 221  - if:222      properties:223        compatible:224          enum:225            - qcom,pm8005-rpmh-regulators226    then:227      patternProperties:228        "^vdd-s[1-4]-supply$": true229 230  - if:231      properties:232        compatible:233          enum:234            - qcom,pm8009-rpmh-regulators235            - qcom,pm8009-1-rpmh-regulators236    then:237      properties:238        vdd-l5-l6-supply: true239      patternProperties:240        "^vdd-l[1-47]-supply$": true241        "^vdd-s[1-2]-supply$": true242 243  - if:244      properties:245        compatible:246          enum:247            - qcom,pm8010-rpmh-regulators248    then:249      properties:250        vdd-l1-l2-supply: true251        vdd-l3-l4-supply: true252      patternProperties:253        "^vdd-l[5-7]-supply$": true254 255  - if:256      properties:257        compatible:258          enum:259            - qcom,pm8150-rpmh-regulators260            - qcom,pmc8180-rpmh-regulators261            - qcom,pmm8155au-rpmh-regulators262    then:263      properties:264        vdd-l1-l8-l11-supply: true265        vdd-l2-l10-supply: true266        vdd-l3-l4-l5-l18-supply: true267        vdd-l6-l9-supply: true268        vdd-l7-l12-l14-l15-supply: true269        vdd-l13-l16-l17-supply: true270      patternProperties:271        "^vdd-s([1-9]|10)-supply$": true272 273  - if:274      properties:275        compatible:276          enum:277            - qcom,pmm8654au-rpmh-regulators278    then:279      properties:280        vdd-l1-supply: true281        vdd-l2-l3-supply: true282        vdd-l4-supply: true283        vdd-l5-supply: true284        vdd-l6-l7-supply: true285        vdd-l8-l9-supply: true286      patternProperties:287        "^vdd-s[1-9]-supply$": true288 289  - if:290      properties:291        compatible:292          enum:293            - qcom,pm8350-rpmh-regulators294    then:295      properties:296        vdd-l1-l4-supply: true297        vdd-l2-l7-supply: true298        vdd-l3-l5-supply: true299        vdd-l6-l9-l10-supply: true300        vdd-l8-supply: true301      patternProperties:302        "^vdd-s([1-9]|1[0-2])-supply$": true303 304  - if:305      properties:306        compatible:307          enum:308            - qcom,pm8350c-rpmh-regulators309    then:310      properties:311        vdd-bob-supply:312          description: BOB regulator parent supply phandle.313        vdd-l1-l12-supply: true314        vdd-l2-l8-supply: true315        vdd-l3-l4-l5-l7-l13-supply: true316        vdd-l6-l9-l11-supply: true317        vdd-l10-supply: true318      patternProperties:319        "^vdd-s([1-9]|10)-supply$": true320 321  - if:322      properties:323        compatible:324          enum:325            - qcom,pm8450-rpmh-regulators326    then:327      patternProperties:328        "^vdd-l[1-4]-supply$": true329        "^vdd-s[1-6]-supply$": true330 331  - if:332      properties:333        compatible:334          enum:335            - qcom,pm8550-rpmh-regulators336    then:337      properties:338        vdd-l1-l4-l10-supply: true339        vdd-l2-l13-l14-supply: true340        vdd-l5-l16-supply: true341        vdd-l6-l7-supply: true342        vdd-l8-l9-supply: true343      patternProperties:344        "^vdd-l(3|1[1-7])-supply$": true345        "^vdd-s[1-6]-supply$": true346        "^vdd-bob[1-2]-supply$": true347 348  - if:349      properties:350        compatible:351          enum:352            - qcom,pm8550ve-rpmh-regulators353            - qcom,pm8550vs-rpmh-regulators354    then:355      patternProperties:356        "^vdd-l[1-3]-supply$": true357        "^vdd-s[1-6]-supply$": true358 359  - if:360      properties:361        compatible:362          enum:363            - qcom,pm8998-rpmh-regulators364    then:365      properties:366        vdd-l1-l27-supply: true367        vdd-l2-l8-l17-supply: true368        vdd-l3-l11-supply: true369        vdd-l4-l5-supply: true370        vdd-l6-supply: true371        vdd-l7-l12-l14-l15-supply: true372        vdd-l9-supply: true373        vdd-l10-l23-l25-supply: true374        vdd-l13-l19-l21-supply: true375        vdd-l16-l28-supply: true376        vdd-l18-l22-supply: true377        vdd-l20-l24-supply: true378        vdd-l26-supply: true379        vin-lvs-1-2-supply: true380      patternProperties:381        "^vdd-s([1-9]|1[0-3])-supply$": true382 383  - if:384      properties:385        compatible:386          enum:387            - qcom,pmc8380-rpmh-regulators388    then:389      patternProperties:390        "^vdd-l[1-3]-supply$": true391        "^vdd-s[1-8]-supply$": true392 393  - if:394      properties:395        compatible:396          enum:397            - qcom,pmg1110-rpmh-regulators398    then:399      properties:400        vdd-s1-supply: true401 402  - if:403      properties:404        compatible:405          enum:406            - qcom,pmi8998-rpmh-regulators407    then:408      properties:409        vdd-bob-supply:410          description: BOB regulator parent supply phandle.411 412  - if:413      properties:414        compatible:415          enum:416            - qcom,pmr735a-rpmh-regulators417    then:418      properties:419        vdd-l1-l2-supply: true420        vdd-l3-supply: true421        vdd-l4-supply: true422        vdd-l5-l6-supply: true423        vdd-l7-bob-supply: true424      patternProperties:425        "^vdd-s[1-3]-supply$": true426 427  - if:428      properties:429        compatible:430          enum:431            - qcom,pmx55-rpmh-regulators432    then:433      properties:434        vdd-l1-l2-supply: true435        vdd-l3-l9-supply: true436        vdd-l4-l12-supply: true437        vdd-l5-l6-supply: true438        vdd-l7-l8-supply: true439        vdd-l10-l11-l13-supply: true440      patternProperties:441        "^vdd-l1[4-6]-supply$": true442        "^vdd-s[1-7]-supply$": true443 444  - if:445      properties:446        compatible:447          enum:448            - qcom,pmx65-rpmh-regulators449    then:450      properties:451        vdd-l2-l18-supply: true452        vdd-l5-l6-l16-supply: true453        vdd-l8-l9-supply: true454        vdd-l11-l13-supply: true455      patternProperties:456        "^vdd-l[1347]-supply$": true457        "^vdd-l1[024579]-supply$": true458        "^vdd-l2[01]-supply$": true459        "^vdd-s[1-8]-supply$": true460 461  - if:462      properties:463        compatible:464          enum:465            - qcom,pmx75-rpmh-regulators466    then:467      properties:468        vdd-l2-l18-supply: true469        vdd-l4-l16-supply: true470        vdd-l5-l6-supply: true471        vdd-l8-l9-supply: true472        vdd-l11-l13-supply: true473        vdd-l20-l21-supply: true474      patternProperties:475        "^vdd-l[137]-supply$": true476        "^vdd-l1[024579]-supply$": true477        "^vdd-s([1-9]|10)-supply$": true478 479unevaluatedProperties: false480 481examples:482  - |483    #include <dt-bindings/regulator/qcom,rpmh-regulator.h>484 485    pm8998-rpmh-regulators {486        compatible = "qcom,pm8998-rpmh-regulators";487        qcom,pmic-id = "a";488 489        vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;490 491        smps2 {492            regulator-min-microvolt = <1100000>;493            regulator-max-microvolt = <1100000>;494        };495 496        ldo7 {497            regulator-min-microvolt = <1800000>;498            regulator-max-microvolt = <1800000>;499            regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;500            regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM501                                       RPMH_REGULATOR_MODE_HPM>;502            regulator-allow-set-load;503        };504 505        lvs1 {506            regulator-min-microvolt = <1800000>;507            regulator-max-microvolt = <1800000>;508        };509    };510 511    pmi8998-rpmh-regulators {512        compatible = "qcom,pmi8998-rpmh-regulators";513        qcom,pmic-id = "b";514 515        bob {516            regulator-min-microvolt = <3312000>;517            regulator-max-microvolt = <3600000>;518            regulator-allowed-modes = <RPMH_REGULATOR_MODE_AUTO519                                       RPMH_REGULATOR_MODE_HPM>;520            regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;521        };522    };523...524