1 RK8XX Power Management Integrated Circuit
3 The rk8xx family current members:
11 - compatible: "rockchip,rk805"
12 - compatible: "rockchip,rk808"
13 - compatible: "rockchip,rk809"
14 - compatible: "rockchip,rk817"
15 - compatible: "rockchip,rk818"
16 - reg: I2C slave address
17 - interrupts: the interrupt outputs of the controller.
18 - #clock-cells: from common clock binding; shall be set to 1 (multiple clock
19 outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
22 - clock-output-names: From common clock binding to override the
23 default output clock name
24 - rockchip,system-power-controller: Telling whether or not this pmic is controlling
26 - wakeup-source: Device can be used as a wakeup source.
28 Optional RK805 properties:
29 - vcc1-supply: The input supply for DCDC_REG1
30 - vcc2-supply: The input supply for DCDC_REG2
31 - vcc3-supply: The input supply for DCDC_REG3
32 - vcc4-supply: The input supply for DCDC_REG4
33 - vcc5-supply: The input supply for LDO_REG1 and LDO_REG2
34 - vcc6-supply: The input supply for LDO_REG3
36 Optional RK808 properties:
37 - vcc1-supply: The input supply for DCDC_REG1
38 - vcc2-supply: The input supply for DCDC_REG2
39 - vcc3-supply: The input supply for DCDC_REG3
40 - vcc4-supply: The input supply for DCDC_REG4
41 - vcc6-supply: The input supply for LDO_REG1 and LDO_REG2
42 - vcc7-supply: The input supply for LDO_REG3 and LDO_REG7
43 - vcc8-supply: The input supply for SWITCH_REG1
44 - vcc9-supply: The input supply for LDO_REG4 and LDO_REG5
45 - vcc10-supply: The input supply for LDO_REG6
46 - vcc11-supply: The input supply for LDO_REG8
47 - vcc12-supply: The input supply for SWITCH_REG2
48 - dvs-gpios: buck1/2 can be controlled by gpio dvs, this is GPIO specifiers
49 for 2 host gpio's used for dvs. The format of the gpio specifier depends in
50 the gpio controller. If DVS GPIOs aren't present, voltage changes will happen
51 very quickly with no slow ramp time.
53 Optional shared RK809 and RK817 properties:
54 - vcc1-supply: The input supply for DCDC_REG1
55 - vcc2-supply: The input supply for DCDC_REG2
56 - vcc3-supply: The input supply for DCDC_REG3
57 - vcc4-supply: The input supply for DCDC_REG4
58 - vcc5-supply: The input supply for LDO_REG1, LDO_REG2, LDO_REG3
59 - vcc6-supply: The input supply for LDO_REG4, LDO_REG5, LDO_REG6
60 - vcc7-supply: The input supply for LDO_REG7, LDO_REG8, LDO_REG9
62 Optional RK809 properties:
63 - vcc8-supply: The input supply for SWITCH_REG1
64 - vcc9-supply: The input supply for DCDC_REG5, SWITCH_REG2
66 Optional RK817 properties:
67 - clocks: The input clock for the audio codec
68 - clock-names: The clock name for the codec clock. Should be "mclk".
69 - #sound-dai-cells: Needed for the interpretation of sound dais. Should be 0.
71 - vcc8-supply: The input supply for BOOST
72 - vcc9-supply: The input supply for OTG_SWITCH
73 - codec: The child node for the codec to hold additional properties.
74 If no additional properties are required for the codec, this
77 - rockchip,mic-in-differential: Telling if the microphone uses differential
78 mode. Should be under the codec child node.
80 Optional RK818 properties:
81 - vcc1-supply: The input supply for DCDC_REG1
82 - vcc2-supply: The input supply for DCDC_REG2
83 - vcc3-supply: The input supply for DCDC_REG3
84 - vcc4-supply: The input supply for DCDC_REG4
85 - boost-supply: The input supply for DCDC_BOOST
86 - vcc6-supply: The input supply for LDO_REG1 and LDO_REG2
87 - vcc7-supply: The input supply for LDO_REG3, LDO_REG5 and LDO_REG7
88 - vcc8-supply: The input supply for LDO_REG4, LDO_REG6 and LDO_REG8
89 - vcc9-supply: The input supply for LDO_REG9 and SWITCH_REG
90 - h_5v-supply: The input supply for HDMI_SWITCH
91 - usb-supply: The input supply for OTG_SWITCH
93 Regulators: All the regulators of RK8XX to be instantiated shall be
94 listed in a child node named 'regulators'. Each regulator is represented
95 by a child node of the 'regulators' node.
98 /* standard regulator bindings here */
101 Following regulators of the RK805 PMIC regulators are supported. Note that
102 the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
103 number as described in RK805 datasheet.
106 - valid values for n are 1 to 4.
108 - valid values for n are 1 to 3
110 Following regulators of the RK808 PMIC block are supported. Note that
111 the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
112 number as described in RK808 datasheet.
115 - valid values for n are 1 to 4.
117 - valid values for n are 1 to 8.
119 - valid values for n are 1 to 2
121 Following regulators of the RK809 and RK817 PMIC blocks are supported. Note that
122 the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
123 number as described in RK809 and RK817 datasheets.
126 - valid values for n are 1 to 5 for RK809.
127 - valid values for n are 1 to 4 for RK817.
129 - valid values for n are 1 to 9 for RK809.
130 - valid values for n are 1 to 9 for RK817.
132 - valid values for n are 1 to 2 for RK809.
134 - OTG_SWITCH for RK817
136 Following regulators of the RK818 PMIC block are supported. Note that
137 the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
138 number as described in RK818 datasheet.
141 - valid values for n are 1 to 4.
143 - valid values for n are 1 to 9.
148 It is necessary to configure three pins for both the RK809 and RK817, the three
149 pins are "gpio_ts" "gpio_gt" "gpio_slp".
150 The gpio_gt and gpio_ts pins support the gpio function.
151 The gpio_slp pin is for controlling the pmic states, as below:
156 Standard regulator bindings are used inside regulator subnodes. Check
157 Documentation/devicetree/bindings/regulator/regulator.txt
162 compatible = "rockchip,rk808";
163 clock-output-names = "xin32k", "rk808-clkout2";
164 interrupt-parent = <&gpio0>;
165 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
166 pinctrl-names = "default";
167 pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>;
168 dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>,
169 <&gpio7 15 GPIO_ACTIVE_HIGH>;
171 rockchip,system-power-controller;
175 vcc8-supply = <&vcc_18>;
176 vcc9-supply = <&vcc_io>;
177 vcc10-supply = <&vcc_io>;
178 vcc12-supply = <&vcc_io>;
179 vddio-supply = <&vccio_pmu>;
185 regulator-min-microvolt = <750000>;
186 regulator-max-microvolt = <1300000>;
187 regulator-name = "vdd_arm";
193 regulator-min-microvolt = <850000>;
194 regulator-max-microvolt = <1250000>;
195 regulator-name = "vdd_gpu";
201 regulator-name = "vcc_ddr";
207 regulator-min-microvolt = <3300000>;
208 regulator-max-microvolt = <3300000>;
209 regulator-name = "vcc_io";
212 vccio_pmu: LDO_REG1 {
215 regulator-min-microvolt = <3300000>;
216 regulator-max-microvolt = <3300000>;
217 regulator-name = "vccio_pmu";
223 regulator-min-microvolt = <3300000>;
224 regulator-max-microvolt = <3300000>;
225 regulator-name = "vcc_tp";
231 regulator-min-microvolt = <1000000>;
232 regulator-max-microvolt = <1000000>;
233 regulator-name = "vdd_10";
236 vcc18_lcd: LDO_REG4 {
239 regulator-min-microvolt = <1800000>;
240 regulator-max-microvolt = <1800000>;
241 regulator-name = "vcc18_lcd";
247 regulator-min-microvolt = <1800000>;
248 regulator-max-microvolt = <3300000>;
249 regulator-name = "vccio_sd";
252 vdd10_lcd: LDO_REG6 {
255 regulator-min-microvolt = <1000000>;
256 regulator-max-microvolt = <1000000>;
257 regulator-name = "vdd10_lcd";
263 regulator-min-microvolt = <1800000>;
264 regulator-max-microvolt = <1800000>;
265 regulator-name = "vcc_18";
268 vcca_codec: LDO_REG8 {
271 regulator-min-microvolt = <3300000>;
272 regulator-max-microvolt = <3300000>;
273 regulator-name = "vcca_codec";
276 vcc_wl: SWITCH_REG1 {
279 regulator-name = "vcc_wl";
282 vcc_lcd: SWITCH_REG2 {
285 regulator-name = "vcc_lcd";
291 compatible = "rockchip,rk817";
293 interrupt-parent = <&gpio0>;
294 interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
295 clock-output-names = "rk808-clkout1", "xin32k";
296 clock-names = "mclk";
297 clocks = <&cru SCLK_I2S1_OUT>;
298 pinctrl-names = "default";
299 pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
302 #sound-dai-cells = <0>;
304 vcc1-supply = <&vccsys>;
305 vcc2-supply = <&vccsys>;
306 vcc3-supply = <&vccsys>;
307 vcc4-supply = <&vccsys>;
308 vcc5-supply = <&vccsys>;
309 vcc6-supply = <&vccsys>;
310 vcc7-supply = <&vccsys>;
313 vdd_logic: DCDC_REG1 {
314 regulator-name = "vdd_logic";
315 regulator-min-microvolt = <950000>;
316 regulator-max-microvolt = <1150000>;
317 regulator-ramp-delay = <6001>;
321 regulator-state-mem {
322 regulator-on-in-suspend;
323 regulator-suspend-microvolt = <950000>;
328 regulator-name = "vdd_arm";
329 regulator-min-microvolt = <950000>;
330 regulator-max-microvolt = <1350000>;
331 regulator-ramp-delay = <6001>;
335 regulator-state-mem {
336 regulator-off-in-suspend;
337 regulator-suspend-microvolt = <950000>;
342 regulator-name = "vcc_ddr";
346 regulator-state-mem {
347 regulator-on-in-suspend;
352 regulator-name = "vcc_3v3";
353 regulator-min-microvolt = <3300000>;
354 regulator-max-microvolt = <3300000>;
358 regulator-state-mem {
359 regulator-off-in-suspend;
360 regulator-suspend-microvolt = <3300000>;
365 regulator-name = "vcc_1v8";
366 regulator-min-microvolt = <1800000>;
367 regulator-max-microvolt = <1800000>;
371 regulator-state-mem {
372 regulator-on-in-suspend;
373 regulator-suspend-microvolt = <1800000>;
378 regulator-name = "vdd_1v0";
379 regulator-min-microvolt = <1000000>;
380 regulator-max-microvolt = <1000000>;
384 regulator-state-mem {
385 regulator-on-in-suspend;
386 regulator-suspend-microvolt = <1000000>;
390 vcc3v3_pmu: LDO_REG4 {
391 regulator-name = "vcc3v3_pmu";
392 regulator-min-microvolt = <3300000>;
393 regulator-max-microvolt = <3300000>;
397 regulator-state-mem {
398 regulator-on-in-suspend;
399 regulator-suspend-microvolt = <3300000>;
404 regulator-name = "vccio_sd";
405 regulator-min-microvolt = <1800000>;
406 regulator-max-microvolt = <3300000>;
410 regulator-state-mem {
411 regulator-on-in-suspend;
412 regulator-suspend-microvolt = <3300000>;
417 regulator-name = "vcc_sd";
418 regulator-min-microvolt = <3300000>;
419 regulator-max-microvolt = <3300000>;
422 regulator-state-mem {
423 regulator-on-in-suspend;
424 regulator-suspend-microvolt = <3300000>;
429 regulator-name = "vcc_bl";
430 regulator-min-microvolt = <3300000>;
431 regulator-max-microvolt = <3300000>;
433 regulator-state-mem {
434 regulator-off-in-suspend;
435 regulator-suspend-microvolt = <3300000>;
440 regulator-name = "vcc_lcd";
441 regulator-min-microvolt = <2800000>;
442 regulator-max-microvolt = <2800000>;
444 regulator-state-mem {
445 regulator-off-in-suspend;
446 regulator-suspend-microvolt = <2800000>;
451 regulator-name = "vcc_cam";
452 regulator-min-microvolt = <3000000>;
453 regulator-max-microvolt = <3000000>;
455 regulator-state-mem {
456 regulator-off-in-suspend;
457 regulator-suspend-microvolt = <3000000>;
463 rockchip,mic-in-differential;