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