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