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