Commit | Line | Data |
---|---|---|
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 | ||
7 | title: RK818 Power Management Integrated Circuit | |
8 | ||
9 | maintainers: | |
10 | - Chris Zhong <zyw@rock-chips.com> | |
11 | - Zhang Qing <zhangqing@rock-chips.com> | |
12 | ||
13 | description: | | |
14 | Rockchip RK818 series PMIC. This device consists of an i2c controlled MFD | |
15 | that includes regulators, an RTC, and a power button. | |
16 | ||
17 | properties: | |
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 | ||
108 | required: | |
109 | - compatible | |
110 | - reg | |
111 | - interrupts | |
112 | - "#clock-cells" | |
113 | ||
114 | additionalProperties: false | |
115 | ||
116 | examples: | |
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 | }; |