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