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