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