1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/qcom,spmi-regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm SPMI Regulators 8 9maintainers: 10 - Robert Marko <robimarko@gmail.com> 11 12properties: 13 compatible: 14 enum: 15 - qcom,pm6125-regulators 16 - qcom,pm660-regulators 17 - qcom,pm660l-regulators 18 - qcom,pm8004-regulators 19 - qcom,pm8005-regulators 20 - qcom,pm8019-regulators 21 - qcom,pm8226-regulators 22 - qcom,pm8841-regulators 23 - qcom,pm8909-regulators 24 - qcom,pm8916-regulators 25 - qcom,pm8937-regulators 26 - qcom,pm8941-regulators 27 - qcom,pm8950-regulators 28 - qcom,pm8994-regulators 29 - qcom,pma8084-regulators 30 - qcom,pmi8994-regulators 31 - qcom,pmp8074-regulators 32 - qcom,pms405-regulators 33 34 qcom,saw-reg: 35 description: Reference to syscon node defining the SAW registers 36 $ref: /schemas/types.yaml#/definitions/phandle 37 38patternProperties: 39 "^(5vs[1-2]|(l|s)[1-9][0-9]?|lvs[1-4])$": 40 description: List of regulators and its properties 41 type: object 42 $ref: regulator.yaml# 43 unevaluatedProperties: false 44 45 properties: 46 qcom,ocp-max-retries: 47 description: 48 Maximum number of times to try toggling a voltage switch off and 49 back on as a result of consecutive over current events 50 $ref: /schemas/types.yaml#/definitions/uint32 51 52 qcom,ocp-retry-delay: 53 description: 54 Time to delay in milliseconds between each voltage switch toggle 55 after an over current event takes place 56 $ref: /schemas/types.yaml#/definitions/uint32 57 58 qcom,pin-ctrl-enable: 59 description: 60 Bit mask specifying which hardware pins should be used to enable the 61 regulator, if any. 62 Supported bits are 63 0 = ignore all hardware enable signals 64 BIT(0) = follow HW0_EN signal 65 BIT(1) = follow HW1_EN signal 66 BIT(2) = follow HW2_EN signal 67 BIT(3) = follow HW3_EN signal 68 $ref: /schemas/types.yaml#/definitions/uint32 69 minimum: 0 70 maximum: 15 71 72 qcom,pin-ctrl-hpm: 73 description: 74 Bit mask specifying which hardware pins should be used to force the 75 regulator into high power mode, if any. 76 Supported bits are 77 0 = ignore all hardware enable signals 78 BIT(0) = follow HW0_EN signal 79 BIT(1) = follow HW1_EN signal 80 BIT(2) = follow HW2_EN signal 81 BIT(3) = follow HW3_EN signal 82 BIT(4) = follow PMIC awake state 83 $ref: /schemas/types.yaml#/definitions/uint32 84 minimum: 0 85 maximum: 31 86 87 qcom,vs-soft-start-strength: 88 description: 89 This property sets the soft start strength for voltage switch type 90 regulators. 91 Supported values are 92 0 = 0.05 uA 93 1 = 0.25 uA 94 2 = 0.55 uA 95 3 = 0.75 uA 96 $ref: /schemas/types.yaml#/definitions/uint32 97 minimum: 0 98 maximum: 3 99 100 qcom,saw-slave: 101 description: SAW controlled gang slave. Will not be configured. 102 type: boolean 103 104 qcom,saw-leader: 105 description: 106 SAW controlled gang leader. Will be configured as SAW regulator. 107 type: boolean 108 109required: 110 - compatible 111 112allOf: 113 - if: 114 properties: 115 compatible: 116 contains: 117 enum: 118 - qcom,pm6125-regulators 119 then: 120 properties: 121 vdd_l1_l7_l17_l18-supply: true 122 vdd_l2_l3_l4-supply: true 123 vdd_l5_l15_l19_l20_l21_l22-supply: true 124 vdd_l6_l8-supply: true 125 vdd_l9_l11-supply: true 126 vdd_l10_l13_l14-supply: true 127 vdd_l12_l16-supply: true 128 vdd_l23_l24-supply: true 129 patternProperties: 130 "^vdd_s[1-8]-supply$": true 131 132 - if: 133 properties: 134 compatible: 135 contains: 136 enum: 137 - qcom,pm660-regulators 138 then: 139 properties: 140 vdd_l15_l16_l17_l18_l19-supply: true 141 vdd_l1_l6_l7-supply: true 142 vdd_l2_l3-supply: true 143 vdd_l5-supply: true 144 vdd_l8_l9_l10_l11_l12_l13_l14-supply: true 145 patternProperties: 146 "^vdd_s[1-6]-supply$": true 147 148 - if: 149 properties: 150 compatible: 151 contains: 152 enum: 153 - qcom,pm660l-regulators 154 then: 155 properties: 156 vdd_l1_l9_l10-supply: true 157 vdd_l2-supply: true 158 vdd_l3_l5_l7_l8-supply: true 159 vdd_l4_l6-supply: true 160 patternProperties: 161 "^vdd_s[1-5]-supply$": true 162 163 - if: 164 properties: 165 compatible: 166 contains: 167 enum: 168 - qcom,pm8004-regulators 169 then: 170 patternProperties: 171 "^vdd_s[25]-supply$": true 172 173 - if: 174 properties: 175 compatible: 176 contains: 177 enum: 178 - qcom,pm8005-regulators 179 then: 180 patternProperties: 181 "^vdd_s[1-4]-supply$": true 182 183 - if: 184 properties: 185 compatible: 186 contains: 187 enum: 188 - qcom,pm8019-regulators 189 then: 190 properties: 191 vdd_l1-supply: true 192 vdd_l2_l3-supply: true 193 vdd_l4_l5_l6-supply: true 194 vdd_l7_l8_l11-supply: true 195 vdd_l9-supply: true 196 vdd_l10-supply: true 197 vdd_l12-supply: true 198 vdd_l13_l14-supply: true 199 patternProperties: 200 "^vdd_s[1-4]-supply$": true 201 202 - if: 203 properties: 204 compatible: 205 contains: 206 enum: 207 - qcom,pm8226-regulators 208 then: 209 properties: 210 vdd_l10_l11_l13-supply: true 211 vdd_l12_l14-supply: true 212 vdd_l15_l16_l17_l18-supply: true 213 vdd_l19_l20_l21_l22_l23_l28-supply: true 214 vdd_l1_l2_l4_l5-supply: true 215 vdd_l25-supply: true 216 vdd_l3_l24_l26-supply: true 217 vdd_l6_l7_l8_l9_l27-supply: true 218 vdd_lvs1-supply: true 219 patternProperties: 220 "^vdd_s[1-5]-supply$": true 221 222 - if: 223 properties: 224 compatible: 225 contains: 226 enum: 227 - qcom,pm8841-regulators 228 then: 229 patternProperties: 230 "^vdd_s[1-8]-supply$": true 231 232 - if: 233 properties: 234 compatible: 235 contains: 236 enum: 237 - qcom,pm8909-regulators 238 then: 239 properties: 240 vdd_s1-supply: true 241 vdd_s2-supply: true 242 vdd_l1-supply: true 243 vdd_l2_l5-supply: true 244 vdd_l3_l6_l10-supply: true 245 vdd_l4_l7-supply: true 246 vdd_l8_l11_l15_l18-supply: true 247 vdd_l9_l12_l14_l17-supply: true 248 vdd_l13-supply: true 249 250 - if: 251 properties: 252 compatible: 253 contains: 254 enum: 255 - qcom,pm8916-regulators 256 then: 257 properties: 258 vdd_l1_l3-supply: true 259 vdd_l4_l5_l6-supply: true 260 vdd_l8_l11_l14_l15_l16-supply: true 261 vdd_l9_l10_l12_l13_l17_l18-supply: true 262 patternProperties: 263 "^vdd_l[27]-supply$": true 264 "^vdd_s[1-4]-supply$": true 265 266 - if: 267 properties: 268 compatible: 269 contains: 270 enum: 271 - qcom,pm8941-regulators 272 then: 273 properties: 274 interrupts: 275 items: 276 - description: Over-current protection interrupt for 5V S1 277 - description: Over-current protection interrupt for 5V S2 278 interrupt-names: 279 items: 280 - const: ocp-5vs1 281 - const: ocp-5vs2 282 vdd_l13_l20_l23_l24-supply: true 283 vdd_l1_l3-supply: true 284 vdd_l21-supply: true 285 vdd_l2_lvs_1_2_3-supply: true 286 vdd_l4_l11-supply: true 287 vdd_l5_l7-supply: true 288 vdd_l6_l12_l14_l15-supply: true 289 vdd_l8_l16_l18_19-supply: true 290 vdd_l9_l10_l17_l22-supply: true 291 vin_5vs-supply: true 292 patternProperties: 293 "^vdd_s[1-3]-supply$": true 294 295 - if: 296 properties: 297 compatible: 298 contains: 299 enum: 300 - qcom,pm8937-regulators 301 then: 302 properties: 303 vdd_l1_l19-supply: true 304 vdd_l20_l21-supply: true 305 vdd_l2_l23-supply: true 306 vdd_l3-supply: true 307 vdd_l4_l5_l6_l7_l16-supply: true 308 vdd_l8_l11_l12_l17_l22-supply: true 309 vdd_l9_l10_l13_l14_l15_l18-supply: true 310 patternProperties: 311 "^vdd_s[1-6]-supply$": true 312 313 - if: 314 properties: 315 compatible: 316 contains: 317 enum: 318 - qcom,pm8950-regulators 319 then: 320 properties: 321 vdd_l1_l19-supply: true 322 vdd_l20-supply: true 323 vdd_l21-supply: true 324 vdd_l2_l23-supply: true 325 vdd_l3-supply: true 326 vdd_l4_l5_l6_l7_l16-supply: true 327 vdd_l8_l11_l12_l17_l22-supply: true 328 vdd_l9_l10_l13_l14_l15_l18-supply: true 329 patternProperties: 330 "^vdd_s[1-6]-supply$": true 331 332 - if: 333 properties: 334 compatible: 335 contains: 336 enum: 337 - qcom,pm8994-regulators 338 then: 339 properties: 340 vdd_l1-supply: true 341 vdd_l13_l19_l23_l24-supply: true 342 vdd_l14_l15-supply: true 343 vdd_l17_l29-supply: true 344 vdd_l20_l21-supply: true 345 vdd_l25-supply: true 346 vdd_l2_l26_l28-supply: true 347 vdd_l3_l11-supply: true 348 vdd_l4_l27_l31-supply: true 349 vdd_l5_l7-supply: true 350 vdd_l6_l12_l32-supply: true 351 vdd_l8_l16_l30-supply: true 352 vdd_l9_l10_l18_l22-supply: true 353 vdd_lvs_1_2-supply: true 354 patternProperties: 355 "^vdd_s[1-9][0-2]?-supply$": true 356 357 - if: 358 properties: 359 compatible: 360 contains: 361 enum: 362 - qcom,pma8084-regulators 363 then: 364 properties: 365 vdd_l1_l11-supply: true 366 vdd_l2_l3_l4_l27-supply: true 367 vdd_l5_l7-supply: true 368 vdd_l6_l12_l14_l15_l26-supply: true 369 vdd_l8-supply: true 370 vdd_l9_l10_l13_l20_l23_l24-supply: true 371 vdd_l16_l25-supply: true 372 vdd_l17-supply: true 373 vdd_l18-supply: true 374 vdd_l19-supply: true 375 vdd_l21-supply: true 376 vdd_l22-supply: true 377 vdd_lvs1_2-supply: true 378 vdd_lvs3_4-supply: true 379 vdd_5vs1-supply: true 380 patternProperties: 381 "^vdd_s([1-9]|1[0-2])-supply$": true 382 383 - if: 384 properties: 385 compatible: 386 contains: 387 enum: 388 - qcom,pmi8994-regulators 389 then: 390 properties: 391 vdd_l1-supply: true 392 patternProperties: 393 "^vdd_s[1-3]-supply$": true 394 395 - if: 396 properties: 397 compatible: 398 contains: 399 enum: 400 - qcom,pmp8074-regulators 401 then: 402 properties: 403 vdd_l10_l11_l12_l13-supply: true 404 vdd_l1_l2-supply: true 405 vdd_l3_l8-supply: true 406 vdd_l5_l6_l15-supply: true 407 patternProperties: 408 "^vdd_l[479]-supply$": true 409 "^vdd_s[1-5]-supply$": true 410 411 - if: 412 properties: 413 compatible: 414 contains: 415 enum: 416 - qcom,pms405-regulators 417 then: 418 properties: 419 vdd_s3-supply: true 420 421unevaluatedProperties: false 422 423examples: 424 - | 425 regulators { 426 compatible = "qcom,pm8941-regulators"; 427 vdd_l1_l3-supply = <&s1>; 428 429 s1: s1 { 430 regulator-min-microvolt = <1300000>; 431 regulator-max-microvolt = <1400000>; 432 }; 433 434 l1: l1 { 435 regulator-min-microvolt = <1225000>; 436 regulator-max-microvolt = <1300000>; 437 }; 438 }; 439... 440