Merge tag 'mfd-next-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
[linux-2.6-block.git] / Documentation / devicetree / bindings / mfd / rockchip,rk818.yaml
CommitLineData
6c38ca03
CM
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,rk818.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: RK818 Power Management Integrated Circuit
8
9maintainers:
10 - Chris Zhong <zyw@rock-chips.com>
11 - Zhang Qing <zhangqing@rock-chips.com>
12
13description: |
14 Rockchip RK818 series PMIC. This device consists of an i2c controlled MFD
15 that includes regulators, an RTC, and a power button.
16
17properties:
18 compatible:
19 enum:
20 - rockchip,rk818
21
22 reg:
23 maxItems: 1
24
25 interrupts:
26 maxItems: 1
27
28 '#clock-cells':
29 description: |
30 See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
31 const: 1
32
33 clock-output-names:
34 description:
35 From common clock binding to override the default output clock name.
36 maxItems: 2
37
38 rockchip,system-power-controller:
39 type: boolean
961748bb 40 deprecated: true
6c38ca03
CM
41 description:
42 Telling whether or not this PMIC is controlling the system power.
43
961748bb
OJ
44 system-power-controller: true
45
6c38ca03
CM
46 wakeup-source:
47 type: boolean
48 description:
49 Device can be used as a wakeup source.
50
51 vcc1-supply:
52 description:
53 The input supply for DCDC_REG1.
54
55 vcc2-supply:
56 description:
57 The input supply for DCDC_REG2.
58
59 vcc3-supply:
60 description:
61 The input supply for DCDC_REG3.
62
63 vcc4-supply:
64 description:
65 The input supply for DCDC_REG4.
66
67 boost-supply:
68 description:
69 The input supply for DCDC_BOOST
70
71 vcc6-supply:
72 description:
73 The input supply for LDO_REG1 and LDO_REG2.
74
75 vcc7-supply:
76 description:
77 The input supply for LDO_REG3, LDO_REG5, and LDO_REG7.
78
79 vcc8-supply:
80 description:
81 The input supply for LDO_REG4, LDO_REG6, and LDO_REG8.
82
83 vcc9-supply:
84 description:
85 The input supply for LDO_REG9 and SWITCH_REG.
86
87 vddio-supply:
88 description:
89 The input supply for digital IO.
90
91 h_5v-supply:
92 description:
93 The input supply for HDMI_SWITCH.
94
95 usb-supply:
96 description:
97 The input supply for OTG_SWITCH.
98
99 regulators:
100 type: object
101 patternProperties:
102 "^(DCDC_REG[1-4]|DCDC_BOOST|LDO_REG[1-9]|SWITCH_REG|HDMI_SWITCH|OTG_SWITCH)$":
103 type: object
1482489b 104 $ref: /schemas/regulator/regulator.yaml#
8cdbe51c 105 unevaluatedProperties: false
6c38ca03
CM
106 unevaluatedProperties: false
107
108required:
109 - compatible
110 - reg
111 - interrupts
112 - "#clock-cells"
113
114additionalProperties: false
115
116examples:
117 - |
118 #include <dt-bindings/clock/px30-cru.h>
119 #include <dt-bindings/pinctrl/rockchip.h>
120 #include <dt-bindings/interrupt-controller/irq.h>
121 #include <dt-bindings/gpio/gpio.h>
122 i2c {
123 #address-cells = <1>;
124 #size-cells = <0>;
125
126 rk818: pmic@1c {
127 compatible = "rockchip,rk818";
128 reg = <0x1c>;
129 interrupt-parent = <&gpio0>;
130 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
131 pinctrl-names = "default";
132 pinctrl-0 = <&pmic_int>;
133 rockchip,system-power-controller;
134 wakeup-source;
135 #clock-cells = <1>;
136
137 vcc1-supply = <&vdd_sys>;
138 vcc2-supply = <&vdd_sys>;
139 vcc3-supply = <&vdd_sys>;
140 vcc4-supply = <&vdd_sys>;
141 boost-supply = <&vdd_in_otg_out>;
142 vcc6-supply = <&vdd_sys>;
143 vcc7-supply = <&vdd_misc_1v8>;
144 vcc8-supply = <&vdd_misc_1v8>;
145 vcc9-supply = <&vdd_3v3_io>;
146 vddio-supply = <&vdd_3v3_io>;
147
148 regulators {
149 vdd_log: DCDC_REG1 {
150 regulator-name = "vdd_log";
151 regulator-always-on;
152 regulator-boot-on;
153 regulator-min-microvolt = <1100000>;
154 regulator-max-microvolt = <1100000>;
155 regulator-state-mem {
156 regulator-off-in-suspend;
157 };
158 };
159
160 vdd_gpu: DCDC_REG2 {
161 regulator-name = "vdd_gpu";
162 regulator-always-on;
163 regulator-boot-on;
164 regulator-min-microvolt = <800000>;
165 regulator-max-microvolt = <1250000>;
166 regulator-state-mem {
167 regulator-on-in-suspend;
168 regulator-suspend-microvolt = <1000000>;
169 };
170 };
171
172 vcc_ddr: DCDC_REG3 {
173 regulator-name = "vcc_ddr";
174 regulator-always-on;
175 regulator-boot-on;
176 regulator-state-mem {
177 regulator-on-in-suspend;
178 };
179 };
180
181 vdd_3v3_io: DCDC_REG4 {
182 regulator-name = "vdd_3v3_io";
183 regulator-always-on;
184 regulator-boot-on;
185 regulator-min-microvolt = <3300000>;
186 regulator-max-microvolt = <3300000>;
187 regulator-state-mem {
188 regulator-on-in-suspend;
189 regulator-suspend-microvolt = <3300000>;
190 };
191 };
192
193 vdd_sys: DCDC_BOOST {
194 regulator-name = "vdd_sys";
195 regulator-always-on;
196 regulator-boot-on;
197 regulator-min-microvolt = <5000000>;
198 regulator-max-microvolt = <5000000>;
199 regulator-state-mem {
200 regulator-on-in-suspend;
201 regulator-suspend-microvolt = <5000000>;
202 };
203 };
204
205 vdd_sd: SWITCH_REG {
206 regulator-name = "vdd_sd";
207 regulator-always-on;
208 regulator-boot-on;
209 regulator-state-mem {
210 regulator-off-in-suspend;
211 };
212 };
213
214 vdd_eth_2v5: LDO_REG2 {
215 regulator-name = "vdd_eth_2v5";
216 regulator-always-on;
217 regulator-boot-on;
218 regulator-min-microvolt = <2500000>;
219 regulator-max-microvolt = <2500000>;
220 regulator-state-mem {
221 regulator-on-in-suspend;
222 regulator-suspend-microvolt = <2500000>;
223 };
224 };
225
226 vdd_1v0: LDO_REG3 {
227 regulator-name = "vdd_1v0";
228 regulator-always-on;
229 regulator-boot-on;
230 regulator-min-microvolt = <1000000>;
231 regulator-max-microvolt = <1000000>;
232 regulator-state-mem {
233 regulator-on-in-suspend;
234 regulator-suspend-microvolt = <1000000>;
235 };
236 };
237
238 vdd_1v8_lcd_ldo: LDO_REG4 {
239 regulator-name = "vdd_1v8_lcd_ldo";
240 regulator-always-on;
241 regulator-boot-on;
242 regulator-min-microvolt = <1800000>;
243 regulator-max-microvolt = <1800000>;
244 regulator-state-mem {
245 regulator-on-in-suspend;
246 regulator-suspend-microvolt = <1800000>;
247 };
248 };
249
250 vdd_1v0_lcd: LDO_REG6 {
251 regulator-name = "vdd_1v0_lcd";
252 regulator-always-on;
253 regulator-boot-on;
254 regulator-min-microvolt = <1000000>;
255 regulator-max-microvolt = <1000000>;
256 regulator-state-mem {
257 regulator-on-in-suspend;
258 regulator-suspend-microvolt = <1000000>;
259 };
260 };
261
262 vdd_1v8_ldo: LDO_REG7 {
263 regulator-name = "vdd_1v8_ldo";
264 regulator-always-on;
265 regulator-boot-on;
266 regulator-min-microvolt = <1800000>;
267 regulator-max-microvolt = <1800000>;
268 regulator-state-mem {
269 regulator-off-in-suspend;
270 regulator-suspend-microvolt = <1800000>;
271 };
272 };
273
274 vdd_io_sd: LDO_REG9 {
275 regulator-name = "vdd_io_sd";
276 regulator-always-on;
277 regulator-boot-on;
278 regulator-min-microvolt = <1800000>;
279 regulator-max-microvolt = <3300000>;
280 regulator-state-mem {
281 regulator-off-in-suspend;
282 };
283 };
284 };
285 };
286 };