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,rk817.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: RK817 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 RK817 series PMIC. This device consists of an i2c controlled MFD
15 that includes regulators, an RTC, a power button, an audio codec, and a
16 battery charger manager.
17
18 properties:
19 compatible:
20 enum:
21 - rockchip,rk817
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 minimum: 0
33 maximum: 1
34
35 clock-output-names:
36 description:
37 From common clock binding to override the default output clock name.
38
39 rockchip,system-power-controller:
40 type: boolean
41 description:
42 Telling whether or not this PMIC is controlling the system power.
43
44 wakeup-source:
45 type: boolean
46 description:
47 Device can be used as a wakeup source.
48
49 vcc1-supply:
50 description:
51 The input supply for DCDC_REG1.
52
53 vcc2-supply:
54 description:
55 The input supply for DCDC_REG2.
56
57 vcc3-supply:
58 description:
59 The input supply for DCDC_REG3.
60
61 vcc4-supply:
62 description:
63 The input supply for DCDC_REG4.
64
65 vcc5-supply:
66 description:
67 The input supply for LDO_REG1, LDO_REG2, and LDO_REG3.
68
69 vcc6-supply:
70 description:
71 The input supply for LDO_REG4, LDO_REG5, and LDO_REG6.
72
73 vcc7-supply:
74 description:
75 The input supply for LDO_REG7, LDO_REG8, and LDO_REG9.
76
77 vcc8-supply:
78 description:
79 The input supply for BOOST.
80
81 vcc9-supply:
82 description:
83 The input supply for OTG_SWITCH.
84
85 regulators:
86 type: object
87 patternProperties:
88 "^(LDO_REG[1-9]|DCDC_REG[1-4]|BOOST|OTG_SWITCH)$":
89 type: object
90 $ref: ../regulator/regulator.yaml#
91 unevaluatedProperties: false
92
93 clocks:
94 description:
95 The input clock for the audio codec.
96
97 clock-names:
98 description:
99 The clock name for the codec clock.
100 items:
101 - const: mclk
102
103 '#sound-dai-cells':
104 description:
105 Needed for the interpretation of sound dais.
106 const: 0
107
108 codec:
109 description: |
110 The child node for the codec to hold additional properties. If no
111 additional properties are required for the codec, this node can be
112 omitted.
113 type: object
114 properties:
115 rockchip,mic-in-differential:
116 type: boolean
117 description:
118 Describes if the microphone uses differential mode.
119
120 allOf:
121 - if:
122 properties:
123 '#clock-cells':
124 const: 0
125
126 then:
127 properties:
128 clock-output-names:
129 maxItems: 1
130
131 else:
132 properties:
133 clock-output-names:
134 maxItems: 2
135
136 required:
137 - compatible
138 - reg
139 - interrupts
140 - "#clock-cells"
141
142 additionalProperties: false
143
144 examples:
145 - |
146 #include <dt-bindings/clock/px30-cru.h>
147 #include <dt-bindings/pinctrl/rockchip.h>
148 #include <dt-bindings/interrupt-controller/irq.h>
149 #include <dt-bindings/gpio/gpio.h>
150 i2c {
151 #address-cells = <1>;
152 #size-cells = <0>;
153
154 rk817: pmic@20 {
155 compatible = "rockchip,rk817";
156 reg = <0x20>;
157 interrupt-parent = <&gpio0>;
158 interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
159 clock-output-names = "rk808-clkout1", "xin32k";
160 clock-names = "mclk";
161 clocks = <&cru SCLK_I2S1_OUT>;
162 pinctrl-names = "default";
163 pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
164 wakeup-source;
165 #clock-cells = <1>;
166 #sound-dai-cells = <0>;
167
168 vcc1-supply = <&vccsys>;
169 vcc2-supply = <&vccsys>;
170 vcc3-supply = <&vccsys>;
171 vcc4-supply = <&vccsys>;
172 vcc5-supply = <&vccsys>;
173 vcc6-supply = <&vccsys>;
174 vcc7-supply = <&vccsys>;
175
176 regulators {
177 vdd_logic: DCDC_REG1 {
178 regulator-name = "vdd_logic";
179 regulator-min-microvolt = <950000>;
180 regulator-max-microvolt = <1150000>;
181 regulator-ramp-delay = <6001>;
182 regulator-always-on;
183 regulator-boot-on;
184
185 regulator-state-mem {
186 regulator-on-in-suspend;
187 regulator-suspend-microvolt = <950000>;
188 };
189 };
190
191 vdd_arm: DCDC_REG2 {
192 regulator-name = "vdd_arm";
193 regulator-min-microvolt = <950000>;
194 regulator-max-microvolt = <1350000>;
195 regulator-ramp-delay = <6001>;
196 regulator-always-on;
197 regulator-boot-on;
198
199 regulator-state-mem {
200 regulator-off-in-suspend;
201 regulator-suspend-microvolt = <950000>;
202 };
203 };
204
205 vcc_ddr: DCDC_REG3 {
206 regulator-name = "vcc_ddr";
207 regulator-always-on;
208 regulator-boot-on;
209
210 regulator-state-mem {
211 regulator-on-in-suspend;
212 };
213 };
214
215 vcc_3v3: DCDC_REG4 {
216 regulator-name = "vcc_3v3";
217 regulator-min-microvolt = <3300000>;
218 regulator-max-microvolt = <3300000>;
219 regulator-always-on;
220 regulator-boot-on;
221
222 regulator-state-mem {
223 regulator-off-in-suspend;
224 regulator-suspend-microvolt = <3300000>;
225 };
226 };
227
228 vcc_1v8: LDO_REG2 {
229 regulator-name = "vcc_1v8";
230 regulator-min-microvolt = <1800000>;
231 regulator-max-microvolt = <1800000>;
232 regulator-always-on;
233 regulator-boot-on;
234
235 regulator-state-mem {
236 regulator-on-in-suspend;
237 regulator-suspend-microvolt = <1800000>;
238 };
239 };
240
241 vdd_1v0: LDO_REG3 {
242 regulator-name = "vdd_1v0";
243 regulator-min-microvolt = <1000000>;
244 regulator-max-microvolt = <1000000>;
245 regulator-always-on;
246 regulator-boot-on;
247
248 regulator-state-mem {
249 regulator-on-in-suspend;
250 regulator-suspend-microvolt = <1000000>;
251 };
252 };
253
254 vcc3v3_pmu: LDO_REG4 {
255 regulator-name = "vcc3v3_pmu";
256 regulator-min-microvolt = <3300000>;
257 regulator-max-microvolt = <3300000>;
258 regulator-always-on;
259 regulator-boot-on;
260
261 regulator-state-mem {
262 regulator-on-in-suspend;
263 regulator-suspend-microvolt = <3300000>;
264 };
265 };
266
267 vccio_sd: LDO_REG5 {
268 regulator-name = "vccio_sd";
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <3300000>;
271 regulator-always-on;
272 regulator-boot-on;
273
274 regulator-state-mem {
275 regulator-on-in-suspend;
276 regulator-suspend-microvolt = <3300000>;
277 };
278 };
279
280 vcc_sd: LDO_REG6 {
281 regulator-name = "vcc_sd";
282 regulator-min-microvolt = <3300000>;
283 regulator-max-microvolt = <3300000>;
284 regulator-boot-on;
285
286 regulator-state-mem {
287 regulator-on-in-suspend;
288 regulator-suspend-microvolt = <3300000>;
289 };
290 };
291
292 vcc_bl: LDO_REG7 {
293 regulator-name = "vcc_bl";
294 regulator-min-microvolt = <3300000>;
295 regulator-max-microvolt = <3300000>;
296
297 regulator-state-mem {
298 regulator-off-in-suspend;
299 regulator-suspend-microvolt = <3300000>;
300 };
301 };
302
303 vcc_lcd: LDO_REG8 {
304 regulator-name = "vcc_lcd";
305 regulator-min-microvolt = <2800000>;
306 regulator-max-microvolt = <2800000>;
307
308 regulator-state-mem {
309 regulator-off-in-suspend;
310 regulator-suspend-microvolt = <2800000>;
311 };
312 };
313
314 vcc_cam: LDO_REG9 {
315 regulator-name = "vcc_cam";
316 regulator-min-microvolt = <3000000>;
317 regulator-max-microvolt = <3000000>;
318
319 regulator-state-mem {
320 regulator-off-in-suspend;
321 regulator-suspend-microvolt = <3000000>;
322 };
323 };
324 };
325
326 rk817_codec: codec {
327 rockchip,mic-in-differential;
328 };
329 };
330 };
Cache object: cd608888aade3ceaf1384661a50d8077
|