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,rk816.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: RK816 Power Management Integrated Circuit
8
9maintainers:
10 - Chris Zhong <zyw@rock-chips.com>
11 - Zhang Qing <zhangqing@rock-chips.com>
12
13description:
14 Rockchip RK816 series PMIC. This device consists of an i2c controlled MFD
15 that includes regulators, a RTC, a GPIO controller, a power button, and a
16 battery charger manager with fuel gauge.
17
18properties:
19 compatible:
20 enum:
21 - rockchip,rk816
22
23 reg:
24 maxItems: 1
25
26 interrupts:
27 maxItems: 1
28
29 '#clock-cells':
30 description:
31 See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
32 const: 1
33
34 clock-output-names:
35 maxItems: 2
36
37 gpio-controller: true
38
39 '#gpio-cells':
40 const: 2
41
42 system-power-controller:
43 type: boolean
44 description:
45 Telling whether or not this PMIC is controlling the system power.
46
47 wakeup-source:
48 type: boolean
49
50 vcc1-supply:
51 description:
52 The input supply for dcdc1.
53
54 vcc2-supply:
55 description:
56 The input supply for dcdc2.
57
58 vcc3-supply:
59 description:
60 The input supply for dcdc3.
61
62 vcc4-supply:
63 description:
64 The input supply for dcdc4.
65
66 vcc5-supply:
67 description:
68 The input supply for ldo1, ldo2, and ldo3.
69
70 vcc6-supply:
71 description:
72 The input supply for ldo4, ldo5, and ldo6.
73
74 vcc7-supply:
75 description:
76 The input supply for boost.
77
78 vcc8-supply:
79 description:
80 The input supply for otg-switch.
81
82 regulators:
83 type: object
84 patternProperties:
85 '^(boost|dcdc[1-4]|ldo[1-6]|otg-switch)$':
86 type: object
87 $ref: /schemas/regulator/regulator.yaml#
88 unevaluatedProperties: false
89 additionalProperties: false
90
91patternProperties:
92 '-pins$':
93 type: object
94 additionalProperties: false
95 $ref: /schemas/pinctrl/pinmux-node.yaml
96
97 properties:
98 function:
99 enum: [gpio, thermistor]
100
101 pins:
102 $ref: /schemas/types.yaml#/definitions/string
103 const: gpio0
104
105required:
106 - compatible
107 - reg
108 - interrupts
109 - '#clock-cells'
110
111additionalProperties: false
112
113examples:
114 - |
115 #include <dt-bindings/pinctrl/rockchip.h>
116 #include <dt-bindings/interrupt-controller/irq.h>
117 #include <dt-bindings/gpio/gpio.h>
118
119 i2c {
120 #address-cells = <1>;
121 #size-cells = <0>;
122
123 rk816: pmic@1a {
124 compatible = "rockchip,rk816";
125 reg = <0x1a>;
126 interrupt-parent = <&gpio0>;
127 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
128 clock-output-names = "xin32k", "rk816-clkout2";
129 pinctrl-names = "default";
130 pinctrl-0 = <&pmic_int_l>;
131 gpio-controller;
132 system-power-controller;
133 wakeup-source;
134 #clock-cells = <1>;
135 #gpio-cells = <2>;
136
137 vcc1-supply = <&vcc_sys>;
138 vcc2-supply = <&vcc_sys>;
139 vcc3-supply = <&vcc_sys>;
140 vcc4-supply = <&vcc_sys>;
141 vcc5-supply = <&vcc33_io>;
142 vcc6-supply = <&vcc_sys>;
143
144 regulators {
145 vdd_cpu: dcdc1 {
146 regulator-name = "vdd_cpu";
147 regulator-min-microvolt = <750000>;
148 regulator-max-microvolt = <1450000>;
149 regulator-ramp-delay = <6001>;
150 regulator-initial-mode = <1>;
151 regulator-always-on;
152 regulator-boot-on;
153
154 regulator-state-mem {
155 regulator-off-in-suspend;
156 };
157 };
158
159 vdd_logic: dcdc2 {
160 regulator-name = "vdd_logic";
161 regulator-min-microvolt = <800000>;
162 regulator-max-microvolt = <1250000>;
163 regulator-ramp-delay = <6001>;
164 regulator-initial-mode = <1>;
165 regulator-always-on;
166 regulator-boot-on;
167
168 regulator-state-mem {
169 regulator-on-in-suspend;
170 regulator-suspend-microvolt = <1000000>;
171 };
172 };
173
174 vcc_ddr: dcdc3 {
175 regulator-name = "vcc_ddr";
176 regulator-initial-mode = <1>;
177 regulator-always-on;
178 regulator-boot-on;
179
180 regulator-state-mem {
181 regulator-on-in-suspend;
182 };
183 };
184
185 vcc33_io: dcdc4 {
186 regulator-min-microvolt = <3300000>;
187 regulator-max-microvolt = <3300000>;
188 regulator-name = "vcc33_io";
189 regulator-initial-mode = <1>;
190 regulator-always-on;
191 regulator-boot-on;
192
193 regulator-state-mem {
194 regulator-on-in-suspend;
195 regulator-suspend-microvolt = <3300000>;
196 };
197 };
198
199 vccio_pmu: ldo1 {
200 regulator-min-microvolt = <3300000>;
201 regulator-max-microvolt = <3300000>;
202 regulator-name = "vccio_pmu";
203 regulator-always-on;
204 regulator-boot-on;
205
206 regulator-state-mem {
207 regulator-on-in-suspend;
208 regulator-suspend-microvolt = <3300000>;
209 };
210 };
211
212 vcc_tp: ldo2 {
213 regulator-min-microvolt = <3300000>;
214 regulator-max-microvolt = <3300000>;
215 regulator-name = "vcc_tp";
216
217 regulator-state-mem {
218 regulator-off-in-suspend;
219 };
220 };
221
222 vdd_10: ldo3 {
223 regulator-min-microvolt = <1000000>;
224 regulator-max-microvolt = <1000000>;
225 regulator-name = "vdd_10";
226 regulator-always-on;
227 regulator-boot-on;
228
229 regulator-state-mem {
230 regulator-on-in-suspend;
231 regulator-suspend-microvolt = <1000000>;
232 };
233 };
234
235 vcc18_lcd: ldo4 {
236 regulator-min-microvolt = <1800000>;
237 regulator-max-microvolt = <1800000>;
238 regulator-name = "vcc18_lcd";
239
240 regulator-state-mem {
241 regulator-on-in-suspend;
242 regulator-suspend-microvolt = <1800000>;
243 };
244 };
245
246 vccio_sd: ldo5 {
247 regulator-min-microvolt = <1800000>;
248 regulator-max-microvolt = <3300000>;
249 regulator-name = "vccio_sd";
250
251 regulator-state-mem {
252 regulator-on-in-suspend;
253 regulator-suspend-microvolt = <3300000>;
254 };
255 };
256
257 vdd10_lcd: ldo6 {
258 regulator-min-microvolt = <1000000>;
259 regulator-max-microvolt = <1000000>;
260 regulator-name = "vdd10_lcd";
261
262 regulator-state-mem {
263 regulator-on-in-suspend;
264 regulator-suspend-microvolt = <1000000>;
265 };
266 };
267 };
268
269 rk816_gpio_pins: gpio-pins {
270 function = "gpio";
271 pins = "gpio0";
272 };
273 };
274 };