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