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