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 <krzysztof.kozlowski@linaro.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 PM7325, smps1 - smps8, ldo1 - ldo19 41 For PM8005, smps1 - smps4 42 For PM8009, smps1 - smps2, ldo1 - ldo7 43 For PM8150, smps1 - smps10, ldo1 - ldo18 44 For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb 45 For PM8350, smps1 - smps12, ldo1 - ldo10 46 For PM8350C, smps1 - smps10, ldo1 - ldo13, bob 47 For PM8450, smps1 - smps6, ldo1 - ldo4 48 For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 49 For PMI8998, bob 50 For PMR735A, smps1 - smps3, ldo1 - ldo7 51 For PMX55, smps1 - smps7, ldo1 - ldo16 52 For PMX65, smps1 - smps8, ldo1 - ldo21 53 54properties: 55 compatible: 56 enum: 57 - qcom,pm6150-rpmh-regulators 58 - qcom,pm6150l-rpmh-regulators 59 - qcom,pm6350-rpmh-regulators 60 - qcom,pm7325-rpmh-regulators 61 - qcom,pm8005-rpmh-regulators 62 - qcom,pm8009-rpmh-regulators 63 - qcom,pm8009-1-rpmh-regulators 64 - qcom,pm8150-rpmh-regulators 65 - qcom,pm8150l-rpmh-regulators 66 - qcom,pm8350-rpmh-regulators 67 - qcom,pm8350c-rpmh-regulators 68 - qcom,pm8450-rpmh-regulators 69 - qcom,pm8998-rpmh-regulators 70 - qcom,pmg1110-rpmh-regulators 71 - qcom,pmi8998-rpmh-regulators 72 - qcom,pmm8155au-rpmh-regulators 73 - qcom,pmr735a-rpmh-regulators 74 - qcom,pmx55-rpmh-regulators 75 - qcom,pmx65-rpmh-regulators 76 77 qcom,pmic-id: 78 description: | 79 RPMh resource name suffix used for the regulators found 80 on this PMIC. 81 $ref: /schemas/types.yaml#/definitions/string 82 enum: [a, b, c, d, e, f, h, k] 83 84 qcom,always-wait-for-ack: 85 description: | 86 Boolean flag which indicates that the application processor 87 must wait for an ACK or a NACK from RPMh for every request 88 sent for this regulator including those which are for a 89 strictly lower power state. 90 $ref: /schemas/types.yaml#/definitions/flag 91 92 vdd-flash-supply: 93 description: Input supply phandle of flash. 94 95 vdd-rgb-supply: 96 description: Input supply phandle of rgb. 97 98 bob: 99 type: object 100 $ref: "regulator.yaml#" 101 description: BOB regulator node. 102 103patternProperties: 104 "^(smps|ldo|lvs)[0-9]+$": 105 type: object 106 $ref: "regulator.yaml#" 107 description: smps/ldo regulator nodes(s). 108 109required: 110 - compatible 111 - qcom,pmic-id 112 113allOf: 114 - if: 115 properties: 116 compatible: 117 enum: 118 - qcom,pm6150-rpmh-regulators 119 then: 120 properties: 121 vdd-l2-l3-supply: true 122 vdd-l4-l7-l8-supply: true 123 vdd-l5-l16-l17-l18-l19-supply: true 124 vdd-l10-l14-l15-supply: true 125 vdd-l11-l12-l13-supply: true 126 patternProperties: 127 "^vdd-l[169]-supply$": true 128 "^vdd-s[1-5]-supply$": true 129 130 - if: 131 properties: 132 compatible: 133 enum: 134 - qcom,pm6150l-rpmh-regulators 135 then: 136 properties: 137 vdd-bob-supply: 138 description: BOB regulator parent supply phandle. 139 vdd-l1-l8-supply: true 140 vdd-l2-l3-supply: true 141 vdd-l4-l5-l6-supply: true 142 vdd-l7-l11-supply: true 143 vdd-l9-l10-supply: true 144 patternProperties: 145 "^vdd-s[1-8]-supply$": true 146 147 - if: 148 properties: 149 compatible: 150 enum: 151 - qcom,pm7325-rpmh-regulators 152 then: 153 properties: 154 vdd-l1-l4-l12-l15-supply: true 155 vdd-l2-l7-supply: true 156 vdd-l6-l9-l10-supply: true 157 vdd-l11-l17-l18-l19-supply: true 158 vdd-l13-supply: true 159 vdd-l14-l16-supply: true 160 patternProperties: 161 "^vdd-l[358]-supply$": true 162 "^vdd-s[1-8]-supply$": true 163 164 - if: 165 properties: 166 compatible: 167 enum: 168 - qcom,pm8005-rpmh-regulators 169 then: 170 patternProperties: 171 "^vdd-s[1-4]-supply$": true 172 173 - if: 174 properties: 175 compatible: 176 enum: 177 - qcom,pm8009-rpmh-regulators 178 - qcom,pm8009-1-rpmh-regulators 179 then: 180 properties: 181 vdd-l5-l6-supply: true 182 patternProperties: 183 "^vdd-l[1-47]-supply$": true 184 "^vdd-s[1-2]-supply$": true 185 186 - if: 187 properties: 188 compatible: 189 enum: 190 - qcom,pm8150-rpmh-regulators 191 - qcom,pmm8155au-rpmh-regulators 192 then: 193 properties: 194 vdd-l1-l8-l11-supply: true 195 vdd-l2-l10-supply: true 196 vdd-l3-l4-l5-l18-supply: true 197 vdd-l6-l9-supply: true 198 vdd-l7-l12-l14-l15-supply: true 199 vdd-l13-l16-l17-supply: true 200 patternProperties: 201 "^vdd-s([1-9]|10)-supply$": true 202 203 - if: 204 properties: 205 compatible: 206 enum: 207 - qcom,pm8150l-rpmh-regulators 208 then: 209 properties: 210 vdd-bob-supply: 211 description: BOB regulator parent supply phandle. 212 vdd-l1-l8-supply: true 213 vdd-l2-l3-supply: true 214 vdd-l4-l5-l6-supply: true 215 vdd-l7-l11-supply: true 216 vdd-l9-l10-supply: true 217 patternProperties: 218 "^vdd-s[1-8]-supply$": true 219 220 - if: 221 properties: 222 compatible: 223 enum: 224 - qcom,pm8350-rpmh-regulators 225 then: 226 properties: 227 vdd-l1-l4-supply: true 228 vdd-l2-l7-supply: true 229 vdd-l3-l5-supply: true 230 vdd-l6-l9-l10-supply: true 231 vdd-l8-supply: true 232 patternProperties: 233 "^vdd-s([1-9]|1[0-2])-supply$": true 234 235 - if: 236 properties: 237 compatible: 238 enum: 239 - qcom,pm8350c-rpmh-regulators 240 then: 241 properties: 242 vdd-bob-supply: 243 description: BOB regulator parent supply phandle. 244 vdd-l1-l12-supply: true 245 vdd-l2-l8-supply: true 246 vdd-l3-l4-l5-l7-l13-supply: true 247 vdd-l6-l9-l11-supply: true 248 vdd-l10-supply: true 249 patternProperties: 250 "^vdd-s([1-9]|10)-supply$": true 251 252 - if: 253 properties: 254 compatible: 255 enum: 256 - qcom,pm8450-rpmh-regulators 257 then: 258 patternProperties: 259 "^vdd-l[1-4]-supply$": true 260 "^vdd-s[1-6]-supply$": true 261 262 - if: 263 properties: 264 compatible: 265 enum: 266 - qcom,pm8998-rpmh-regulators 267 then: 268 properties: 269 vdd-l1-l27-supply: true 270 vdd-l2-l8-l17-supply: true 271 vdd-l3-l11-supply: true 272 vdd-l4-l5-supply: true 273 vdd-l6-supply: true 274 vdd-l7-l12-l14-l15-supply: true 275 vdd-l9-supply: true 276 vdd-l10-l23-l25-supply: true 277 vdd-l13-l19-l21-supply: true 278 vdd-l16-l28-supply: true 279 vdd-l18-l22-supply: true 280 vdd-l20-l24-supply: true 281 vdd-l26-supply: true 282 vin-lvs-1-2-supply: true 283 patternProperties: 284 "^vdd-s([1-9]|1[0-3])-supply$": true 285 286 - if: 287 properties: 288 compatible: 289 enum: 290 - qcom,pmg1110-rpmh-regulators 291 then: 292 properties: 293 vdd-s1-supply: true 294 295 - if: 296 properties: 297 compatible: 298 enum: 299 - qcom,pmi8998-rpmh-regulators 300 then: 301 properties: 302 vdd-bob-supply: 303 description: BOB regulator parent supply phandle. 304 305 - if: 306 properties: 307 compatible: 308 enum: 309 - qcom,pmr735a-rpmh-regulators 310 then: 311 properties: 312 vdd-l1-l2-supply: true 313 vdd-l3-supply: true 314 vdd-l4-supply: true 315 vdd-l5-l6-supply: true 316 vdd-l7-bob-supply: true 317 patternProperties: 318 "^vdd-s[1-3]-supply$": true 319 320 - if: 321 properties: 322 compatible: 323 enum: 324 - qcom,pmx55-rpmh-regulators 325 then: 326 properties: 327 vdd-l1-l2-supply: true 328 vdd-l3-l9-supply: true 329 vdd-l4-l12-supply: true 330 vdd-l5-l6-supply: true 331 vdd-l7-l8-supply: true 332 vdd-l10-l11-l13-supply: true 333 patternProperties: 334 "^vdd-l1[4-6]-supply$": true 335 "^vdd-s[1-7]-supply$": true 336 337 - if: 338 properties: 339 compatible: 340 enum: 341 - qcom,pmx65-rpmh-regulators 342 then: 343 properties: 344 vdd-l2-l18-supply: true 345 vdd-l5-l6-l16-supply: true 346 vdd-l8-l9-supply: true 347 vdd-l11-l13-supply: true 348 patternProperties: 349 "^vdd-l[1347]-supply$": true 350 "^vdd-l1[0245789]-supply$": true 351 "^vdd-l2[01]-supply$": true 352 "^vdd-s[1-8]-supply$": true 353 354unevaluatedProperties: false 355 356examples: 357 - | 358 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 359 360 pm8998-rpmh-regulators { 361 compatible = "qcom,pm8998-rpmh-regulators"; 362 qcom,pmic-id = "a"; 363 364 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>; 365 366 smps2 { 367 regulator-min-microvolt = <1100000>; 368 regulator-max-microvolt = <1100000>; 369 }; 370 371 ldo7 { 372 regulator-min-microvolt = <1800000>; 373 regulator-max-microvolt = <1800000>; 374 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 375 regulator-allowed-modes = 376 <RPMH_REGULATOR_MODE_LPM 377 RPMH_REGULATOR_MODE_HPM>; 378 regulator-allow-set-load; 379 }; 380 381 lvs1 { 382 regulator-min-microvolt = <1800000>; 383 regulator-max-microvolt = <1800000>; 384 }; 385 }; 386 387 pmi8998-rpmh-regulators { 388 compatible = "qcom,pmi8998-rpmh-regulators"; 389 qcom,pmic-id = "b"; 390 391 bob { 392 regulator-min-microvolt = <3312000>; 393 regulator-max-microvolt = <3600000>; 394 regulator-allowed-modes = 395 <RPMH_REGULATOR_MODE_AUTO 396 RPMH_REGULATOR_MODE_HPM>; 397 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 398 }; 399 }; 400... 401