Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / mfd / axp20x.txt
1 AXP family PMIC device tree bindings
2
3 The axp20x family current members :
4 axp152 (X-Powers)
5 axp202 (X-Powers)
6 axp209 (X-Powers)
7 axp221 (X-Powers)
8 axp223 (X-Powers)
9 axp803 (X-Powers)
10 axp806 (X-Powers)
11 axp809 (X-Powers)
12 axp813 (X-Powers)
13
14 The AXP813 is 2 chips packaged into 1. The 2 chips do not share anything
15 other than the packaging. Pins are routed separately. As such they should
16 be treated as separate entities. The other half is an AC100 RTC/codec
17 combo chip. Please see ./ac100.txt for its bindings.
18
19 Required properties:
20 - compatible: should be one of:
21     * "x-powers,axp152"
22     * "x-powers,axp202"
23     * "x-powers,axp209"
24     * "x-powers,axp221"
25     * "x-powers,axp223"
26     * "x-powers,axp803"
27     * "x-powers,axp806"
28     * "x-powers,axp805", "x-powers,axp806"
29     * "x-powers,axp809"
30     * "x-powers,axp813"
31 - reg: The I2C slave address or RSB hardware address for the AXP chip
32 - interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
33 - interrupt-controller: The PMIC has its own internal IRQs
34 - #interrupt-cells: Should be set to 1
35
36 Supported common regulator properties, see ../regulator/regulator.txt for
37 more information:
38 - regulator-ramp-delay: sets the ramp up delay in uV/us
39                         AXP20x/DCDC2: 1600, 800
40                         AXP20x/LDO3:  1600, 800
41 - regulator-soft-start: enable the output at the lowest possible voltage and
42                         only then set the desired voltage
43                         AXP20x/LDO3: software-based implementation
44
45 Optional properties:
46 - x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
47                       AXP152/20X: range:  750-1875, Default: 1.5 MHz
48                       AXP22X/8XX: range: 1800-4050, Default: 3   MHz
49
50 - x-powers,drive-vbus-en: boolean, set this when the N_VBUSEN pin is
51                           used as an output pin to control an external
52                           regulator to drive the OTG VBus, rather then
53                           as an input pin which signals whether the
54                           board is driving OTG VBus or not.
55                           (axp221 / axp223 / axp803/ axp813 only)
56
57 - x-powers,self-working-mode and
58   x-powers,master-mode: Boolean (axp806 only). Set either of these when the
59                         PMIC is wired for self-working mode or master mode.
60                         If neither is set then slave mode is assumed.
61                         This corresponds to how the MODESET pin is wired.
62
63 - <input>-supply: a phandle to the regulator supply node. May be omitted if
64                   inputs are unregulated, such as using the IPSOUT output
65                   from the PMIC.
66
67 - regulators: A node that houses a sub-node for each regulator. Regulators
68               not used but preferred to be managed by the OS should be
69               listed as well.
70               See Documentation/devicetree/bindings/regulator/regulator.txt
71               for more information on standard regulator bindings.
72
73 Optional properties for DCDC regulators:
74 - x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode
75                           Default: Current hardware setting
76                           The DCDC regulators work in a mixed PWM/PFM mode,
77                           using PFM under light loads and switching to PWM
78                           for heavier loads. Forcing PWM mode trades efficiency
79                           under light loads for lower output noise. This
80                           probably makes sense for HiFi audio related
81                           applications that aren't battery constrained.
82
83 AXP202/AXP209 regulators, type, and corresponding input supply names:
84
85 Regulator         Type            Supply Name             Notes
86 ---------         ----            -----------             -----
87 DCDC2           : DC-DC buck    : vin2-supply
88 DCDC3           : DC-DC buck    : vin3-supply
89 LDO1            : LDO           : acin-supply           : always on
90 LDO2            : LDO           : ldo24in-supply        : shared supply
91 LDO3            : LDO           : ldo3in-supply
92 LDO4            : LDO           : ldo24in-supply        : shared supply
93 LDO5            : LDO           : ldo5in-supply
94
95 AXP221/AXP223 regulators, type, and corresponding input supply names:
96
97 Regulator         Type            Supply Name             Notes
98 ---------         ----            -----------             -----
99 DCDC1           : DC-DC buck    : vin1-supply
100 DCDC2           : DC-DC buck    : vin2-supply
101 DCDC3           : DC-DC buck    : vin3-supply
102 DCDC4           : DC-DC buck    : vin4-supply
103 DCDC5           : DC-DC buck    : vin5-supply
104 DC1SW           : On/Off Switch :                       : DCDC1 secondary output
105 DC5LDO          : LDO           :                       : input from DCDC5
106 ALDO1           : LDO           : aldoin-supply         : shared supply
107 ALDO2           : LDO           : aldoin-supply         : shared supply
108 ALDO3           : LDO           : aldoin-supply         : shared supply
109 DLDO1           : LDO           : dldoin-supply         : shared supply
110 DLDO2           : LDO           : dldoin-supply         : shared supply
111 DLDO3           : LDO           : dldoin-supply         : shared supply
112 DLDO4           : LDO           : dldoin-supply         : shared supply
113 ELDO1           : LDO           : eldoin-supply         : shared supply
114 ELDO2           : LDO           : eldoin-supply         : shared supply
115 ELDO3           : LDO           : eldoin-supply         : shared supply
116 LDO_IO0         : LDO           : ips-supply            : GPIO 0
117 LDO_IO1         : LDO           : ips-supply            : GPIO 1
118 RTC_LDO         : LDO           : ips-supply            : always on
119 DRIVEVBUS       : Enable output : drivevbus-supply      : external regulator
120
121 AXP803 regulators, type, and corresponding input supply names:
122
123 Regulator         Type            Supply Name             Notes
124 ---------         ----            -----------             -----
125 DCDC1           : DC-DC buck    : vin1-supply
126 DCDC2           : DC-DC buck    : vin2-supply           : poly-phase capable
127 DCDC3           : DC-DC buck    : vin3-supply           : poly-phase capable
128 DCDC4           : DC-DC buck    : vin4-supply
129 DCDC5           : DC-DC buck    : vin5-supply           : poly-phase capable
130 DCDC6           : DC-DC buck    : vin6-supply           : poly-phase capable
131 DC1SW           : On/Off Switch :                       : DCDC1 secondary output
132 ALDO1           : LDO           : aldoin-supply         : shared supply
133 ALDO2           : LDO           : aldoin-supply         : shared supply
134 ALDO3           : LDO           : aldoin-supply         : shared supply
135 DLDO1           : LDO           : dldoin-supply         : shared supply
136 DLDO2           : LDO           : dldoin-supply         : shared supply
137 DLDO3           : LDO           : dldoin-supply         : shared supply
138 DLDO4           : LDO           : dldoin-supply         : shared supply
139 ELDO1           : LDO           : eldoin-supply         : shared supply
140 ELDO2           : LDO           : eldoin-supply         : shared supply
141 ELDO3           : LDO           : eldoin-supply         : shared supply
142 FLDO1           : LDO           : fldoin-supply         : shared supply
143 FLDO2           : LDO           : fldoin-supply         : shared supply
144 LDO_IO0         : LDO           : ips-supply            : GPIO 0
145 LDO_IO1         : LDO           : ips-supply            : GPIO 1
146 RTC_LDO         : LDO           : ips-supply            : always on
147 DRIVEVBUS       : Enable output : drivevbus-supply      : external regulator
148
149 AXP806 regulators, type, and corresponding input supply names:
150
151 Regulator         Type            Supply Name             Notes
152 ---------         ----            -----------             -----
153 DCDCA           : DC-DC buck    : vina-supply           : poly-phase capable
154 DCDCB           : DC-DC buck    : vinb-supply           : poly-phase capable
155 DCDCC           : DC-DC buck    : vinc-supply           : poly-phase capable
156 DCDCD           : DC-DC buck    : vind-supply           : poly-phase capable
157 DCDCE           : DC-DC buck    : vine-supply           : poly-phase capable
158 ALDO1           : LDO           : aldoin-supply         : shared supply
159 ALDO2           : LDO           : aldoin-supply         : shared supply
160 ALDO3           : LDO           : aldoin-supply         : shared supply
161 BLDO1           : LDO           : bldoin-supply         : shared supply
162 BLDO2           : LDO           : bldoin-supply         : shared supply
163 BLDO3           : LDO           : bldoin-supply         : shared supply
164 BLDO4           : LDO           : bldoin-supply         : shared supply
165 CLDO1           : LDO           : cldoin-supply         : shared supply
166 CLDO2           : LDO           : cldoin-supply         : shared supply
167 CLDO3           : LDO           : cldoin-supply         : shared supply
168 SW              : On/Off Switch : swin-supply
169
170 Additionally, the AXP806 DC-DC regulators support poly-phase arrangements
171 for higher output current. The possible groupings are: A+B, A+B+C, D+E.
172
173 AXP809 regulators, type, and corresponding input supply names:
174
175 Regulator         Type            Supply Name             Notes
176 ---------         ----            -----------             -----
177 DCDC1           : DC-DC buck    : vin1-supply
178 DCDC2           : DC-DC buck    : vin2-supply
179 DCDC3           : DC-DC buck    : vin3-supply
180 DCDC4           : DC-DC buck    : vin4-supply
181 DCDC5           : DC-DC buck    : vin5-supply
182 DC1SW           : On/Off Switch :                       : DCDC1 secondary output
183 DC5LDO          : LDO           :                       : input from DCDC5
184 ALDO1           : LDO           : aldoin-supply         : shared supply
185 ALDO2           : LDO           : aldoin-supply         : shared supply
186 ALDO3           : LDO           : aldoin-supply         : shared supply
187 DLDO1           : LDO           : dldoin-supply         : shared supply
188 DLDO2           : LDO           : dldoin-supply         : shared supply
189 ELDO1           : LDO           : eldoin-supply         : shared supply
190 ELDO2           : LDO           : eldoin-supply         : shared supply
191 ELDO3           : LDO           : eldoin-supply         : shared supply
192 LDO_IO0         : LDO           : ips-supply            : GPIO 0
193 LDO_IO1         : LDO           : ips-supply            : GPIO 1
194 RTC_LDO         : LDO           : ips-supply            : always on
195 SW              : On/Off Switch : swin-supply
196
197 AXP813 regulators, type, and corresponding input supply names:
198
199 Regulator         Type            Supply Name             Notes
200 ---------         ----            -----------             -----
201 DCDC1           : DC-DC buck    : vin1-supply
202 DCDC2           : DC-DC buck    : vin2-supply           : poly-phase capable
203 DCDC3           : DC-DC buck    : vin3-supply           : poly-phase capable
204 DCDC4           : DC-DC buck    : vin4-supply
205 DCDC5           : DC-DC buck    : vin5-supply           : poly-phase capable
206 DCDC6           : DC-DC buck    : vin6-supply           : poly-phase capable
207 DCDC7           : DC-DC buck    : vin7-supply
208 ALDO1           : LDO           : aldoin-supply         : shared supply
209 ALDO2           : LDO           : aldoin-supply         : shared supply
210 ALDO3           : LDO           : aldoin-supply         : shared supply
211 DLDO1           : LDO           : dldoin-supply         : shared supply
212 DLDO2           : LDO           : dldoin-supply         : shared supply
213 DLDO3           : LDO           : dldoin-supply         : shared supply
214 DLDO4           : LDO           : dldoin-supply         : shared supply
215 ELDO1           : LDO           : eldoin-supply         : shared supply
216 ELDO2           : LDO           : eldoin-supply         : shared supply
217 ELDO3           : LDO           : eldoin-supply         : shared supply
218 FLDO1           : LDO           : fldoin-supply         : shared supply
219 FLDO2           : LDO           : fldoin-supply         : shared supply
220 FLDO3           : LDO           : fldoin-supply         : shared supply
221 LDO_IO0         : LDO           : ips-supply            : GPIO 0
222 LDO_IO1         : LDO           : ips-supply            : GPIO 1
223 RTC_LDO         : LDO           : ips-supply            : always on
224 SW              : On/Off Switch : swin-supply
225 DRIVEVBUS       : Enable output : drivevbus-supply      : external regulator
226
227 Example:
228
229 axp209: pmic@34 {
230         compatible = "x-powers,axp209";
231         reg = <0x34>;
232         interrupt-parent = <&nmi_intc>;
233         interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
234         interrupt-controller;
235         #interrupt-cells = <1>;
236
237         regulators {
238                 x-powers,dcdc-freq = <1500>;
239
240                 vdd_cpu: dcdc2 {
241                         regulator-always-on;
242                         regulator-min-microvolt = <1000000>;
243                         regulator-max-microvolt = <1450000>;
244                         regulator-name = "vdd-cpu";
245                 };
246
247                 vdd_int_dll: dcdc3 {
248                         regulator-always-on;
249                         regulator-min-microvolt = <1000000>;
250                         regulator-max-microvolt = <1400000>;
251                         regulator-name = "vdd-int-dll";
252                 };
253
254                 vdd_rtc: ldo1 {
255                         regulator-always-on;
256                         regulator-min-microvolt = <1200000>;
257                         regulator-max-microvolt = <1400000>;
258                         regulator-name = "vdd-rtc";
259                 };
260
261                 avcc: ldo2 {
262                         regulator-always-on;
263                         regulator-min-microvolt = <2700000>;
264                         regulator-max-microvolt = <3300000>;
265                         regulator-name = "avcc";
266                 };
267
268                 ldo3 {
269                         /* unused but preferred to be managed by OS */
270                 };
271         };
272 };