xref: /openbmc/linux/drivers/power/supply/Kconfig (revision dbc4deda)
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 compilant battery chargers.
186
187config MANAGER_SBS
188	tristate "Smart Battery System Manager"
189	depends on I2C && I2C_MUX
190	help
191	  Say Y here to include support for Smart Battery System Manager
192	  ICs. The driver reports online and charging status via sysfs.
193	  It presents itself also as I2C mux which allows to bind
194	  smart battery driver to its ports.
195	  Supported is for example LTC1760.
196
197	  This driver can also be built as a module. If so, the module will be
198	  called sbs-manager.
199
200config BATTERY_BQ27XXX
201	tristate "BQ27xxx battery driver"
202	help
203	  Say Y here to enable support for batteries with BQ27xxx chips.
204
205config BATTERY_BQ27XXX_I2C
206	tristate "BQ27xxx I2C support"
207	depends on BATTERY_BQ27XXX
208	depends on I2C
209	default y
210	help
211	  Say Y here to enable support for batteries with BQ27xxx chips
212	  connected over an I2C bus.
213
214config BATTERY_BQ27XXX_HDQ
215	tristate "BQ27xxx HDQ support"
216	depends on BATTERY_BQ27XXX
217	depends on W1
218	default y
219	help
220	  Say Y here to enable support for batteries with BQ27xxx chips
221	  connected over an HDQ bus.
222
223config BATTERY_BQ27XXX_DT_UPDATES_NVM
224	bool "BQ27xxx support for update of NVM/flash data memory"
225	depends on BATTERY_BQ27XXX_I2C
226	help
227	  Say Y here to enable devicetree monitored-battery config to update
228	  NVM/flash data memory. Only enable this option for devices with a
229	  fuel gauge mounted on the circuit board, and a battery that cannot
230	  easily be replaced with one of a different type. Not for
231	  general-purpose kernels, as this can cause misconfiguration of a
232	  smart battery with embedded NVM/flash.
233
234config BATTERY_DA9030
235	tristate "DA9030 battery driver"
236	depends on PMIC_DA903X
237	help
238	  Say Y here to enable support for batteries charger integrated into
239	  DA9030 PMIC.
240
241config BATTERY_DA9052
242	tristate "Dialog DA9052 Battery"
243	depends on PMIC_DA9052
244	help
245	  Say Y here to enable support for batteries charger integrated into
246	  DA9052 PMIC.
247
248config CHARGER_DA9150
249	tristate "Dialog Semiconductor DA9150 Charger support"
250	depends on MFD_DA9150
251	depends on DA9150_GPADC
252	depends on IIO
253	help
254	  Say Y here to enable support for charger unit of the DA9150
255	  Integrated Charger & Fuel-Gauge IC.
256
257	  This driver can also be built as a module. If so, the module will be
258	  called da9150-charger.
259
260config BATTERY_DA9150
261	tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
262	depends on MFD_DA9150
263	help
264	  Say Y here to enable support for the Fuel-Gauge unit of the DA9150
265	  Integrated Charger & Fuel-Gauge IC
266
267	  This driver can also be built as a module. If so, the module will be
268	  called da9150-fg.
269
270config CHARGER_AXP20X
271	tristate "X-Powers AXP20X and AXP22X AC power supply driver"
272	depends on MFD_AXP20X
273	depends on AXP20X_ADC
274	depends on IIO
275	help
276	  Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
277	  power supply.
278
279	  This driver can also be built as a module. If so, the module will be
280	  called axp20x_ac_power.
281
282config BATTERY_AXP20X
283	tristate "X-Powers AXP20X battery driver"
284	depends on MFD_AXP20X
285	depends on AXP20X_ADC
286	depends on IIO
287	help
288	  Say Y here to enable support for X-Powers AXP20X PMICs' battery power
289	  supply.
290
291	  This driver can also be built as a module. If so, the module will be
292	  called axp20x_battery.
293
294config AXP20X_POWER
295	tristate "AXP20x power supply driver"
296	depends on MFD_AXP20X
297	depends on IIO
298	help
299	  This driver provides support for the power supply features of
300	  AXP20x PMIC.
301
302config AXP288_CHARGER
303	tristate "X-Powers AXP288 Charger"
304	depends on MFD_AXP20X && EXTCON_AXP288
305	help
306	  Say yes here to have support X-Power AXP288 power management IC (PMIC)
307	  integrated charger.
308
309config AXP288_FUEL_GAUGE
310	tristate "X-Powers AXP288 Fuel Gauge"
311	depends on MFD_AXP20X && IIO
312	help
313	  Say yes here to have support for X-Power power management IC (PMIC)
314	  Fuel Gauge. The device provides battery statistics and status
315	  monitoring as well as alerts for battery over/under voltage and
316	  over/under temperature.
317
318config BATTERY_MAX17040
319	tristate "Maxim MAX17040 Fuel Gauge"
320	depends on I2C
321	help
322	  MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries
323	  in handheld and portable equipment. The MAX17040 is configured
324	  to operate with a single lithium cell
325
326config BATTERY_MAX17042
327	tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge"
328	depends on I2C
329	select REGMAP_I2C
330	help
331	  MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
332	  in handheld and portable equipment. The MAX17042 is configured
333	  to operate with a single lithium cell. MAX8997 and MAX8966 are
334	  multi-function devices that include fuel gauages that are compatible
335	  with MAX17042. This driver also supports max17047/50 chips which are
336	  improved version of max17042.
337
338config BATTERY_MAX1721X
339	tristate "MAX17211/MAX17215 standalone gas-gauge"
340	depends on W1
341	select REGMAP_W1
342	help
343	  MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries
344	  in handheld and portable equipment. MAX17211 used with single cell
345	  battery. MAX17215 designed for muticell battery. Both them have
346	  OneWire (W1) host interface.
347
348	  Say Y here to enable support for the MAX17211/MAX17215 standalone
349	  battery gas-gauge.
350
351config BATTERY_Z2
352	tristate "Z2 battery driver"
353	depends on I2C && MACH_ZIPIT2
354	help
355	  Say Y to include support for the battery on the Zipit Z2.
356
357config BATTERY_S3C_ADC
358	tristate "Battery driver for Samsung ADC based monitoring"
359	depends on S3C_ADC
360	help
361	  Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery
362
363config BATTERY_TWL4030_MADC
364	tristate "TWL4030 MADC battery driver"
365	depends on TWL4030_MADC
366	help
367	  Say Y here to enable this dumb driver for batteries managed
368	  through the TWL4030 MADC.
369
370config CHARGER_88PM860X
371	tristate "Marvell 88PM860x Charger driver"
372	depends on MFD_88PM860X && BATTERY_88PM860X
373	help
374	  Say Y here to enable charger for Marvell 88PM860x chip.
375
376config CHARGER_PCF50633
377	tristate "NXP PCF50633 MBC"
378	depends on MFD_PCF50633
379	help
380	 Say Y to include support for NXP PCF50633 Main Battery Charger.
381
382config BATTERY_JZ4740
383	tristate "Ingenic JZ4740 battery"
384	depends on MACH_JZ4740
385	depends on MFD_JZ4740_ADC
386	help
387	  Say Y to enable support for the battery on Ingenic JZ4740 based
388	  boards.
389
390	  This driver can be build as a module. If so, the module will be
391	  called jz4740-battery.
392
393config BATTERY_RX51
394	tristate "Nokia RX-51 (N900) battery driver"
395	depends on TWL4030_MADC
396	help
397	  Say Y here to enable support for battery information on Nokia
398	  RX-51, also known as N900 tablet.
399
400config CHARGER_CPCAP
401	tristate "CPCAP PMIC Charger Driver"
402	depends on MFD_CPCAP && IIO
403	depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
404	default MFD_CPCAP
405	help
406	  Say Y to enable support for CPCAP PMIC charger driver for Motorola
407	  mobile devices such as Droid 4.
408
409config CHARGER_ISP1704
410	tristate "ISP1704 USB Charger Detection"
411	depends on USB_PHY
412	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
413	help
414	  Say Y to enable support for USB Charger Detection with
415	  ISP1707/ISP1704 USB transceivers.
416
417config CHARGER_MAX8903
418	tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
419	help
420	  Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
421	  The driver supports controlling charger-enable and current-limit
422	  pins based on the status of charger connections with interrupt
423	  handlers.
424
425config CHARGER_TWL4030
426	tristate "OMAP TWL4030 BCI charger driver"
427	depends on IIO && TWL4030_CORE
428	help
429	  Say Y here to enable support for TWL4030 Battery Charge Interface.
430
431config CHARGER_LP8727
432	tristate "TI/National Semiconductor LP8727 charger driver"
433	depends on I2C
434	help
435	  Say Y here to enable support for LP8727 Charger Driver.
436
437config CHARGER_LP8788
438	tristate "TI LP8788 charger driver"
439	depends on MFD_LP8788
440	depends on LP8788_ADC
441	depends on IIO
442	help
443	  Say Y to enable support for the LP8788 linear charger.
444
445config CHARGER_GPIO
446	tristate "GPIO charger"
447	depends on GPIOLIB || COMPILE_TEST
448	help
449	  Say Y to include support for chargers which report their online status
450	  through a GPIO pin.
451
452	  This driver can be build as a module. If so, the module will be
453	  called gpio-charger.
454
455config CHARGER_MANAGER
456	bool "Battery charger manager for multiple chargers"
457	depends on REGULATOR
458	select EXTCON
459	help
460          Say Y to enable charger-manager support, which allows multiple
461          chargers attached to a battery and multiple batteries attached to a
462          system. The charger-manager also can monitor charging status in
463          runtime and in suspend-to-RAM by waking up the system periodically
464          with help of suspend_again support.
465
466config CHARGER_LTC3651
467	tristate "LTC3651 charger"
468	depends on GPIOLIB
469	help
470	  Say Y to include support for the LTC3651 battery charger which reports
471	  its status via GPIO lines.
472
473config CHARGER_MAX14577
474	tristate "Maxim MAX14577/77836 battery charger driver"
475	depends on MFD_MAX14577
476	help
477	  Say Y to enable support for the battery charger control sysfs and
478	  platform data of MAX14577/77836 MUICs.
479
480config CHARGER_DETECTOR_MAX14656
481	tristate "Maxim MAX14656 USB charger detector"
482	depends on I2C
483	depends on OF
484	help
485	  Say Y to enable support for the Maxim MAX14656 USB charger detector.
486	  The device is compliant with the USB Battery Charging Specification
487	  Revision 1.2 and can be found e.g. in Kindle 4/5th generation
488	  readers and certain LG devices.
489
490config CHARGER_MAX77693
491	tristate "Maxim MAX77693 battery charger driver"
492	depends on MFD_MAX77693
493	help
494	  Say Y to enable support for the Maxim MAX77693 battery charger.
495
496config CHARGER_MAX8997
497	tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
498	depends on MFD_MAX8997 && REGULATOR_MAX8997
499	help
500	  Say Y to enable support for the battery charger control sysfs and
501	  platform data of MAX8997/LP3974 PMICs.
502
503config CHARGER_MAX8998
504	tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
505	depends on MFD_MAX8998 && REGULATOR_MAX8998
506	help
507	  Say Y to enable support for the battery charger control sysfs and
508	  platform data of MAX8998/LP3974 PMICs.
509
510config CHARGER_QCOM_SMBB
511	tristate "Qualcomm Switch-Mode Battery Charger and Boost"
512	depends on MFD_SPMI_PMIC || COMPILE_TEST
513	depends on OF
514	depends on EXTCON
515	depends on REGULATOR
516	help
517	  Say Y to include support for the Switch-Mode Battery Charger and
518	  Boost (SMBB) hardware found in Qualcomm PM8941 PMICs.  The charger
519	  is an integrated, single-cell lithium-ion battery charger.  DT
520	  configuration is required for loading, see the devicetree
521	  documentation for more detail.  The base name for this driver is
522	  'pm8941_charger'.
523
524config CHARGER_BQ2415X
525	tristate "TI BQ2415x battery charger driver"
526	depends on I2C
527	help
528	  Say Y to enable support for the TI BQ2415x battery charger
529	  PMICs.
530
531	  You'll need this driver to charge batteries on e.g. Nokia
532	  RX-51/N900.
533
534config CHARGER_BQ24190
535	tristate "TI BQ24190 battery charger driver"
536	depends on I2C
537	depends on EXTCON
538	depends on GPIOLIB || COMPILE_TEST
539	help
540	  Say Y to enable support for the TI BQ24190 battery charger.
541
542config CHARGER_BQ24257
543	tristate "TI BQ24250/24251/24257 battery charger driver"
544	depends on I2C
545	depends on GPIOLIB || COMPILE_TEST
546	depends on REGMAP_I2C
547	help
548	  Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
549	  chargers.
550
551config CHARGER_BQ24735
552	tristate "TI BQ24735 battery charger support"
553	depends on I2C
554	depends on GPIOLIB || COMPILE_TEST
555	help
556	  Say Y to enable support for the TI BQ24735 battery charger.
557
558config CHARGER_BQ25890
559	tristate "TI BQ25890 battery charger driver"
560	depends on I2C
561	depends on GPIOLIB || COMPILE_TEST
562	select REGMAP_I2C
563	help
564	  Say Y to enable support for the TI BQ25890 battery charger.
565
566config CHARGER_SMB347
567	tristate "Summit Microelectronics SMB347 Battery Charger"
568	depends on I2C
569	select REGMAP_I2C
570	help
571	  Say Y to include support for Summit Microelectronics SMB347
572	  Battery Charger.
573
574config CHARGER_TPS65090
575	tristate "TPS65090 battery charger driver"
576	depends on MFD_TPS65090
577	help
578	 Say Y here to enable support for battery charging with TPS65090
579	 PMIC chips.
580
581config CHARGER_TPS65217
582	tristate "TPS65217 battery charger driver"
583	depends on MFD_TPS65217
584	help
585	 Say Y here to enable support for battery charging with TPS65217
586	 PMIC chips.
587
588config BATTERY_GAUGE_LTC2941
589	tristate "LTC2941/LTC2943 Battery Gauge Driver"
590	depends on I2C
591	help
592	  Say Y here to include support for LTC2941 and LTC2943 Battery
593	  Gauge IC. The driver reports the charge count continuously, and
594	  measures the voltage and temperature every 10 seconds.
595
596config AB8500_BM
597	bool "AB8500 Battery Management Driver"
598	depends on AB8500_CORE && AB8500_GPADC
599	help
600	  Say Y to include support for AB8500 battery management.
601
602config BATTERY_GOLDFISH
603	tristate "Goldfish battery driver"
604	depends on GOLDFISH || COMPILE_TEST
605	depends on HAS_IOMEM
606	help
607	  Say Y to enable support for the battery and AC power in the
608	  Goldfish emulator.
609
610config BATTERY_RT5033
611	tristate "RT5033 fuel gauge support"
612	depends on MFD_RT5033
613	help
614	  This adds support for battery fuel gauge in Richtek RT5033 PMIC.
615	  The fuelgauge calculates and determines the battery state of charge
616	  according to battery open circuit voltage.
617
618config CHARGER_RT9455
619	tristate "Richtek RT9455 battery charger driver"
620	depends on I2C
621	depends on GPIOLIB || COMPILE_TEST
622	select REGMAP_I2C
623	help
624	  Say Y to enable support for Richtek RT9455 battery charger.
625
626endif # POWER_SUPPLY
627