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 - David Collins <collinsd@codeaurora.org> 11 12description: | 13 rpmh-regulator devices support PMIC regulator management via the Voltage 14 Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators. 15 The APPS processor communicates with these hardware blocks via a 16 Resource State Coordinator (RSC) using command packets. The VRM allows 17 changing three parameters for a given regulator, enable state, output 18 voltage, and operating mode. The XOB allows changing only a single 19 parameter for a given regulator, its enable state. Despite its name, 20 the XOB is capable of controlling the enable state of any PMIC peripheral. 21 It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators 22 which have a fixed voltage and mode. 23 24 ======================= 25 Required Node Structure 26 ======================= 27 28 RPMh regulators must be described in two levels of device nodes. The first 29 level describes the PMIC containing the regulators and must reside within an 30 RPMh device node. The second level describes each regulator within the PMIC 31 which is to be used on the board. Each of these regulators maps to a single 32 RPMh resource. 33 34 The names used for regulator nodes must match those supported by a given 35 PMIC. Supported regulator node names are 36 For PM6150, smps1 - smps5, ldo1 - ldo19 37 For PM6150L, smps1 - smps8, ldo1 - ldo11, bob 38 For PM6350, smps1 - smps5, ldo1 - ldo22 39 For PM7325, smps1 - smps8, ldo1 - ldo19 40 For PM8005, smps1 - smps4 41 For PM8009, smps1 - smps2, ldo1 - ldo7 42 For PM8150, smps1 - smps10, ldo1 - ldo18 43 For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb 44 For PM8350, smps1 - smps12, ldo1 - ldo10 45 For PM8350C, smps1 - smps10, ldo1 - ldo13, bob 46 For PM8450, smps1 - smps6, ldo1 - ldo4 47 For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 48 For PMI8998, bob 49 For PMR735A, smps1 - smps3, ldo1 - ldo7 50 For PMX55, smps1 - smps7, ldo1 - ldo16 51 52properties: 53 compatible: 54 enum: 55 - qcom,pm6150-rpmh-regulators 56 - qcom,pm6150l-rpmh-regulators 57 - qcom,pm6350-rpmh-regulators 58 - qcom,pm7325-rpmh-regulators 59 - qcom,pm8005-rpmh-regulators 60 - qcom,pm8009-rpmh-regulators 61 - qcom,pm8009-1-rpmh-regulators 62 - qcom,pm8150-rpmh-regulators 63 - qcom,pm8150l-rpmh-regulators 64 - qcom,pm8350-rpmh-regulators 65 - qcom,pm8350c-rpmh-regulators 66 - qcom,pm8450-rpmh-regulators 67 - qcom,pm8998-rpmh-regulators 68 - qcom,pmg1110-rpmh-regulators 69 - qcom,pmi8998-rpmh-regulators 70 - qcom,pmm8155au-rpmh-regulators 71 - qcom,pmr735a-rpmh-regulators 72 - qcom,pmx55-rpmh-regulators 73 74 qcom,pmic-id: 75 description: | 76 RPMh resource name suffix used for the regulators found 77 on this PMIC. 78 $ref: /schemas/types.yaml#/definitions/string 79 enum: [a, b, c, d, e, f] 80 81 qcom,always-wait-for-ack: 82 description: | 83 Boolean flag which indicates that the application processor 84 must wait for an ACK or a NACK from RPMh for every request 85 sent for this regulator including those which are for a 86 strictly lower power state. 87 $ref: /schemas/types.yaml#/definitions/flag 88 89 vdd-flash-supply: 90 description: Input supply phandle of flash. 91 92 vdd-rgb-supply: 93 description: Input supply phandle of rgb. 94 95 vin-lvs-1-2-supply: 96 description: Input supply phandle of one or more regulators. 97 98 vdd-bob-supply: 99 description: BOB regulator parent supply phandle. 100 101 bob: 102 type: object 103 $ref: "regulator.yaml#" 104 description: BOB regulator node. 105 106patternProperties: 107 "^vdd-s([0-9]+)-supply$": 108 description: Input supply phandle(s) of one or more regulators. 109 110 "^vdd-(l[0-9]+[-]){1,5}supply$": 111 description: Input supply phandle(s) of one or more regulators. 112 113 "^(smps|ldo|lvs)[0-9]+$": 114 type: object 115 $ref: "regulator.yaml#" 116 description: smps/ldo regulator nodes(s). 117 118additionalProperties: false 119 120required: 121 - compatible 122 - qcom,pmic-id 123 124examples: 125 - | 126 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 127 128 pm8998-rpmh-regulators { 129 compatible = "qcom,pm8998-rpmh-regulators"; 130 qcom,pmic-id = "a"; 131 132 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>; 133 134 smps2 { 135 regulator-min-microvolt = <1100000>; 136 regulator-max-microvolt = <1100000>; 137 }; 138 139 ldo7 { 140 regulator-min-microvolt = <1800000>; 141 regulator-max-microvolt = <1800000>; 142 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 143 regulator-allowed-modes = 144 <RPMH_REGULATOR_MODE_LPM 145 RPMH_REGULATOR_MODE_HPM>; 146 regulator-allow-set-load; 147 }; 148 149 lvs1 { 150 regulator-min-microvolt = <1800000>; 151 regulator-max-microvolt = <1800000>; 152 }; 153 }; 154 155 pmi8998-rpmh-regulators { 156 compatible = "qcom,pmi8998-rpmh-regulators"; 157 qcom,pmic-id = "b"; 158 159 bob { 160 regulator-min-microvolt = <3312000>; 161 regulator-max-microvolt = <3600000>; 162 regulator-allowed-modes = 163 <RPMH_REGULATOR_MODE_AUTO 164 RPMH_REGULATOR_MODE_HPM>; 165 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 166 }; 167 }; 168... 169