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