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