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