xref: /openbmc/linux/drivers/power/supply/Kconfig (revision a591525f)
1menuconfig POWER_SUPPLY
2	bool "Power supply class support"
3	help
4	  Say Y here to enable power supply class support. This allows
5	  power supply (batteries, AC, USB) monitoring by userspace
6	  via sysfs and uevent (if available) and/or APM kernel interface
7	  (if selected below).
8
9if POWER_SUPPLY
10
11config POWER_SUPPLY_DEBUG
12	bool "Power supply debug"
13	help
14	  Say Y here to enable debugging messages for power supply class
15	  and drivers.
16
17config PDA_POWER
18	tristate "Generic PDA/phone power driver"
19	depends on !S390
20	help
21	  Say Y here to enable generic power driver for PDAs and phones with
22	  one or two external power supplies (AC/USB) connected to main and
23	  backup batteries, and optional builtin charger.
24
25config APM_POWER
26	tristate "APM emulation for class batteries"
27	depends on APM_EMULATION
28	help
29	  Say Y here to enable support APM status emulation using
30	  battery class devices.
31
32config GENERIC_ADC_BATTERY
33	tristate "Generic battery support using IIO"
34	depends on IIO
35	help
36	  Say Y here to enable support for the generic battery driver
37	  which uses IIO framework to read adc.
38
39config MAX8925_POWER
40	tristate "MAX8925 battery charger support"
41	depends on MFD_MAX8925
42	help
43	  Say Y here to enable support for the battery charger in the Maxim
44	  MAX8925 PMIC.
45
46config WM831X_BACKUP
47	tristate "WM831X backup battery charger support"
48	depends on MFD_WM831X
49	help
50	  Say Y here to enable support for the backup battery charger
51	  in the Wolfson Microelectronics WM831x PMICs.
52
53config WM831X_POWER
54	tristate "WM831X PMU support"
55	depends on MFD_WM831X
56	help
57	  Say Y here to enable support for the power management unit
58	  provided by Wolfson Microelectronics WM831x PMICs.
59
60config WM8350_POWER
61        tristate "WM8350 PMU support"
62        depends on MFD_WM8350
63        help
64          Say Y here to enable support for the power management unit
65	  provided by the Wolfson Microelectronics WM8350 PMIC.
66
67config TEST_POWER
68	tristate "Test power driver"
69	help
70	  This driver is used for testing. It's safe to say M here.
71
72config BATTERY_88PM860X
73	tristate "Marvell 88PM860x battery driver"
74	depends on MFD_88PM860X
75	help
76	  Say Y here to enable battery monitor for Marvell 88PM860x chip.
77
78config BATTERY_ACT8945A
79	tristate "Active-semi ACT8945A charger driver"
80	depends on MFD_ACT8945A || COMPILE_TEST
81	help
82	  Say Y here to enable support for power supply provided by
83	  Active-semi ActivePath ACT8945A charger.
84
85config BATTERY_CPCAP
86	tristate "Motorola CPCAP PMIC battery driver"
87	depends on MFD_CPCAP && IIO
88	default MFD_CPCAP
89	help
90	  Say Y here to enable support for battery on Motorola
91	  phones and tablets such as droid 4.
92
93config BATTERY_DS2760
94	tristate "DS2760 battery driver (HP iPAQ & others)"
95	depends on W1 && W1_SLAVE_DS2760
96	help
97	  Say Y here to enable support for batteries with ds2760 chip.
98
99config BATTERY_DS2780
100	tristate "DS2780 battery driver"
101	depends on HAS_IOMEM
102	select W1
103	select W1_SLAVE_DS2780
104	help
105	  Say Y here to enable support for batteries with ds2780 chip.
106
107config BATTERY_DS2781
108	tristate "DS2781 battery driver"
109	depends on HAS_IOMEM
110	select W1
111	select W1_SLAVE_DS2781
112	help
113	  If you enable this you will have the DS2781 battery driver support.
114
115	  The battery monitor chip is used in many batteries/devices
116	  as the one who is responsible for charging/discharging/monitoring
117	  Li+ batteries.
118
119	  If you are unsure, say N.
120
121config BATTERY_DS2782
122	tristate "DS2782/DS2786 standalone gas-gauge"
123	depends on I2C
124	help
125	  Say Y here to enable support for the DS2782/DS2786 standalone battery
126	  gas-gauge.
127
128config BATTERY_LEGO_EV3
129	tristate "LEGO MINDSTORMS EV3 battery"
130	depends on OF && IIO && GPIOLIB
131	help
132	  Say Y here to enable support for the LEGO MINDSTORMS EV3 battery.
133
134config BATTERY_PMU
135	tristate "Apple PMU battery"
136	depends on PPC32 && ADB_PMU
137	help
138	  Say Y here to expose battery information on Apple machines
139	  through the generic battery class.
140
141config BATTERY_OLPC
142	tristate "One Laptop Per Child battery"
143	depends on X86_32 && OLPC
144	help
145	  Say Y to enable support for the battery on the OLPC laptop.
146
147config BATTERY_TOSA
148	tristate "Sharp SL-6000 (tosa) battery"
149	depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX
150	help
151	  Say Y to enable support for the battery on the Sharp Zaurus
152	  SL-6000 (tosa) models.
153
154config BATTERY_COLLIE
155	tristate "Sharp SL-5500 (collie) battery"
156	depends on SA1100_COLLIE && MCP_UCB1200
157	help
158	  Say Y to enable support for the battery on the Sharp Zaurus
159	  SL-5500 (collie) models.
160
161config BATTERY_IPAQ_MICRO
162	tristate "iPAQ Atmel Micro ASIC battery driver"
163	depends on MFD_IPAQ_MICRO
164	help
165	  Choose this option if you want to monitor battery status on
166	  Compaq/HP iPAQ h3100 and h3600.
167
168config BATTERY_WM97XX
169	bool "WM97xx generic battery driver"
170	depends on TOUCHSCREEN_WM97XX=y
171	help
172	  Say Y to enable support for battery measured by WM97xx aux port.
173
174config BATTERY_SBS
175        tristate "SBS Compliant gas gauge"
176        depends on I2C
177        help
178	  Say Y to include support for SBS battery driver for SBS-compliant
179	  gas gauges.
180
181config CHARGER_SBS
182        tristate "SBS Compliant charger"
183        depends on I2C
184        help
185	  Say Y to include support for SBS compliant battery chargers.
186
187config MANAGER_SBS
188	tristate "Smart Battery System Manager"
189	depends on I2C && I2C_MUX && GPIOLIB
190	select I2C_SMBUS
191	help
192	  Say Y here to include support for Smart Battery System Manager
193	  ICs. The driver reports online and charging status via sysfs.
194	  It presents itself also as I2C mux which allows to bind
195	  smart battery driver to its ports.
196	  Supported is for example LTC1760.
197
198	  This driver can also be built as a module. If so, the module will be
199	  called sbs-manager.
200
201config BATTERY_BQ27XXX
202	tristate "BQ27xxx battery driver"
203	help
204	  Say Y here to enable support for batteries with BQ27xxx chips.
205
206config BATTERY_BQ27XXX_I2C
207	tristate "BQ27xxx I2C support"
208	depends on BATTERY_BQ27XXX
209	depends on I2C
210	default y
211	help
212	  Say Y here to enable support for batteries with BQ27xxx chips
213	  connected over an I2C bus.
214
215config BATTERY_BQ27XXX_HDQ
216	tristate "BQ27xxx HDQ support"
217	depends on BATTERY_BQ27XXX
218	depends on W1
219	default y
220	help
221	  Say Y here to enable support for batteries with BQ27xxx chips
222	  connected over an HDQ bus.
223
224config BATTERY_BQ27XXX_DT_UPDATES_NVM
225	bool "BQ27xxx support for update of NVM/flash data memory"
226	depends on BATTERY_BQ27XXX_I2C
227	help
228	  Say Y here to enable devicetree monitored-battery config to update
229	  NVM/flash data memory. Only enable this option for devices with a
230	  fuel gauge mounted on the circuit board, and a battery that cannot
231	  easily be replaced with one of a different type. Not for
232	  general-purpose kernels, as this can cause misconfiguration of a
233	  smart battery with embedded NVM/flash.
234
235config BATTERY_DA9030
236	tristate "DA9030 battery driver"
237	depends on PMIC_DA903X
238	help
239	  Say Y here to enable support for batteries charger integrated into
240	  DA9030 PMIC.
241
242config BATTERY_DA9052
243	tristate "Dialog DA9052 Battery"
244	depends on PMIC_DA9052
245	help
246	  Say Y here to enable support for batteries charger integrated into
247	  DA9052 PMIC.
248
249config CHARGER_DA9150
250	tristate "Dialog Semiconductor DA9150 Charger support"
251	depends on MFD_DA9150
252	depends on DA9150_GPADC
253	depends on IIO
254	help
255	  Say Y here to enable support for charger unit of the DA9150
256	  Integrated Charger & Fuel-Gauge IC.
257
258	  This driver can also be built as a module. If so, the module will be
259	  called da9150-charger.
260
261config BATTERY_DA9150
262	tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
263	depends on MFD_DA9150
264	help
265	  Say Y here to enable support for the Fuel-Gauge unit of the DA9150
266	  Integrated Charger & Fuel-Gauge IC
267
268	  This driver can also be built as a module. If so, the module will be
269	  called da9150-fg.
270
271config CHARGER_AXP20X
272	tristate "X-Powers AXP20X and AXP22X AC power supply driver"
273	depends on MFD_AXP20X
274	depends on AXP20X_ADC
275	depends on IIO
276	help
277	  Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
278	  power supply.
279
280	  This driver can also be built as a module. If so, the module will be
281	  called axp20x_ac_power.
282
283config BATTERY_AXP20X
284	tristate "X-Powers AXP20X battery driver"
285	depends on MFD_AXP20X
286	depends on AXP20X_ADC
287	depends on IIO
288	help
289	  Say Y here to enable support for X-Powers AXP20X PMICs' battery power
290	  supply.
291
292	  This driver can also be built as a module. If so, the module will be
293	  called axp20x_battery.
294
295config AXP20X_POWER
296	tristate "AXP20x power supply driver"
297	depends on MFD_AXP20X
298	depends on IIO
299	help
300	  This driver provides support for the power supply features of
301	  AXP20x PMIC.
302
303config AXP288_CHARGER
304	tristate "X-Powers AXP288 Charger"
305	depends on MFD_AXP20X && EXTCON_AXP288
306	help
307	  Say yes here to have support X-Power AXP288 power management IC (PMIC)
308	  integrated charger.
309
310config AXP288_FUEL_GAUGE
311	tristate "X-Powers AXP288 Fuel Gauge"
312	depends on MFD_AXP20X && IIO
313	help
314	  Say yes here to have support for X-Power power management IC (PMIC)
315	  Fuel Gauge. The device provides battery statistics and status
316	  monitoring as well as alerts for battery over/under voltage and
317	  over/under temperature.
318
319config BATTERY_MAX17040
320	tristate "Maxim MAX17040 Fuel Gauge"
321	depends on I2C
322	help
323	  MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries
324	  in handheld and portable equipment. The MAX17040 is configured
325	  to operate with a single lithium cell
326
327config BATTERY_MAX17042
328	tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge"
329	depends on I2C
330	select REGMAP_I2C
331	help
332	  MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
333	  in handheld and portable equipment. The MAX17042 is configured
334	  to operate with a single lithium cell. MAX8997 and MAX8966 are
335	  multi-function devices that include fuel gauages that are compatible
336	  with MAX17042. This driver also supports max17047/50 chips which are
337	  improved version of max17042.
338
339config BATTERY_MAX1721X
340	tristate "MAX17211/MAX17215 standalone gas-gauge"
341	depends on W1
342	select REGMAP_W1
343	help
344	  MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries
345	  in handheld and portable equipment. MAX17211 used with single cell
346	  battery. MAX17215 designed for muticell battery. Both them have
347	  OneWire (W1) host interface.
348
349	  Say Y here to enable support for the MAX17211/MAX17215 standalone
350	  battery gas-gauge.
351
352config BATTERY_Z2
353	tristate "Z2 battery driver"
354	depends on I2C && MACH_ZIPIT2
355	help
356	  Say Y to include support for the battery on the Zipit Z2.
357
358config BATTERY_S3C_ADC
359	tristate "Battery driver for Samsung ADC based monitoring"
360	depends on S3C_ADC
361	help
362	  Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery
363
364config BATTERY_TWL4030_MADC
365	tristate "TWL4030 MADC battery driver"
366	depends on TWL4030_MADC
367	help
368	  Say Y here to enable this dumb driver for batteries managed
369	  through the TWL4030 MADC.
370
371config CHARGER_88PM860X
372	tristate "Marvell 88PM860x Charger driver"
373	depends on MFD_88PM860X && BATTERY_88PM860X
374	help
375	  Say Y here to enable charger for Marvell 88PM860x chip.
376
377config CHARGER_PCF50633
378	tristate "NXP PCF50633 MBC"
379	depends on MFD_PCF50633
380	help
381	 Say Y to include support for NXP PCF50633 Main Battery Charger.
382
383config BATTERY_JZ4740
384	tristate "Ingenic JZ4740 battery"
385	depends on MACH_JZ4740
386	depends on MFD_JZ4740_ADC
387	help
388	  Say Y to enable support for the battery on Ingenic JZ4740 based
389	  boards.
390
391	  This driver can be build as a module. If so, the module will be
392	  called jz4740-battery.
393
394config BATTERY_RX51
395	tristate "Nokia RX-51 (N900) battery driver"
396	depends on TWL4030_MADC
397	help
398	  Say Y here to enable support for battery information on Nokia
399	  RX-51, also known as N900 tablet.
400
401config CHARGER_CPCAP
402	tristate "CPCAP PMIC Charger Driver"
403	depends on MFD_CPCAP && IIO
404	depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
405	default MFD_CPCAP
406	help
407	  Say Y to enable support for CPCAP PMIC charger driver for Motorola
408	  mobile devices such as Droid 4.
409
410config CHARGER_ISP1704
411	tristate "ISP1704 USB Charger Detection"
412	depends on USB_PHY
413	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
414	help
415	  Say Y to enable support for USB Charger Detection with
416	  ISP1707/ISP1704 USB transceivers.
417
418config CHARGER_MAX8903
419	tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
420	help
421	  Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
422	  The driver supports controlling charger-enable and current-limit
423	  pins based on the status of charger connections with interrupt
424	  handlers.
425
426config CHARGER_TWL4030
427	tristate "OMAP TWL4030 BCI charger driver"
428	depends on IIO && TWL4030_CORE
429	help
430	  Say Y here to enable support for TWL4030 Battery Charge Interface.
431
432config CHARGER_LP8727
433	tristate "TI/National Semiconductor LP8727 charger driver"
434	depends on I2C
435	help
436	  Say Y here to enable support for LP8727 Charger Driver.
437
438config CHARGER_LP8788
439	tristate "TI LP8788 charger driver"
440	depends on MFD_LP8788
441	depends on LP8788_ADC
442	depends on IIO
443	help
444	  Say Y to enable support for the LP8788 linear charger.
445
446config CHARGER_GPIO
447	tristate "GPIO charger"
448	depends on GPIOLIB || COMPILE_TEST
449	help
450	  Say Y to include support for chargers which report their online status
451	  through a GPIO pin.
452
453	  This driver can be build as a module. If so, the module will be
454	  called gpio-charger.
455
456config CHARGER_MANAGER
457	bool "Battery charger manager for multiple chargers"
458	depends on REGULATOR
459	select EXTCON
460	help
461          Say Y to enable charger-manager support, which allows multiple
462          chargers attached to a battery and multiple batteries attached to a
463          system. The charger-manager also can monitor charging status in
464          runtime and in suspend-to-RAM by waking up the system periodically
465          with help of suspend_again support.
466
467config CHARGER_LTC3651
468	tristate "LTC3651 charger"
469	depends on GPIOLIB
470	help
471	  Say Y to include support for the LTC3651 battery charger which reports
472	  its status via GPIO lines.
473
474config CHARGER_MAX14577
475	tristate "Maxim MAX14577/77836 battery charger driver"
476	depends on MFD_MAX14577
477	help
478	  Say Y to enable support for the battery charger control sysfs and
479	  platform data of MAX14577/77836 MUICs.
480
481config CHARGER_DETECTOR_MAX14656
482	tristate "Maxim MAX14656 USB charger detector"
483	depends on I2C
484	depends on OF
485	help
486	  Say Y to enable support for the Maxim MAX14656 USB charger detector.
487	  The device is compliant with the USB Battery Charging Specification
488	  Revision 1.2 and can be found e.g. in Kindle 4/5th generation
489	  readers and certain LG devices.
490
491config CHARGER_MAX77693
492	tristate "Maxim MAX77693 battery charger driver"
493	depends on MFD_MAX77693
494	help
495	  Say Y to enable support for the Maxim MAX77693 battery charger.
496
497config CHARGER_MAX8997
498	tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
499	depends on MFD_MAX8997 && REGULATOR_MAX8997
500	help
501	  Say Y to enable support for the battery charger control sysfs and
502	  platform data of MAX8997/LP3974 PMICs.
503
504config CHARGER_MAX8998
505	tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
506	depends on MFD_MAX8998 && REGULATOR_MAX8998
507	help
508	  Say Y to enable support for the battery charger control sysfs and
509	  platform data of MAX8998/LP3974 PMICs.
510
511config CHARGER_QCOM_SMBB
512	tristate "Qualcomm Switch-Mode Battery Charger and Boost"
513	depends on MFD_SPMI_PMIC || COMPILE_TEST
514	depends on OF
515	depends on EXTCON
516	depends on REGULATOR
517	help
518	  Say Y to include support for the Switch-Mode Battery Charger and
519	  Boost (SMBB) hardware found in Qualcomm PM8941 PMICs.  The charger
520	  is an integrated, single-cell lithium-ion battery charger.  DT
521	  configuration is required for loading, see the devicetree
522	  documentation for more detail.  The base name for this driver is
523	  'pm8941_charger'.
524
525config CHARGER_BQ2415X
526	tristate "TI BQ2415x battery charger driver"
527	depends on I2C
528	help
529	  Say Y to enable support for the TI BQ2415x battery charger
530	  PMICs.
531
532	  You'll need this driver to charge batteries on e.g. Nokia
533	  RX-51/N900.
534
535config CHARGER_BQ24190
536	tristate "TI BQ24190 battery charger driver"
537	depends on I2C
538	depends on EXTCON
539	depends on GPIOLIB || COMPILE_TEST
540	help
541	  Say Y to enable support for the TI BQ24190 battery charger.
542
543config CHARGER_BQ24257
544	tristate "TI BQ24250/24251/24257 battery charger driver"
545	depends on I2C
546	depends on GPIOLIB || COMPILE_TEST
547	depends on REGMAP_I2C
548	help
549	  Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
550	  chargers.
551
552config CHARGER_BQ24735
553	tristate "TI BQ24735 battery charger support"
554	depends on I2C
555	depends on GPIOLIB || COMPILE_TEST
556	help
557	  Say Y to enable support for the TI BQ24735 battery charger.
558
559config CHARGER_BQ25890
560	tristate "TI BQ25890 battery charger driver"
561	depends on I2C
562	depends on GPIOLIB || COMPILE_TEST
563	select REGMAP_I2C
564	help
565	  Say Y to enable support for the TI BQ25890 battery charger.
566
567config CHARGER_SMB347
568	tristate "Summit Microelectronics SMB347 Battery Charger"
569	depends on I2C
570	select REGMAP_I2C
571	help
572	  Say Y to include support for Summit Microelectronics SMB347
573	  Battery Charger.
574
575config CHARGER_TPS65090
576	tristate "TPS65090 battery charger driver"
577	depends on MFD_TPS65090
578	help
579	 Say Y here to enable support for battery charging with TPS65090
580	 PMIC chips.
581
582config CHARGER_TPS65217
583	tristate "TPS65217 battery charger driver"
584	depends on MFD_TPS65217
585	help
586	 Say Y here to enable support for battery charging with TPS65217
587	 PMIC chips.
588
589config BATTERY_GAUGE_LTC2941
590	tristate "LTC2941/LTC2943 Battery Gauge Driver"
591	depends on I2C
592	help
593	  Say Y here to include support for LTC2941 and LTC2943 Battery
594	  Gauge IC. The driver reports the charge count continuously, and
595	  measures the voltage and temperature every 10 seconds.
596
597config AB8500_BM
598	bool "AB8500 Battery Management Driver"
599	depends on AB8500_CORE && AB8500_GPADC
600	help
601	  Say Y to include support for AB8500 battery management.
602
603config BATTERY_GOLDFISH
604	tristate "Goldfish battery driver"
605	depends on GOLDFISH || COMPILE_TEST
606	depends on HAS_IOMEM
607	help
608	  Say Y to enable support for the battery and AC power in the
609	  Goldfish emulator.
610
611config BATTERY_RT5033
612	tristate "RT5033 fuel gauge support"
613	depends on MFD_RT5033
614	help
615	  This adds support for battery fuel gauge in Richtek RT5033 PMIC.
616	  The fuelgauge calculates and determines the battery state of charge
617	  according to battery open circuit voltage.
618
619config CHARGER_RT9455
620	tristate "Richtek RT9455 battery charger driver"
621	depends on I2C
622	depends on GPIOLIB || COMPILE_TEST
623	select REGMAP_I2C
624	help
625	  Say Y to enable support for Richtek RT9455 battery charger.
626
627endif # POWER_SUPPLY
628