xref: /rk3399_rockchip-uboot/drivers/power/Kconfig (revision 6aa65bb1ee0951865e27da81dde1de76c6d4687e)
1menu "Power"
2
3source "drivers/power/domain/Kconfig"
4
5source "drivers/power/fuel_gauge/Kconfig"
6
7source "drivers/power/io-domain/Kconfig"
8
9source "drivers/power/pmic/Kconfig"
10
11source "drivers/power/regulator/Kconfig"
12
13source "drivers/power/dvfs/Kconfig"
14
15config DM_CHARGE_DISPLAY
16	bool "Enable driver model for charge display support"
17	depends on DM
18	help
19	  This adds a simple uclass for charge display.
20
21choice
22	prompt "Select Sunxi PMIC Variant"
23	depends on ARCH_SUNXI
24	default AXP209_POWER if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
25	default AXP221_POWER if MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_R40
26	default AXP818_POWER if MACH_SUN8I_A83T
27	default SUNXI_NO_PMIC if MACH_SUNXI_H3_H5 || MACH_SUN50I
28
29config SUNXI_NO_PMIC
30	bool "board without a pmic"
31	---help---
32	Select this for boards which do not use a PMIC.
33
34config AXP152_POWER
35	bool "axp152 pmic support"
36	depends on MACH_SUN5I
37	select CMD_POWEROFF
38	---help---
39	Select this to enable support for the axp152 pmic found on most
40	A10s boards.
41
42config AXP209_POWER
43	bool "axp209 pmic support"
44	depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
45	select CMD_POWEROFF
46	---help---
47	Select this to enable support for the axp209 pmic found on most
48	A10, A13 and A20 boards.
49
50config AXP221_POWER
51	bool "axp221 / axp223 pmic support"
52	depends on MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_R40
53	select CMD_POWEROFF
54	---help---
55	Select this to enable support for the axp221/axp223 pmic found on most
56	A23 and A31 boards.
57
58config AXP809_POWER
59	bool "axp809 pmic support"
60	depends on MACH_SUN9I
61	select CMD_POWEROFF
62	---help---
63	Say y here to enable support for the axp809 pmic found on A80 boards.
64
65config AXP818_POWER
66	bool "axp818 pmic support"
67	depends on MACH_SUN8I_A83T
68	select CMD_POWEROFF
69	---help---
70	Say y here to enable support for the axp818 pmic found on
71	A83T dev board.
72
73config SY8106A_POWER
74	bool "SY8106A pmic support"
75	depends on MACH_SUNXI_H3_H5
76	---help---
77	Select this to enable support for the SY8106A pmic found on some
78	H3 boards.
79
80endchoice
81
82config CHARGE_ANIMATION
83	bool "Enable charge animation"
84	depends on DM_CHARGE_DISPLAY && DM_FUEL_GAUGE
85	help
86	  This adds a simple function for charge animation display.
87
88config ROCKCHIP_PM
89	bool "Enable Rockchip power manager for charge animation"
90	depends on CHARGE_ANIMATION
91	default y
92	help
93	  This adds power manage control of devices for low power
94	  during system suspend in charge animation.
95
96config AXP_DCDC1_VOLT
97	int "axp pmic dcdc1 voltage"
98	depends on AXP221_POWER || AXP809_POWER || AXP818_POWER
99	default 3300 if AXP818_POWER || MACH_SUN8I_R40
100	default 3000 if MACH_SUN6I || MACH_SUN8I || MACH_SUN9I
101	---help---
102	Set the voltage (mV) to program the axp pmic dcdc1 at, set to 0 to
103	disable dcdc1. On A23 / A31 / A33 (axp221) boards dcdc1 is used for
104	generic 3.3V IO voltage for external devices like the lcd-panal and
105	sdcard interfaces, etc. On most boards dcdc1 is undervolted to 3.0V to
106	save battery. On A31 devices dcdc1 is also used for VCC-IO. On A83T
107	dcdc1 is used for VCC-IO, nand, usb0, sd , etc. On A80 dcdc1 normally
108	powers some of the pingroups, NAND/eMMC, SD/MMC, and USB OTG.
109
110config AXP_DCDC2_VOLT
111	int "axp pmic dcdc2 voltage"
112	depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER
113	default 900 if AXP818_POWER
114	default 1400 if AXP152_POWER || AXP209_POWER
115	default 1200 if MACH_SUN6I
116	default 1100 if MACH_SUN8I
117	default 0 if MACH_SUN9I
118	---help---
119	Set the voltage (mV) to program the axp pmic dcdc2 at, set to 0 to
120	disable dcdc2.
121	On A10(s) / A13 / A20 boards dcdc2 is VDD-CPU and should be 1.4V.
122	On A31 boards dcdc2 is used for VDD-GPU and should be 1.2V.
123	On A23/A33 boards dcdc2 is used for VDD-SYS and should be 1.1V.
124	On A80 boards dcdc2 powers the GPU and can be left off.
125	On A83T boards dcdc2 is used for VDD-CPUA(cluster 0) and should be 0.9V.
126	On R40 boards dcdc2 is VDD-CPU and should be 1.1V
127
128config AXP_DCDC3_VOLT
129	int "axp pmic dcdc3 voltage"
130	depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER
131	default 900 if AXP809_POWER || AXP818_POWER
132	default 1500 if AXP152_POWER
133	default 1250 if AXP209_POWER
134	default 1100 if MACH_SUN8I_R40
135	default 1200 if MACH_SUN6I || MACH_SUN8I
136	---help---
137	Set the voltage (mV) to program the axp pmic dcdc3 at, set to 0 to
138	disable dcdc3.
139	On A10(s) / A13 / A20 boards with an axp209 dcdc3 is VDD-INT-DLL and
140	should be 1.25V.
141	On A10s boards with an axp152 dcdc3 is VCC-DRAM and should be 1.5V.
142	On A23 / A31 / A33 boards dcdc3 is VDD-CPU and should be 1.2V.
143	On A80 boards dcdc3 is used for VDD-CPUA(cluster 0) and should be 0.9V.
144	On A83T boards dcdc3 is used for VDD-CPUB(cluster 1) and should be 0.9V.
145	On R40 boards dcdc3 is VDD-SYS and VDD-GPU and should be 1.1V.
146
147config AXP_DCDC4_VOLT
148	int "axp pmic dcdc4 voltage"
149	depends on AXP152_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER
150	default 1250 if AXP152_POWER
151	default 1200 if MACH_SUN6I
152	default 0 if MACH_SUN8I
153	default 900 if MACH_SUN9I
154	---help---
155	Set the voltage (mV) to program the axp pmic dcdc4 at, set to 0 to
156	disable dcdc4.
157	On A10s boards with an axp152 dcdc4 is VDD-INT-DLL and should be 1.25V.
158	On A31 boards dcdc4 is used for VDD-SYS and should be 1.2V.
159	On A23 / A33 boards dcdc4 is unused and should be disabled.
160	On A80 boards dcdc4 powers VDD-SYS, HDMI, USB OTG and should be 0.9V.
161	On A83T boards dcdc4 is used for VDD-GPU.
162
163config AXP_DCDC5_VOLT
164	int "axp pmic dcdc5 voltage"
165	depends on AXP221_POWER || AXP809_POWER || AXP818_POWER
166	default 1500 if MACH_SUN6I || MACH_SUN8I || MACH_SUN9I
167	---help---
168	Set the voltage (mV) to program the axp pmic dcdc5 at, set to 0 to
169	disable dcdc5.
170	On A23 / A31 / A33 / A80 / A83T / R40 boards dcdc5 is VCC-DRAM and
171	should be 1.5V, 1.35V if DDR3L is used.
172
173config AXP_ALDO1_VOLT
174	int "axp pmic (a)ldo1 voltage"
175	depends on AXP221_POWER || AXP809_POWER || AXP818_POWER
176	default 0 if MACH_SUN6I || MACH_SUN8I_R40
177	default 1800 if MACH_SUN8I_A83T
178	default 3000 if MACH_SUN8I || MACH_SUN9I
179	---help---
180	Set the voltage (mV) to program the axp pmic aldo1 at, set to 0 to
181	disable aldo1.
182	On A31 boards aldo1 is often used to power the wifi module.
183	On A23 / A33 boards aldo1 is used for VCC-IO and should be 3.0V.
184	On A80 boards aldo1 powers the USB hosts and should be 3.0V.
185	On A83T / H8 boards aldo1 is used for MIPI CSI, DSI, HDMI, EFUSE, and
186	should be 1.8V.
187
188config AXP_ALDO2_VOLT
189	int "axp pmic (a)ldo2 voltage"
190	depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER
191	default 3000 if AXP152_POWER || AXP209_POWER
192	default 0 if MACH_SUN6I || MACH_SUN9I
193	default 1800 if MACH_SUN8I_A83T
194	default 2500 if MACH_SUN8I
195	---help---
196	Set the voltage (mV) to program the axp pmic aldo2 at, set to 0 to
197	disable aldo2.
198	On A10(s) / A13 / A20 boards aldo2 is AVCC and should be 3.0V.
199	On A31 boards aldo2 is typically unused and should be disabled.
200	On A31 boards aldo2 may be used for LPDDR2 then it should be 1.8V.
201	On A23 / A33 boards aldo2 is used for VDD-DLL and should be 2.5V.
202	On A80 boards aldo2 powers PB pingroup and camera IO and can be left off.
203	On A83T / H8 boards aldo2 powers VDD-DLL, VCC18-PLL, CPVDD, VDD18-ADC,
204	LPDDR2, and the codec. It should be 1.8V.
205
206config AXP_ALDO3_VOLT
207	int "axp pmic (a)ldo3 voltage"
208	depends on AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER
209	default 0 if AXP209_POWER || MACH_SUN9I
210	default 3000 if MACH_SUN6I || MACH_SUN8I
211	---help---
212	Set the voltage (mV) to program the axp pmic aldo3 at, set to 0 to
213	disable aldo3.
214	On A10(s) / A13 / A20 boards aldo3 should be 2.8V.
215	On A23 / A31 / A33 / R40 boards aldo3 is VCC-PLL and AVCC and should
216	be 3.0V.
217	On A80 boards aldo3 is normally not used.
218	On A83T / H8 boards aldo3 is AVCC, VCC-PL, and VCC-LED, and should be
219	3.0V.
220
221config AXP_ALDO4_VOLT
222	int "axp pmic (a)ldo4 voltage"
223	depends on AXP209_POWER
224	default 0 if AXP209_POWER
225	---help---
226	Set the voltage (mV) to program the axp pmic aldo4 at, set to 0 to
227	disable aldo4.
228	On A10(s) / A13 / A20 boards aldo4 should be 2.8V.
229
230config AXP_DLDO1_VOLT
231	int "axp pmic dldo1 voltage"
232	depends on AXP221_POWER || AXP809_POWER || AXP818_POWER
233	default 0
234	---help---
235	Set the voltage (mV) to program the axp pmic dldo1 at, set to 0 to
236	disable dldo1. On sun6i (A31) boards with ethernet dldo1 is often used
237	to power the ethernet phy. On A23, A33 and A80 boards this is often
238	used to power the wifi.
239
240config AXP_DLDO2_VOLT
241	int "axp pmic dldo2 voltage"
242	depends on AXP221_POWER || AXP809_POWER || AXP818_POWER
243	default 3000 if MACH_SUN9I
244	default 0
245	---help---
246	Set the voltage (mV) to program the axp pmic dldo2 at, set to 0 to
247	disable dldo2.
248	On A80 boards dldo2 normally powers the PL pins and should be 3.0V.
249
250config AXP_DLDO3_VOLT
251	int "axp pmic dldo3 voltage"
252	depends on AXP221_POWER || AXP818_POWER
253	default 0
254	---help---
255	Set the voltage (mV) to program the axp pmic dldo3 at, set to 0 to
256	disable dldo3.
257
258config AXP_DLDO4_VOLT
259	int "axp pmic dldo4 voltage"
260	depends on AXP221_POWER || AXP818_POWER
261	default 0
262	---help---
263	Set the voltage (mV) to program the axp pmic dldo4 at, set to 0 to
264	disable dldo4.
265
266config AXP_ELDO1_VOLT
267	int "axp pmic eldo1 voltage"
268	depends on AXP221_POWER || AXP809_POWER || AXP818_POWER
269	default 0
270	---help---
271	Set the voltage (mV) to program the axp pmic eldo1 at, set to 0 to
272	disable eldo1.
273
274config AXP_ELDO2_VOLT
275	int "axp pmic eldo2 voltage"
276	depends on AXP221_POWER || AXP809_POWER || AXP818_POWER
277	default 0
278	---help---
279	Set the voltage (mV) to program the axp pmic eldo2 at, set to 0 to
280	disable eldo2.
281
282config AXP_ELDO3_VOLT
283	int "axp pmic eldo3 voltage"
284	depends on AXP221_POWER || AXP809_POWER || AXP818_POWER
285	default 3000 if MACH_SUN9I
286	default 0
287	---help---
288	Set the voltage (mV) to program the axp pmic eldo3 at, set to 0 to
289	disable eldo3. On some A31(s) tablets it might be used to supply
290	1.2V for the SSD2828 chip (converter of parallel LCD interface
291	into MIPI DSI).
292	On A80 boards it powers the PM pingroup and should be 3.0V.
293
294config AXP_FLDO1_VOLT
295	int "axp pmic fldo1 voltage"
296	depends on AXP818_POWER
297	default 0 if MACH_SUN8I_A83T
298	---help---
299	Set the voltage (mV) to program the axp pmic fldo1 at, set to 0 to
300	disable fldo1.
301	On A83T / H8 boards fldo1 is VCC-HSIC and should be 1.2V if HSIC is
302	used.
303
304config AXP_FLDO2_VOLT
305	int "axp pmic fldo2 voltage"
306	depends on AXP818_POWER
307	default 900 if MACH_SUN8I_A83T
308	---help---
309	Set the voltage (mV) to program the axp pmic fldo2 at, set to 0 to
310	disable fldo2.
311	On A83T / H8 boards fldo2 is VCC-CPUS and should be 0.9V.
312
313config AXP_FLDO3_VOLT
314	int "axp pmic fldo3 voltage"
315	depends on AXP818_POWER
316	default 0
317	---help---
318	Set the voltage (mV) to program the axp pmic fldo3 at, set to 0 to
319	disable fldo3.
320
321config AXP_SW_ON
322	bool "axp pmic sw on"
323	depends on AXP809_POWER || AXP818_POWER
324	default n
325	---help---
326	Enable to turn on axp pmic sw.
327
328config SY8106A_VOUT1_VOLT
329	int "SY8106A pmic VOUT1 voltage"
330	depends on SY8106A_POWER
331	default 1200
332	---help---
333	Set the voltage (mV) to program the SY8106A pmic VOUT1. This
334	is typically used to power the VDD-CPU and should be 1200mV.
335	Values can range from 680mV till 1950mV.
336
337config TWL4030_POWER
338	depends on OMAP34XX
339	bool "Enable driver for TI TWL4030 power management chip"
340	imply CMD_POWEROFF
341	---help---
342	The TWL4030 in a combination audio CODEC/power management with
343	GPIO and it is commonly used with the OMAP3 family of processors
344
345endmenu
346