GNU Linux-libre 4.14.290-gnu1
[releases.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 / 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
136 AXP806 regulators, type, and corresponding input supply names:
137
138 Regulator         Type            Supply Name             Notes
139 ---------         ----            -----------             -----
140 DCDCA           : DC-DC buck    : vina-supply           : poly-phase capable
141 DCDCB           : DC-DC buck    : vinb-supply           : poly-phase capable
142 DCDCC           : DC-DC buck    : vinc-supply           : poly-phase capable
143 DCDCD           : DC-DC buck    : vind-supply           : poly-phase capable
144 DCDCE           : DC-DC buck    : vine-supply           : poly-phase capable
145 ALDO1           : LDO           : aldoin-supply         : shared supply
146 ALDO2           : LDO           : aldoin-supply         : shared supply
147 ALDO3           : LDO           : aldoin-supply         : shared supply
148 BLDO1           : LDO           : bldoin-supply         : shared supply
149 BLDO2           : LDO           : bldoin-supply         : shared supply
150 BLDO3           : LDO           : bldoin-supply         : shared supply
151 BLDO4           : LDO           : bldoin-supply         : shared supply
152 CLDO1           : LDO           : cldoin-supply         : shared supply
153 CLDO2           : LDO           : cldoin-supply         : shared supply
154 CLDO3           : LDO           : cldoin-supply         : shared supply
155 SW              : On/Off Switch : swin-supply
156
157 Additionally, the AXP806 DC-DC regulators support poly-phase arrangements
158 for higher output current. The possible groupings are: A+B, A+B+C, D+E.
159
160 AXP809 regulators, type, and corresponding input supply names:
161
162 Regulator         Type            Supply Name             Notes
163 ---------         ----            -----------             -----
164 DCDC1           : DC-DC buck    : vin1-supply
165 DCDC2           : DC-DC buck    : vin2-supply
166 DCDC3           : DC-DC buck    : vin3-supply
167 DCDC4           : DC-DC buck    : vin4-supply
168 DCDC5           : DC-DC buck    : vin5-supply
169 DC1SW           : On/Off Switch :                       : DCDC1 secondary output
170 DC5LDO          : LDO           :                       : input from DCDC5
171 ALDO1           : LDO           : aldoin-supply         : shared supply
172 ALDO2           : LDO           : aldoin-supply         : shared supply
173 ALDO3           : LDO           : aldoin-supply         : shared supply
174 DLDO1           : LDO           : dldoin-supply         : shared supply
175 DLDO2           : LDO           : dldoin-supply         : shared supply
176 ELDO1           : LDO           : eldoin-supply         : shared supply
177 ELDO2           : LDO           : eldoin-supply         : shared supply
178 ELDO3           : LDO           : eldoin-supply         : shared supply
179 LDO_IO0         : LDO           : ips-supply            : GPIO 0
180 LDO_IO1         : LDO           : ips-supply            : GPIO 1
181 RTC_LDO         : LDO           : ips-supply            : always on
182 SW              : On/Off Switch : swin-supply
183
184 AXP813 regulators, type, and corresponding input supply names:
185
186 Regulator         Type            Supply Name             Notes
187 ---------         ----            -----------             -----
188 DCDC1           : DC-DC buck    : vin1-supply
189 DCDC2           : DC-DC buck    : vin2-supply           : poly-phase capable
190 DCDC3           : DC-DC buck    : vin3-supply           : poly-phase capable
191 DCDC4           : DC-DC buck    : vin4-supply
192 DCDC5           : DC-DC buck    : vin5-supply           : poly-phase capable
193 DCDC6           : DC-DC buck    : vin6-supply           : poly-phase capable
194 DCDC7           : DC-DC buck    : vin7-supply
195 ALDO1           : LDO           : aldoin-supply         : shared supply
196 ALDO2           : LDO           : aldoin-supply         : shared supply
197 ALDO3           : LDO           : aldoin-supply         : shared supply
198 DLDO1           : LDO           : dldoin-supply         : shared supply
199 DLDO2           : LDO           : dldoin-supply         : shared supply
200 DLDO3           : LDO           : dldoin-supply         : shared supply
201 DLDO4           : LDO           : dldoin-supply         : shared supply
202 ELDO1           : LDO           : eldoin-supply         : shared supply
203 ELDO2           : LDO           : eldoin-supply         : shared supply
204 ELDO3           : LDO           : eldoin-supply         : shared supply
205 FLDO1           : LDO           : fldoin-supply         : shared supply
206 FLDO2           : LDO           : fldoin-supply         : shared supply
207 FLDO3           : LDO           : fldoin-supply         : shared supply
208 LDO_IO0         : LDO           : ips-supply            : GPIO 0
209 LDO_IO1         : LDO           : ips-supply            : GPIO 1
210 RTC_LDO         : LDO           : ips-supply            : always on
211 SW              : On/Off Switch : swin-supply
212 DRIVEVBUS       : Enable output : drivevbus-supply      : external regulator
213
214 Example:
215
216 axp209: pmic@34 {
217         compatible = "x-powers,axp209";
218         reg = <0x34>;
219         interrupt-parent = <&nmi_intc>;
220         interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
221         interrupt-controller;
222         #interrupt-cells = <1>;
223
224         regulators {
225                 x-powers,dcdc-freq = <1500>;
226
227                 vdd_cpu: dcdc2 {
228                         regulator-always-on;
229                         regulator-min-microvolt = <1000000>;
230                         regulator-max-microvolt = <1450000>;
231                         regulator-name = "vdd-cpu";
232                 };
233
234                 vdd_int_dll: dcdc3 {
235                         regulator-always-on;
236                         regulator-min-microvolt = <1000000>;
237                         regulator-max-microvolt = <1400000>;
238                         regulator-name = "vdd-int-dll";
239                 };
240
241                 vdd_rtc: ldo1 {
242                         regulator-always-on;
243                         regulator-min-microvolt = <1200000>;
244                         regulator-max-microvolt = <1400000>;
245                         regulator-name = "vdd-rtc";
246                 };
247
248                 avcc: ldo2 {
249                         regulator-always-on;
250                         regulator-min-microvolt = <2700000>;
251                         regulator-max-microvolt = <3300000>;
252                         regulator-name = "avcc";
253                 };
254
255                 ldo3 {
256                         /* unused but preferred to be managed by OS */
257                 };
258         };
259 };