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