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