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