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