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