• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1AXP family PMIC device tree bindings
2
3The axp20x family current members :
4axp152 (X-Powers)
5axp202 (X-Powers)
6axp209 (X-Powers)
7axp221 (X-Powers)
8axp223 (X-Powers)
9axp803 (X-Powers)
10axp806 (X-Powers)
11axp809 (X-Powers)
12axp813 (X-Powers)
13
14The AXP813 is 2 chips packaged into 1. The 2 chips do not share anything
15other than the packaging. Pins are routed separately. As such they should
16be treated as separate entities. The other half is an AC100 RTC/codec
17combo chip. Please see ./ac100.txt for its bindings.
18
19Required 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
35Optional 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
63Optional 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
73AXP202/AXP209 regulators, type, and corresponding input supply names:
74
75Regulator	  Type		  Supply Name		  Notes
76---------	  ----		  -----------		  -----
77DCDC2		: DC-DC buck	: vin2-supply
78DCDC3		: DC-DC	buck	: vin3-supply
79LDO1		: LDO		: acin-supply		: always on
80LDO2		: LDO		: ldo24in-supply	: shared supply
81LDO3		: LDO		: ldo3in-supply
82LDO4		: LDO		: ldo24in-supply	: shared supply
83LDO5		: LDO		: ldo5in-supply
84
85AXP221/AXP223 regulators, type, and corresponding input supply names:
86
87Regulator	  Type		  Supply Name		  Notes
88---------	  ----		  -----------		  -----
89DCDC1		: DC-DC buck	: vin1-supply
90DCDC2		: DC-DC buck	: vin2-supply
91DCDC3		: DC-DC	buck	: vin3-supply
92DCDC4		: DC-DC	buck	: vin4-supply
93DCDC5		: DC-DC	buck	: vin5-supply
94DC1SW		: On/Off Switch	:			: DCDC1 secondary output
95DC5LDO		: LDO		:			: input from DCDC5
96ALDO1		: LDO		: aldoin-supply		: shared supply
97ALDO2		: LDO		: aldoin-supply		: shared supply
98ALDO3		: LDO		: aldoin-supply		: shared supply
99DLDO1		: LDO		: dldoin-supply		: shared supply
100DLDO2		: LDO		: dldoin-supply		: shared supply
101DLDO3		: LDO		: dldoin-supply		: shared supply
102DLDO4		: LDO		: dldoin-supply		: shared supply
103ELDO1		: LDO		: eldoin-supply		: shared supply
104ELDO2		: LDO		: eldoin-supply		: shared supply
105ELDO3		: LDO		: eldoin-supply		: shared supply
106LDO_IO0		: LDO		: ips-supply		: GPIO 0
107LDO_IO1		: LDO		: ips-supply		: GPIO 1
108RTC_LDO		: LDO		: ips-supply		: always on
109DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
110
111AXP803 regulators, type, and corresponding input supply names:
112
113Regulator	  Type		  Supply Name		  Notes
114---------	  ----		  -----------		  -----
115DCDC1		: DC-DC buck	: vin1-supply
116DCDC2		: DC-DC buck	: vin2-supply		: poly-phase capable
117DCDC3		: DC-DC	buck	: vin3-supply		: poly-phase capable
118DCDC4		: DC-DC	buck	: vin4-supply
119DCDC5		: DC-DC	buck	: vin5-supply		: poly-phase capable
120DCDC6		: DC-DC	buck	: vin6-supply		: poly-phase capable
121DC1SW		: On/Off Switch	:			: DCDC1 secondary output
122ALDO1		: LDO		: aldoin-supply		: shared supply
123ALDO2		: LDO		: aldoin-supply		: shared supply
124ALDO3		: LDO		: aldoin-supply		: shared supply
125DLDO1		: LDO		: dldoin-supply		: shared supply
126DLDO2		: LDO		: dldoin-supply		: shared supply
127DLDO3		: LDO		: dldoin-supply		: shared supply
128DLDO4		: LDO		: dldoin-supply		: shared supply
129ELDO1		: LDO		: eldoin-supply		: shared supply
130ELDO2		: LDO		: eldoin-supply		: shared supply
131ELDO3		: LDO		: eldoin-supply		: shared supply
132FLDO1		: LDO		: fldoin-supply		: shared supply
133FLDO2		: LDO		: fldoin-supply		: shared supply
134LDO_IO0		: LDO		: ips-supply		: GPIO 0
135LDO_IO1		: LDO		: ips-supply		: GPIO 1
136RTC_LDO		: LDO		: ips-supply		: always on
137DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
138
139AXP806 regulators, type, and corresponding input supply names:
140
141Regulator	  Type		  Supply Name		  Notes
142---------	  ----		  -----------		  -----
143DCDCA		: DC-DC buck	: vina-supply		: poly-phase capable
144DCDCB		: DC-DC buck	: vinb-supply		: poly-phase capable
145DCDCC		: DC-DC	buck	: vinc-supply		: poly-phase capable
146DCDCD		: DC-DC	buck	: vind-supply		: poly-phase capable
147DCDCE		: DC-DC	buck	: vine-supply		: poly-phase capable
148ALDO1		: LDO		: aldoin-supply		: shared supply
149ALDO2		: LDO		: aldoin-supply		: shared supply
150ALDO3		: LDO		: aldoin-supply		: shared supply
151BLDO1		: LDO		: bldoin-supply		: shared supply
152BLDO2		: LDO		: bldoin-supply		: shared supply
153BLDO3		: LDO		: bldoin-supply		: shared supply
154BLDO4		: LDO		: bldoin-supply		: shared supply
155CLDO1		: LDO		: cldoin-supply		: shared supply
156CLDO2		: LDO		: cldoin-supply		: shared supply
157CLDO3		: LDO		: cldoin-supply		: shared supply
158SW		: On/Off Switch : swin-supply
159
160Additionally, the AXP806 DC-DC regulators support poly-phase arrangements
161for higher output current. The possible groupings are: A+B, A+B+C, D+E.
162
163AXP809 regulators, type, and corresponding input supply names:
164
165Regulator	  Type		  Supply Name		  Notes
166---------	  ----		  -----------		  -----
167DCDC1		: DC-DC buck	: vin1-supply
168DCDC2		: DC-DC buck	: vin2-supply
169DCDC3		: DC-DC	buck	: vin3-supply
170DCDC4		: DC-DC	buck	: vin4-supply
171DCDC5		: DC-DC	buck	: vin5-supply
172DC1SW		: On/Off Switch	:			: DCDC1 secondary output
173DC5LDO		: LDO		:			: input from DCDC5
174ALDO1		: LDO		: aldoin-supply		: shared supply
175ALDO2		: LDO		: aldoin-supply		: shared supply
176ALDO3		: LDO		: aldoin-supply		: shared supply
177DLDO1		: LDO		: dldoin-supply		: shared supply
178DLDO2		: LDO		: dldoin-supply		: shared supply
179ELDO1		: LDO		: eldoin-supply		: shared supply
180ELDO2		: LDO		: eldoin-supply		: shared supply
181ELDO3		: LDO		: eldoin-supply		: shared supply
182LDO_IO0		: LDO		: ips-supply		: GPIO 0
183LDO_IO1		: LDO		: ips-supply		: GPIO 1
184RTC_LDO		: LDO		: ips-supply		: always on
185SW		: On/Off Switch : swin-supply
186
187AXP813 regulators, type, and corresponding input supply names:
188
189Regulator	  Type		  Supply Name		  Notes
190---------	  ----		  -----------		  -----
191DCDC1		: DC-DC buck	: vin1-supply
192DCDC2		: DC-DC buck	: vin2-supply		: poly-phase capable
193DCDC3		: DC-DC	buck	: vin3-supply		: poly-phase capable
194DCDC4		: DC-DC	buck	: vin4-supply
195DCDC5		: DC-DC	buck	: vin5-supply		: poly-phase capable
196DCDC6		: DC-DC	buck	: vin6-supply		: poly-phase capable
197DCDC7		: DC-DC	buck	: vin7-supply
198ALDO1		: LDO		: aldoin-supply		: shared supply
199ALDO2		: LDO		: aldoin-supply		: shared supply
200ALDO3		: LDO		: aldoin-supply		: shared supply
201DLDO1		: LDO		: dldoin-supply		: shared supply
202DLDO2		: LDO		: dldoin-supply		: shared supply
203DLDO3		: LDO		: dldoin-supply		: shared supply
204DLDO4		: LDO		: dldoin-supply		: shared supply
205ELDO1		: LDO		: eldoin-supply		: shared supply
206ELDO2		: LDO		: eldoin-supply		: shared supply
207ELDO3		: LDO		: eldoin-supply		: shared supply
208FLDO1		: LDO		: fldoin-supply		: shared supply
209FLDO2		: LDO		: fldoin-supply		: shared supply
210FLDO3		: LDO		: fldoin-supply		: shared supply
211LDO_IO0		: LDO		: ips-supply		: GPIO 0
212LDO_IO1		: LDO		: ips-supply		: GPIO 1
213RTC_LDO		: LDO		: ips-supply		: always on
214SW		: On/Off Switch : swin-supply
215DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
216
217Example:
218
219axp209: 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};
263