Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/bcm2835', 'spi/fix/doc'...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / mfd / rk808.txt
1 RK808 Power Management Integrated Circuit
2
3 Required properties:
4 - compatible: "rockchip,rk808"
5 - reg: I2C slave address
6 - interrupt-parent: The parent interrupt controller.
7 - interrupts: the interrupt outputs of the controller.
8 - #clock-cells: from common clock binding; shall be set to 1 (multiple clock
9   outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
10
11 Optional properties:
12 - clock-output-names: From common clock binding to override the
13   default output clock name
14 - rockchip,system-power-controller: Telling whether or not this pmic is controlling
15   the system power.
16 - vcc1-supply:  The input supply for DCDC_REG1
17 - vcc2-supply:  The input supply for DCDC_REG2
18 - vcc3-supply:  The input supply for DCDC_REG3
19 - vcc4-supply:  The input supply for DCDC_REG4
20 - vcc6-supply:  The input supply for LDO_REG1 and LDO_REG2
21 - vcc7-supply:  The input supply for LDO_REG3 and LDO_REG7
22 - vcc8-supply:  The input supply for SWITCH_REG1
23 - vcc9-supply:  The input supply for LDO_REG4 and LDO_REG5
24 - vcc10-supply: The input supply for LDO_REG6
25 - vcc11-supply: The input supply for LDO_REG8
26 - vcc12-supply: The input supply for SWITCH_REG2
27 - dvs-gpios:  buck1/2 can be controlled by gpio dvs, this is GPIO specifiers
28   for 2 host gpio's used for dvs. The format of the gpio specifier depends in
29   the gpio controller. If DVS GPIOs aren't present, voltage changes will happen
30   very quickly with no slow ramp time.
31
32 Regulators: All the regulators of RK808 to be instantiated shall be
33 listed in a child node named 'regulators'. Each regulator is represented
34 by a child node of the 'regulators' node.
35
36         regulator-name {
37                 /* standard regulator bindings here */
38         };
39
40 Following regulators of the RK808 PMIC block are supported. Note that
41 the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
42 number as described in RK808 datasheet.
43
44         - DCDC_REGn
45                 - valid values for n are 1 to 4.
46         - LDO_REGn
47                 - valid values for n are 1 to 8.
48         - SWITCH_REGn
49                 - valid values for n are 1 to 2
50
51 Standard regulator bindings are used inside regulator subnodes. Check
52   Documentation/devicetree/bindings/regulator/regulator.txt
53 for more details
54
55 Example:
56         rk808: pmic@1b {
57                 compatible = "rockchip,rk808";
58                 clock-output-names = "xin32k", "rk808-clkout2";
59                 interrupt-parent = <&gpio0>;
60                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
61                 pinctrl-names = "default";
62                 pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>;
63                 dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>,
64                             <&gpio7 15 GPIO_ACTIVE_HIGH>;
65                 reg = <0x1b>;
66                 rockchip,system-power-controller;
67                 wakeup-source;
68                 #clock-cells = <1>;
69
70                 vcc8-supply = <&vcc_18>;
71                 vcc9-supply = <&vcc_io>;
72                 vcc10-supply = <&vcc_io>;
73                 vcc12-supply = <&vcc_io>;
74                 vddio-supply = <&vccio_pmu>;
75
76                 regulators {
77                         vdd_cpu: DCDC_REG1 {
78                                 regulator-always-on;
79                                 regulator-boot-on;
80                                 regulator-min-microvolt = <750000>;
81                                 regulator-max-microvolt = <1300000>;
82                                 regulator-name = "vdd_arm";
83                         };
84
85                         vdd_gpu: DCDC_REG2 {
86                                 regulator-always-on;
87                                 regulator-boot-on;
88                                 regulator-min-microvolt = <850000>;
89                                 regulator-max-microvolt = <1250000>;
90                                 regulator-name = "vdd_gpu";
91                         };
92
93                         vcc_ddr: DCDC_REG3 {
94                                 regulator-always-on;
95                                 regulator-boot-on;
96                                 regulator-name = "vcc_ddr";
97                         };
98
99                         vcc_io: DCDC_REG4 {
100                                 regulator-always-on;
101                                 regulator-boot-on;
102                                 regulator-min-microvolt = <3300000>;
103                                 regulator-max-microvolt = <3300000>;
104                                 regulator-name = "vcc_io";
105                         };
106
107                         vccio_pmu: LDO_REG1 {
108                                 regulator-always-on;
109                                 regulator-boot-on;
110                                 regulator-min-microvolt = <3300000>;
111                                 regulator-max-microvolt = <3300000>;
112                                 regulator-name = "vccio_pmu";
113                         };
114
115                         vcc_tp: LDO_REG2 {
116                                 regulator-always-on;
117                                 regulator-boot-on;
118                                 regulator-min-microvolt = <3300000>;
119                                 regulator-max-microvolt = <3300000>;
120                                 regulator-name = "vcc_tp";
121                         };
122
123                         vdd_10: LDO_REG3 {
124                                 regulator-always-on;
125                                 regulator-boot-on;
126                                 regulator-min-microvolt = <1000000>;
127                                 regulator-max-microvolt = <1000000>;
128                                 regulator-name = "vdd_10";
129                         };
130
131                         vcc18_lcd: LDO_REG4 {
132                                 regulator-always-on;
133                                 regulator-boot-on;
134                                 regulator-min-microvolt = <1800000>;
135                                 regulator-max-microvolt = <1800000>;
136                                 regulator-name = "vcc18_lcd";
137                         };
138
139                         vccio_sd: LDO_REG5 {
140                                 regulator-always-on;
141                                 regulator-boot-on;
142                                 regulator-min-microvolt = <1800000>;
143                                 regulator-max-microvolt = <3300000>;
144                                 regulator-name = "vccio_sd";
145                         };
146
147                         vdd10_lcd: LDO_REG6 {
148                                 regulator-always-on;
149                                 regulator-boot-on;
150                                 regulator-min-microvolt = <1000000>;
151                                 regulator-max-microvolt = <1000000>;
152                                 regulator-name = "vdd10_lcd";
153                         };
154
155                         vcc_18: LDO_REG7 {
156                                 regulator-always-on;
157                                 regulator-boot-on;
158                                 regulator-min-microvolt = <1800000>;
159                                 regulator-max-microvolt = <1800000>;
160                                 regulator-name = "vcc_18";
161                         };
162
163                         vcca_codec: LDO_REG8 {
164                                 regulator-always-on;
165                                 regulator-boot-on;
166                                 regulator-min-microvolt = <3300000>;
167                                 regulator-max-microvolt = <3300000>;
168                                 regulator-name = "vcca_codec";
169                         };
170
171                         vcc_wl: SWITCH_REG1 {
172                                 regulator-always-on;
173                                 regulator-boot-on;
174                                 regulator-name = "vcc_wl";
175                         };
176
177                         vcc_lcd: SWITCH_REG2 {
178                                 regulator-always-on;
179                                 regulator-boot-on;
180                                 regulator-name = "vcc_lcd";
181                         };
182                 };
183         };