Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/rockchip,rk806.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: RK806 Power Management Integrated Circuit
8
9maintainers:
10 - Sebastian Reichel <sebastian.reichel@collabora.com>
11
12description:
13 Rockchip RK806 series PMIC. This device consists of an spi or
14 i2c controlled MFD that includes multiple switchable regulators.
15
16properties:
17 compatible:
18 enum:
19 - rockchip,rk806
20
21 reg:
22 maxItems: 1
23
24 interrupts:
25 maxItems: 1
26
27 gpio-controller: true
28
29 '#gpio-cells':
30 const: 2
31
32 vcc1-supply:
33 description:
34 The input supply for dcdc-reg1.
35
36 vcc2-supply:
37 description:
38 The input supply for dcdc-reg2.
39
40 vcc3-supply:
41 description:
42 The input supply for dcdc-reg3.
43
44 vcc4-supply:
45 description:
46 The input supply for dcdc-reg4.
47
48 vcc5-supply:
49 description:
50 The input supply for dcdc-reg5.
51
52 vcc6-supply:
53 description:
54 The input supply for dcdc-reg6.
55
56 vcc7-supply:
57 description:
58 The input supply for dcdc-reg7.
59
60 vcc8-supply:
61 description:
62 The input supply for dcdc-reg8.
63
64 vcc9-supply:
65 description:
66 The input supply for dcdc-reg9.
67
68 vcc10-supply:
69 description:
70 The input supply for dcdc-reg10.
71
72 vcc11-supply:
73 description:
74 The input supply for pldo-reg1, pldo-reg2 and pldo-reg3.
75
76 vcc12-supply:
77 description:
78 The input supply for pldo-reg4 and pldo-reg5.
79
80 vcc13-supply:
81 description:
82 The input supply for nldo-reg1, nldo-reg2 and nldo-reg3.
83
84 vcc14-supply:
85 description:
86 The input supply for nldo-reg4 and nldo-reg5.
87
88 vcca-supply:
89 description:
90 The input supply for pldo-reg6.
91
92 regulators:
93 type: object
94 additionalProperties: false
95 patternProperties:
96 "^(dcdc-reg([1-9]|10)|pldo-reg[1-6]|nldo-reg[1-5])$":
97 type: object
98 $ref: /schemas/regulator/regulator.yaml#
99 unevaluatedProperties: false
100
101patternProperties:
102 '-pins$':
103 type: object
104 additionalProperties: false
105 $ref: /schemas/pinctrl/pinmux-node.yaml
106
107 properties:
108 function:
109 enum: [pin_fun0, pin_fun1, pin_fun2, pin_fun3, pin_fun4, pin_fun5]
110
111 pins:
112 $ref: /schemas/types.yaml#/definitions/string
113 enum: [gpio_pwrctrl1, gpio_pwrctrl2, gpio_pwrctrl3]
114
115allOf:
116 - $ref: /schemas/spi/spi-peripheral-props.yaml
117
118required:
119 - compatible
120 - reg
121 - interrupts
122
123unevaluatedProperties: false
124
125examples:
126 - |
127 #include <dt-bindings/pinctrl/rockchip.h>
128 #include <dt-bindings/interrupt-controller/irq.h>
129 #include <dt-bindings/gpio/gpio.h>
130 spi {
131 #address-cells = <1>;
132 #size-cells = <0>;
133
134 pmic@0 {
135 compatible = "rockchip,rk806";
136 reg = <0x0>;
137
138 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
139
140 vcc1-supply = <&vcc5v0_sys>;
141 vcc2-supply = <&vcc5v0_sys>;
142 vcc3-supply = <&vcc5v0_sys>;
143 vcc4-supply = <&vcc5v0_sys>;
144 vcc5-supply = <&vcc5v0_sys>;
145 vcc6-supply = <&vcc5v0_sys>;
146 vcc7-supply = <&vcc5v0_sys>;
147 vcc8-supply = <&vcc5v0_sys>;
148 vcc9-supply = <&vcc5v0_sys>;
149 vcc10-supply = <&vcc5v0_sys>;
150 vcc11-supply = <&vcc_2v0_pldo_s3>;
151 vcc12-supply = <&vcc5v0_sys>;
152 vcc13-supply = <&vcc5v0_sys>;
153 vcc14-supply = <&vcc_1v1_nldo_s3>;
154 vcca-supply = <&vcc5v0_sys>;
155
156 regulators {
157 vdd_gpu_s0: dcdc-reg1 {
158 regulator-always-on;
159 regulator-boot-on;
160 regulator-min-microvolt = <550000>;
161 regulator-max-microvolt = <950000>;
162 regulator-ramp-delay = <12500>;
163 regulator-name = "vdd_gpu_s0";
164 regulator-state-mem {
165 regulator-off-in-suspend;
166 };
167 };
168
169 vdd_npu_s0: dcdc-reg2 {
170 regulator-always-on;
171 regulator-boot-on;
172 regulator-min-microvolt = <550000>;
173 regulator-max-microvolt = <950000>;
174 regulator-ramp-delay = <12500>;
175 regulator-name = "vdd_npu_s0";
176 regulator-state-mem {
177 regulator-off-in-suspend;
178 };
179 };
180
181 vdd_log_s0: dcdc-reg3 {
182 regulator-always-on;
183 regulator-boot-on;
184 regulator-min-microvolt = <750000>;
185 regulator-max-microvolt = <750000>;
186 regulator-ramp-delay = <12500>;
187 regulator-name = "vdd_log_s0";
188 regulator-state-mem {
189 regulator-on-in-suspend;
190 regulator-suspend-microvolt = <750000>;
191 };
192 };
193
194 vdd_vdenc_s0: dcdc-reg4 {
195 regulator-always-on;
196 regulator-boot-on;
197 regulator-min-microvolt = <550000>;
198 regulator-max-microvolt = <950000>;
199 regulator-ramp-delay = <12500>;
200 regulator-name = "vdd_vdenc_s0";
201 regulator-state-mem {
202 regulator-off-in-suspend;
203 };
204 };
205
206 vdd_gpu_mem_s0: dcdc-reg5 {
207 regulator-always-on;
208 regulator-boot-on;
209 regulator-min-microvolt = <675000>;
210 regulator-max-microvolt = <950000>;
211 regulator-ramp-delay = <12500>;
212 regulator-name = "vdd_gpu_mem_s0";
213 regulator-state-mem {
214 regulator-off-in-suspend;
215 };
216 };
217
218 vdd_npu_mem_s0: dcdc-reg6 {
219 regulator-always-on;
220 regulator-boot-on;
221 regulator-min-microvolt = <675000>;
222 regulator-max-microvolt = <950000>;
223 regulator-ramp-delay = <12500>;
224 regulator-name = "vdd_npu_mem_s0";
225 regulator-state-mem {
226 regulator-off-in-suspend;
227 };
228 };
229
230 vcc_2v0_pldo_s3: dcdc-reg7 {
231 regulator-always-on;
232 regulator-boot-on;
233 regulator-min-microvolt = <2000000>;
234 regulator-max-microvolt = <2000000>;
235 regulator-ramp-delay = <12500>;
236 regulator-name = "vdd_2v0_pldo_s3";
237 regulator-state-mem {
238 regulator-on-in-suspend;
239 regulator-suspend-microvolt = <2000000>;
240 };
241 };
242
243 vdd_vdenc_mem_s0: dcdc-reg8 {
244 regulator-always-on;
245 regulator-boot-on;
246 regulator-min-microvolt = <675000>;
247 regulator-max-microvolt = <950000>;
248 regulator-ramp-delay = <12500>;
249 regulator-name = "vdd_vdenc_mem_s0";
250 regulator-state-mem {
251 regulator-off-in-suspend;
252 };
253 };
254
255 vdd2_ddr_s3: dcdc-reg9 {
256 regulator-always-on;
257 regulator-boot-on;
258 regulator-name = "vdd2_ddr_s3";
259 regulator-state-mem {
260 regulator-on-in-suspend;
261 };
262 };
263
264 vcc_1v1_nldo_s3: dcdc-reg10 {
265 regulator-always-on;
266 regulator-boot-on;
267 regulator-min-microvolt = <1100000>;
268 regulator-max-microvolt = <1100000>;
269 regulator-ramp-delay = <12500>;
270 regulator-name = "vcc_1v1_nldo_s3";
271 regulator-state-mem {
272 regulator-on-in-suspend;
273 regulator-suspend-microvolt = <1100000>;
274 };
275 };
276
277 avcc_1v8_s0: pldo-reg1 {
278 regulator-always-on;
279 regulator-boot-on;
280 regulator-min-microvolt = <1800000>;
281 regulator-max-microvolt = <1800000>;
282 regulator-ramp-delay = <12500>;
283 regulator-name = "avcc_1v8_s0";
284 regulator-state-mem {
285 regulator-off-in-suspend;
286 };
287 };
288
289 vdd1_1v8_ddr_s3: pldo-reg2 {
290 regulator-always-on;
291 regulator-boot-on;
292 regulator-min-microvolt = <1800000>;
293 regulator-max-microvolt = <1800000>;
294 regulator-ramp-delay = <12500>;
295 regulator-name = "vdd1_1v8_ddr_s3";
296 regulator-state-mem {
297 regulator-on-in-suspend;
298 regulator-suspend-microvolt = <1800000>;
299 };
300 };
301
302 vcc_1v8_s3: pldo-reg3 {
303 regulator-always-on;
304 regulator-boot-on;
305 regulator-min-microvolt = <1800000>;
306 regulator-max-microvolt = <1800000>;
307 regulator-ramp-delay = <12500>;
308 regulator-name = "vcc_1v8_s3";
309 regulator-state-mem {
310 regulator-on-in-suspend;
311 regulator-suspend-microvolt = <1800000>;
312 };
313 };
314
315 vcc_3v3_s0: pldo-reg4 {
316 regulator-always-on;
317 regulator-boot-on;
318 regulator-min-microvolt = <3300000>;
319 regulator-max-microvolt = <3300000>;
320 regulator-ramp-delay = <12500>;
321 regulator-name = "vcc_3v3_s0";
322 regulator-state-mem {
323 regulator-off-in-suspend;
324 };
325 };
326
327 vccio_sd_s0: pldo-reg5 {
328 regulator-always-on;
329 regulator-boot-on;
330 regulator-min-microvolt = <1800000>;
331 regulator-max-microvolt = <3300000>;
332 regulator-ramp-delay = <12500>;
333 regulator-name = "vccio_sd_s0";
334 regulator-state-mem {
335 regulator-off-in-suspend;
336 };
337 };
338
339 master_pldo6_s3: pldo-reg6 {
340 regulator-always-on;
341 regulator-boot-on;
342 regulator-min-microvolt = <1800000>;
343 regulator-max-microvolt = <1800000>;
344 regulator-name = "master_pldo6_s3";
345 regulator-state-mem {
346 regulator-on-in-suspend;
347 regulator-suspend-microvolt = <1800000>;
348 };
349 };
350
351 vdd_0v75_s3: nldo-reg1 {
352 regulator-always-on;
353 regulator-boot-on;
354 regulator-min-microvolt = <750000>;
355 regulator-max-microvolt = <750000>;
356 regulator-ramp-delay = <12500>;
357 regulator-name = "vdd_0v75_s3";
358 regulator-state-mem {
359 regulator-on-in-suspend;
360 regulator-suspend-microvolt = <750000>;
361 };
362 };
363
364 vdd2l_0v9_ddr_s3: nldo-reg2 {
365 regulator-always-on;
366 regulator-boot-on;
367 regulator-min-microvolt = <900000>;
368 regulator-max-microvolt = <900000>;
369 regulator-name = "vdd2l_0v9_ddr_s3";
370 regulator-state-mem {
371 regulator-on-in-suspend;
372 regulator-suspend-microvolt = <900000>;
373 };
374 };
375
376 master_nldo3: nldo-reg3 {
377 regulator-name = "master_nldo3";
378 regulator-state-mem {
379 regulator-off-in-suspend;
380 };
381 };
382
383 avdd_0v75_s0: nldo-reg4 {
384 regulator-always-on;
385 regulator-boot-on;
386 regulator-min-microvolt = <750000>;
387 regulator-max-microvolt = <750000>;
388 regulator-name = "avdd_0v75_s0";
389 regulator-state-mem {
390 regulator-off-in-suspend;
391 };
392 };
393
394 vdd_0v85_s0: nldo-reg5 {
395 regulator-always-on;
396 regulator-boot-on;
397 regulator-min-microvolt = <850000>;
398 regulator-max-microvolt = <850000>;
399 regulator-name = "vdd_0v85_s0";
400 regulator-state-mem {
401 regulator-off-in-suspend;
402 };
403 };
404 };
405 };
406 };