xref: /linux/drivers/power/supply/Kconfig (revision cfe769670e82c2bdd1cd8b6e4dbe8614b6429211)
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 POWER_SUPPLY_HWMON
19	bool
20	prompt "Expose power supply sensors as hwmon device"
21	depends on HWMON=y || HWMON=POWER_SUPPLY
22	default y
23	help
24	  This options enables API that allows sensors found on a
25	  power supply device (current, voltage, temperature) to be
26	  exposed as a hwmon device.
27
28	  Say 'Y' here if you want power supplies to
29	  have hwmon sysfs interface too.
30
31config APM_POWER
32	tristate "APM emulation for class batteries"
33	depends on APM_EMULATION
34	help
35	  Say Y here to enable support APM status emulation using
36	  battery class devices.
37
38config GENERIC_ADC_BATTERY
39	tristate "Generic battery support using IIO"
40	depends on IIO
41	help
42	  Say Y here to enable support for the generic battery driver
43	  which uses IIO framework to read adc.
44
45config IP5XXX_POWER
46	tristate "Injoinic IP5xxx power bank IC driver"
47	depends on I2C
48	select REGMAP_I2C
49	help
50	  Say Y to include support for Injoinic IP5xxx power bank ICs,
51	  which include a battery charger and a boost converter.
52
53config MAX8925_POWER
54	tristate "MAX8925 battery charger support"
55	depends on MFD_MAX8925
56	help
57	  Say Y here to enable support for the battery charger in the Maxim
58	  MAX8925 PMIC.
59
60config WM831X_BACKUP
61	tristate "WM831X backup battery charger support"
62	depends on MFD_WM831X
63	help
64	  Say Y here to enable support for the backup battery charger
65	  in the Wolfson Microelectronics WM831x PMICs.
66
67config WM831X_POWER
68	tristate "WM831X PMU support"
69	depends on MFD_WM831X
70	help
71	  Say Y here to enable support for the power management unit
72	  provided by Wolfson Microelectronics WM831x PMICs.
73
74config WM8350_POWER
75	tristate "WM8350 PMU support"
76	depends on MFD_WM8350
77	help
78	  Say Y here to enable support for the power management unit
79	  provided by the Wolfson Microelectronics WM8350 PMIC.
80
81config TEST_POWER
82	tristate "Test power driver"
83	help
84	  This driver is used for testing. It's safe to say M here.
85
86config BATTERY_88PM860X
87	tristate "Marvell 88PM860x battery driver"
88	depends on MFD_88PM860X
89	help
90	  Say Y here to enable battery monitor for Marvell 88PM860x chip.
91
92config CHARGER_ADP5061
93	tristate "ADP5061 battery charger driver"
94	depends on I2C
95	select REGMAP_I2C
96	help
97	  Say Y here to enable support for the ADP5061 standalone battery
98	  charger.
99
100	  This driver can be built as a module. If so, the module will be
101	  called adp5061.
102
103config BATTERY_ACT8945A
104	tristate "Active-semi ACT8945A charger driver"
105	depends on MFD_ACT8945A || COMPILE_TEST
106	help
107	  Say Y here to enable support for power supply provided by
108	  Active-semi ActivePath ACT8945A charger.
109
110config BATTERY_CHAGALL
111	tristate "Pegatron Chagall battery driver"
112	depends on I2C
113	depends on LEDS_CLASS
114	help
115	  Say Y to include support for Cypress CG7153AM IC based battery
116	  fuel gauge with custom firmware found in Pegatron Chagall based
117	  tablet line.
118
119	  This driver can also be built as a module. If so, the module will be
120	  called chagall-battery.
121
122config BATTERY_CPCAP
123	tristate "Motorola CPCAP PMIC battery driver"
124	depends on MFD_CPCAP && IIO
125	default MFD_CPCAP
126	help
127	  Say Y here to enable support for battery on Motorola
128	  phones and tablets such as droid 4.
129
130config BATTERY_CW2015
131	tristate "CW2015 Battery driver"
132	depends on I2C
133	select REGMAP_I2C
134	help
135	  Say Y here to enable support for the cellwise cw2015
136	  battery fuel gauge (used in the Pinebook Pro & others)
137
138	  This driver can also be built as a module. If so, the module will be
139	  called cw2015_battery.
140
141config BATTERY_DS2760
142	tristate "DS2760 battery driver (HP iPAQ & others)"
143	depends on W1
144	help
145	  Say Y here to enable support for batteries with ds2760 chip.
146
147config BATTERY_DS2780
148	tristate "DS2780 battery driver"
149	depends on HAS_IOMEM
150	select W1
151	select W1_SLAVE_DS2780
152	help
153	  Say Y here to enable support for batteries with ds2780 chip.
154
155config BATTERY_DS2781
156	tristate "DS2781 battery driver"
157	depends on HAS_IOMEM
158	select W1
159	select W1_SLAVE_DS2781
160	help
161	  If you enable this you will have the DS2781 battery driver support.
162
163	  The battery monitor chip is used in many batteries/devices
164	  as the one who is responsible for charging/discharging/monitoring
165	  Li+ batteries.
166
167	  If you are unsure, say N.
168
169config BATTERY_DS2782
170	tristate "DS2782/DS2786 standalone gas-gauge"
171	depends on I2C
172	help
173	  Say Y here to enable support for the DS2782/DS2786 standalone battery
174	  gas-gauge.
175
176config BATTERY_HUAWEI_GAOKUN
177	tristate "Huawei Matebook E Go power supply"
178	depends on EC_HUAWEI_GAOKUN
179	help
180	  This driver enables battery and adapter support on the Huawei Matebook
181	  E Go, which is a sc8280xp-based 2-in-1 tablet.
182
183	  To compile the driver as a module, choose M here: the module will be
184	  called huawei-gaokun-battery.
185
186config BATTERY_LEGO_EV3
187	tristate "LEGO MINDSTORMS EV3 battery"
188	depends on OF && IIO && GPIOLIB && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
189	help
190	  Say Y here to enable support for the LEGO MINDSTORMS EV3 battery.
191
192config BATTERY_LENOVO_YOGA_C630
193	tristate "Lenovo Yoga C630 battery"
194	depends on EC_LENOVO_YOGA_C630
195	help
196	  This driver enables battery support on the Lenovo Yoga C630 laptop.
197
198	  To compile the driver as a module, choose M here: the module will be
199	  called lenovo_yoga_c630_battery.
200
201config BATTERY_PMU
202	tristate "Apple PMU battery"
203	depends on PPC32 && ADB_PMU
204	help
205	  Say Y here to expose battery information on Apple machines
206	  through the generic battery class.
207
208config BATTERY_QCOM_BATTMGR
209	tristate "Qualcomm PMIC GLINK battery manager support"
210	depends on QCOM_PMIC_GLINK
211	select AUXILIARY_BUS
212	help
213	  Say Y here to enable the Qualcomm PMIC GLINK power supply driver,
214	  which is used on modern Qualcomm platforms to provide battery and
215	  power supply information.
216
217config BATTERY_OLPC
218	tristate "One Laptop Per Child battery"
219	depends on OLPC_EC
220	help
221	  Say Y to enable support for the battery on the OLPC laptop.
222
223config BATTERY_SAMSUNG_SDI
224	bool "Samsung SDI batteries"
225	help
226	  Say Y to enable support for Samsung SDI battery data.
227	  These batteries are used in Samsung mobile phones.
228
229config BATTERY_COLLIE
230	tristate "Sharp SL-5500 (collie) battery"
231	depends on SA1100_COLLIE && MCP_UCB1200
232	help
233	  Say Y to enable support for the battery on the Sharp Zaurus
234	  SL-5500 (collie) models.
235
236config BATTERY_INGENIC
237	tristate "Ingenic JZ47xx SoCs battery driver"
238	depends on MIPS || COMPILE_TEST
239	depends on INGENIC_ADC
240	help
241	  Choose this option if you want to monitor battery status on
242	  Ingenic JZ47xx SoC based devices.
243
244	  This driver can also be built as a module. If so, the module will be
245	  called ingenic-battery.
246
247config BATTERY_IPAQ_MICRO
248	tristate "iPAQ Atmel Micro ASIC battery driver"
249	depends on MFD_IPAQ_MICRO
250	help
251	  Choose this option if you want to monitor battery status on
252	  Compaq/HP iPAQ h3100 and h3600.
253
254config BATTERY_WM97XX
255	bool "WM97xx generic battery driver"
256	depends on TOUCHSCREEN_WM97XX=y
257	help
258	  Say Y to enable support for battery measured by WM97xx aux port.
259
260config BATTERY_SBS
261	tristate "SBS Compliant gas gauge"
262	depends on I2C
263	help
264	  Say Y to include support for SBS battery driver for SBS-compliant
265	  gas gauges.
266
267config CHARGER_SBS
268	tristate "SBS Compliant charger"
269	depends on I2C
270	select REGMAP_I2C
271	help
272	  Say Y to include support for SBS compliant battery chargers.
273
274config MANAGER_SBS
275	tristate "Smart Battery System Manager"
276	depends on I2C && I2C_MUX && GPIOLIB
277	select I2C_SMBUS
278	help
279	  Say Y here to include support for Smart Battery System Manager
280	  ICs. The driver reports online and charging status via sysfs.
281	  It presents itself also as I2C mux which allows to bind
282	  smart battery driver to its ports.
283	  Supported is for example LTC1760.
284
285	  This driver can also be built as a module. If so, the module will be
286	  called sbs-manager.
287
288config BATTERY_BQ27XXX
289	tristate "BQ27xxx battery driver"
290	help
291	  Say Y here to enable support for batteries with BQ27xxx chips.
292
293config BATTERY_BQ27XXX_I2C
294	tristate "BQ27xxx I2C support"
295	depends on BATTERY_BQ27XXX
296	depends on I2C
297	default y
298	help
299	  Say Y here to enable support for batteries with BQ27xxx chips
300	  connected over an I2C bus.
301
302config BATTERY_BQ27XXX_HDQ
303	tristate "BQ27xxx HDQ support"
304	depends on BATTERY_BQ27XXX
305	depends on W1
306	default y
307	help
308	  Say Y here to enable support for batteries with BQ27xxx chips
309	  connected over an HDQ bus.
310
311config BATTERY_BQ27XXX_DT_UPDATES_NVM
312	bool "BQ27xxx support for update of NVM/flash data memory"
313	depends on BATTERY_BQ27XXX_I2C
314	help
315	  Say Y here to enable devicetree monitored-battery config to update
316	  NVM/flash data memory. Only enable this option for devices with a
317	  fuel gauge mounted on the circuit board, and a battery that cannot
318	  easily be replaced with one of a different type. Not for
319	  general-purpose kernels, as this can cause misconfiguration of a
320	  smart battery with embedded NVM/flash.
321
322config BATTERY_DA9030
323	tristate "DA9030 battery driver"
324	depends on PMIC_DA903X
325	help
326	  Say Y here to enable support for batteries charger integrated into
327	  DA9030 PMIC.
328
329config BATTERY_DA9052
330	tristate "Dialog DA9052 Battery"
331	depends on PMIC_DA9052
332	help
333	  Say Y here to enable support for batteries charger integrated into
334	  DA9052 PMIC.
335
336config CHARGER_DA9150
337	tristate "Dialog Semiconductor DA9150 Charger support"
338	depends on MFD_DA9150
339	depends on DA9150_GPADC
340	depends on IIO
341	help
342	  Say Y here to enable support for charger unit of the DA9150
343	  Integrated Charger & Fuel-Gauge IC.
344
345	  This driver can also be built as a module. If so, the module will be
346	  called da9150-charger.
347
348config BATTERY_DA9150
349	tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
350	depends on MFD_DA9150
351	help
352	  Say Y here to enable support for the Fuel-Gauge unit of the DA9150
353	  Integrated Charger & Fuel-Gauge IC
354
355	  This driver can also be built as a module. If so, the module will be
356	  called da9150-fg.
357
358config CHARGER_AXP20X
359	tristate "X-Powers AXP20X and AXP22X AC power supply driver"
360	depends on MFD_AXP20X
361	depends on AXP20X_ADC
362	depends on IIO
363	help
364	  Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
365	  power supply.
366
367	  This driver can also be built as a module. If so, the module will be
368	  called axp20x_ac_power.
369
370config BATTERY_AXP20X
371	tristate "X-Powers AXP20X battery driver"
372	depends on MFD_AXP20X
373	depends on AXP20X_ADC
374	depends on IIO
375	help
376	  Say Y here to enable support for X-Powers AXP20X PMICs' battery power
377	  supply.
378
379	  This driver can also be built as a module. If so, the module will be
380	  called axp20x_battery.
381
382config AXP20X_POWER
383	tristate "AXP20x power supply driver"
384	depends on MFD_AXP20X
385	depends on IIO
386	help
387	  This driver provides support for the power supply features of
388	  AXP20x PMIC.
389
390config AXP288_CHARGER
391	tristate "X-Powers AXP288 Charger"
392	depends on MFD_AXP20X && EXTCON_AXP288 && IOSF_MBI && ACPI
393	help
394	  Say yes here to have support X-Power AXP288 power management IC (PMIC)
395	  integrated charger.
396
397config AXP288_FUEL_GAUGE
398	tristate "X-Powers AXP288 Fuel Gauge"
399	depends on MFD_AXP20X && IIO && IOSF_MBI && ACPI
400	help
401	  Say yes here to have support for X-Power power management IC (PMIC)
402	  Fuel Gauge. The device provides battery statistics and status
403	  monitoring as well as alerts for battery over/under voltage and
404	  over/under temperature.
405
406config BATTERY_MAX17040
407	tristate "Maxim MAX17040/17041/17043 family Fuel Gauge"
408	depends on I2C && IIO
409	select REGMAP_I2C
410	help
411	  Driver supports Maxim fuel-gauge systems for lithium-ion (Li+)
412	  batteries used mainly in handheld and portable equipment.
413	  Supported devices: max17040, max17041, max17043, max17044, max17048,
414	  max17049, max17058, max17059, max77836.
415
416	  Driver supports reporting SOC (State of Charge, i.e capacity),
417	  voltage and configurable low-SOC wakeup interrupt.
418
419	  Driver can be build as a module (max17040_battery).
420
421config BATTERY_MAX17042
422	tristate "Maxim MAX17042/17047/17050/8997/8966 family Fuel Gauge"
423	depends on I2C
424	select REGMAP_I2C
425	help
426	  MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
427	  in handheld and portable equipment. The MAX17042 is configured
428	  to operate with a single lithium cell. MAX8997 and MAX8966 are
429	  multi-function devices that include fuel gauages that are compatible
430	  with MAX17042.
431	  Supported devices: max8966, max8997, max17042, max17047, max17050,
432	  max17055, max77693, max77849.
433
434	  Driver can be build as a module (max17042_battery).
435
436config BATTERY_MAX1720X
437	tristate "Maxim MAX17201/MAX17205 Fuel Gauge"
438	depends on I2C
439	select REGMAP_I2C
440	help
441	  MAX1720x is a family of fuel-gauge systems for lithium-ion (Li+)
442	  batteries in handheld and portable equipment. MAX17201 are
443	  configured to operate with a single lithium cell, the MAX17205
444	  can operate with multiple cells.
445
446	  Say Y to include support for the MAX17201/MAX17205 Fuel Gauges.
447
448config BATTERY_MAX1721X
449	tristate "MAX17211/MAX17215 standalone gas-gauge"
450	depends on W1
451	select REGMAP_W1
452	help
453	  MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries
454	  in handheld and portable equipment. MAX17211 used with single cell
455	  battery. MAX17215 designed for muticell battery. Both them have
456	  OneWire (W1) host interface.
457
458	  Say Y here to enable support for the MAX17211/MAX17215 standalone
459	  battery gas-gauge.
460
461config BATTERY_TWL4030_MADC
462	tristate "TWL4030 MADC battery driver"
463	depends on TWL4030_MADC
464	help
465	  Say Y here to enable this dumb driver for batteries managed
466	  through the TWL4030 MADC.
467
468config CHARGER_88PM860X
469	tristate "Marvell 88PM860x Charger driver"
470	depends on MFD_88PM860X && BATTERY_88PM860X
471	help
472	  Say Y here to enable charger for Marvell 88PM860x chip.
473
474config BATTERY_RX51
475	tristate "Nokia RX-51 (N900) battery driver"
476	depends on TWL4030_MADC
477	help
478	  Say Y here to enable support for battery information on Nokia
479	  RX-51, also known as N900 tablet.
480
481config CHARGER_CPCAP
482	tristate "CPCAP PMIC Charger Driver"
483	depends on MFD_CPCAP && IIO
484	depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
485	default MFD_CPCAP
486	help
487	  Say Y to enable support for CPCAP PMIC charger driver for Motorola
488	  mobile devices such as Droid 4.
489
490config CHARGER_ISP1704
491	tristate "ISP1704 USB Charger Detection"
492	depends on USB_PHY
493	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
494	help
495	  Say Y to enable support for USB Charger Detection with
496	  ISP1707/ISP1704 USB transceivers.
497
498config CHARGER_MAX8903
499	tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
500	help
501	  Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
502	  The driver supports controlling charger-enable and current-limit
503	  pins based on the status of charger connections with interrupt
504	  handlers.
505
506config CHARGER_TWL4030
507	tristate "OMAP TWL4030 BCI charger driver"
508	depends on IIO && TWL4030_CORE
509	help
510	  Say Y here to enable support for TWL4030 Battery Charge Interface.
511
512config CHARGER_TWL6030
513	tristate "OMAP TWL6030 BCI charger driver"
514	depends on IIO && TWL4030_CORE
515	help
516	  Say Y here to enable support for TWL6030/6032 Battery Charge
517	  Interface.
518
519	  This driver can be build as a module. If so, the module will be
520	  called twl6030_charger.
521
522config CHARGER_LP8727
523	tristate "TI/National Semiconductor LP8727 charger driver"
524	depends on I2C
525	help
526	  Say Y here to enable support for LP8727 Charger Driver.
527
528config CHARGER_LP8788
529	tristate "TI LP8788 charger driver"
530	depends on MFD_LP8788
531	depends on LP8788_ADC
532	depends on IIO
533	help
534	  Say Y to enable support for the LP8788 linear charger.
535
536config CHARGER_GPIO
537	tristate "GPIO charger"
538	depends on GPIOLIB || COMPILE_TEST
539	help
540	  Say Y to include support for chargers which report their online status
541	  through a GPIO pin.
542
543	  This driver can be build as a module. If so, the module will be
544	  called gpio-charger.
545
546config CHARGER_MANAGER
547	tristate "Battery charger manager for multiple chargers"
548	depends on REGULATOR
549	select EXTCON
550	help
551	  Say Y to enable charger-manager support, which allows multiple
552	  chargers attached to a battery and multiple batteries attached to a
553	  system. The charger-manager also can monitor charging status in
554	  runtime and in suspend-to-RAM by waking up the system periodically
555	  with help of suspend_again support.
556
557config CHARGER_LT3651
558	tristate "Analog Devices LT3651 charger"
559	depends on GPIOLIB
560	help
561	  Say Y to include support for the Analog Devices (Linear Technology)
562	  LT3651 battery charger which reports its status via GPIO lines.
563
564config CHARGER_LTC4162L
565	tristate "LTC4162-L charger"
566	depends on I2C
567	select REGMAP_I2C
568	help
569	  Say Y to include support for the Analog Devices (Linear Technology)
570	  LTC4162-L battery charger connected to I2C.
571
572config CHARGER_MAX14577
573	tristate "Maxim MAX14577/77836 battery charger driver"
574	depends on MFD_MAX14577
575	help
576	  Say Y to enable support for the battery charger control sysfs and
577	  platform data of MAX14577/77836 MUICs.
578
579config CHARGER_DETECTOR_MAX14656
580	tristate "Maxim MAX14656 USB charger detector"
581	depends on I2C
582	depends on OF
583	help
584	  Say Y to enable support for the Maxim MAX14656 USB charger detector.
585	  The device is compliant with the USB Battery Charging Specification
586	  Revision 1.2 and can be found e.g. in Kindle 4/5th generation
587	  readers and certain LG devices.
588
589config CHARGER_MAX77650
590	tristate "Maxim MAX77650 battery charger driver"
591	depends on MFD_MAX77650
592	help
593	  Say Y to enable support for the battery charger control of MAX77650
594	  PMICs.
595
596config CHARGER_MAX77693
597	tristate "Maxim MAX77693 battery charger driver"
598	depends on MFD_MAX77693
599	help
600	  Say Y to enable support for the Maxim MAX77693 battery charger.
601
602config CHARGER_MAX77705
603	tristate "Maxim MAX77705 battery charger driver"
604	depends on MFD_MAX77705
605	help
606	  Say Y to enable support for the Maxim MAX77705 battery charger.
607
608config CHARGER_MAX77976
609	tristate "Maxim MAX77976 battery charger driver"
610	depends on I2C
611	select REGMAP_I2C
612	help
613	  The Maxim MAX77976 is a 19 Vin, 5.5A 1-Cell Li+ Battery Charger
614	  USB OTG support. It has an I2C interface for configuration.
615
616	  Say Y to enable support for the Maxim MAX77976 battery charger.
617	  This driver can also be built as a module. If so, the module will be
618	  called max77976_charger.
619
620config CHARGER_MAX8997
621	tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
622	depends on MFD_MAX8997 && REGULATOR_MAX8997
623	depends on EXTCON || !EXTCON
624	help
625	  Say Y to enable support for the battery charger control sysfs and
626	  platform data of MAX8997/LP3974 PMICs.
627
628config CHARGER_MAX8998
629	tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
630	depends on MFD_MAX8998 && REGULATOR_MAX8998
631	help
632	  Say Y to enable support for the battery charger control sysfs and
633	  platform data of MAX8998/LP3974 PMICs.
634
635config CHARGER_MP2629
636	tristate "Monolithic power system MP2629 Battery charger"
637	depends on MFD_MP2629
638	depends on MP2629_ADC
639	depends on IIO
640	help
641	  Select this option to enable support for Monolithic power system
642	  Battery charger. This driver provides Battery charger power management
643	  functions on the systems.
644
645config CHARGER_MT6360
646	tristate "Mediatek MT6360 Charger Driver"
647	depends on MFD_MT6360
648	depends on REGULATOR
649	select LINEAR_RANGES
650	help
651	  Say Y here to enable MT6360 Charger Part.
652	  The device supports High-Accuracy Voltage/Current Regulation,
653	  Average Input Current Regulation, Battery Temperature Sensing,
654	  Over-Temperature Protection, DPDM Detection for BC1.2.
655
656config CHARGER_MT6370
657	tristate "MediaTek MT6370 Charger Driver"
658	depends on MFD_MT6370
659	depends on REGULATOR
660	depends on IIO
661	select LINEAR_RANGES
662	help
663	  Say Y here to enable MT6370 Charger Part.
664	  The device supports High-Accuracy Voltage/Current Regulation,
665	  Average Input Current Regulation, Battery Temperature Sensing,
666	  Over-Temperature Protection, DPDM Detection for BC1.2.
667
668	  This driver can also be built as a module. If so, the module
669	  will be called "mt6370-charger".
670
671config CHARGER_QCOM_SMBB
672	tristate "Qualcomm Switch-Mode Battery Charger and Boost"
673	depends on MFD_SPMI_PMIC || COMPILE_TEST
674	depends on OF
675	depends on EXTCON
676	depends on REGULATOR
677	help
678	  Say Y to include support for the Switch-Mode Battery Charger and
679	  Boost (SMBB) hardware found in Qualcomm PM8941 PMICs.  The charger
680	  is an integrated, single-cell lithium-ion battery charger.  DT
681	  configuration is required for loading, see the devicetree
682	  documentation for more detail.  The base name for this driver is
683	  'pm8941_charger'.
684
685config BATTERY_PM8916_BMS_VM
686	tristate "Qualcomm PM8916 BMS-VM support"
687	depends on MFD_SPMI_PMIC || COMPILE_TEST
688	help
689	  Say Y to add support for Voltage Mode BMS block found in some
690	  Qualcomm PMICs such as PM8916. This hardware block provides
691	  battery voltage monitoring for the system.
692
693	  To compile this driver as module, choose M here: the
694	  module will be called pm8916_bms_vm.
695
696config CHARGER_PM8916_LBC
697	tristate "Qualcomm PM8916 Linear Battery Charger support"
698	depends on MFD_SPMI_PMIC || COMPILE_TEST
699	depends on EXTCON || !EXTCON
700	help
701	  Say Y here to add support for Linear Battery Charger block
702	  found in some Qualcomm PMICs such as PM8916. This hardware
703	  blokc provides simple CC/CV battery charger.
704
705	  To compile this driver as module, choose M here: the
706	  module will be called pm8916_lbc.
707
708config CHARGER_BQ2415X
709	tristate "TI BQ2415x battery charger driver"
710	depends on I2C
711	help
712	  Say Y to enable support for the TI BQ2415x battery charger
713	  PMICs.
714
715	  You'll need this driver to charge batteries on e.g. Nokia
716	  RX-51/N900.
717
718config CHARGER_BQ24190
719	tristate "TI BQ24190 battery charger driver"
720	depends on I2C
721	depends on EXTCON
722	depends on GPIOLIB || COMPILE_TEST
723	help
724	  Say Y to enable support for the TI BQ24190 battery charger.
725
726config CHARGER_BQ24257
727	tristate "TI BQ24250/24251/24257 battery charger driver"
728	depends on I2C
729	depends on GPIOLIB || COMPILE_TEST
730	select REGMAP_I2C
731	help
732	  Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
733	  chargers.
734
735config CHARGER_BQ24735
736	tristate "TI BQ24735 battery charger support"
737	depends on I2C
738	depends on GPIOLIB || COMPILE_TEST
739	help
740	  Say Y to enable support for the TI BQ24735 battery charger.
741
742config CHARGER_BQ2515X
743	tristate "TI BQ2515X battery charger family"
744	depends on I2C
745	depends on GPIOLIB || COMPILE_TEST
746	select REGMAP_I2C
747	help
748	  Say Y to enable support for the TI BQ2515X family of battery
749	  charging integrated circuits. The BQ2515X are highly integrated
750	  battery charge management ICs that integrate the most common
751	  functions for wearable devices, namely a charger, an output voltage
752	  rail, ADC for battery and system monitoring, and push-button
753	  controller.
754
755config CHARGER_BQ25890
756	tristate "TI BQ25890 battery charger driver"
757	depends on I2C
758	depends on GPIOLIB || COMPILE_TEST
759	select REGMAP_I2C
760	help
761	  Say Y to enable support for the TI BQ25890 battery charger.
762
763config CHARGER_BQ25980
764	tristate "TI BQ25980 battery charger driver"
765	depends on I2C
766	depends on GPIOLIB || COMPILE_TEST
767	select REGMAP_I2C
768	help
769	  Say Y to enable support for the TI BQ25980, BQ25975 and BQ25960
770	  series of fast battery chargers.
771
772config CHARGER_BQ256XX
773	tristate "TI BQ256XX battery charger driver"
774	depends on I2C
775	depends on GPIOLIB || COMPILE_TEST
776	select REGMAP_I2C
777	help
778	  Say Y to enable support for the TI BQ256XX battery chargers. The
779	  BQ256XX family of devices are highly-integrated, switch-mode battery
780	  charge management and system power path management devices for single
781	  cell Li-ion and Li-polymer batteries.
782
783config CHARGER_RK817
784	tristate "Rockchip RK817 PMIC Battery Charger"
785	depends on MFD_RK8XX
786	help
787	  Say Y to include support for Rockchip RK817 Battery Charger.
788
789config CHARGER_SMB347
790	tristate "Summit Microelectronics SMB3XX Battery Charger"
791	depends on I2C
792	depends on REGULATOR
793	select REGMAP_I2C
794	help
795	  Say Y to include support for Summit Microelectronics SMB345,
796	  SMB347 or SMB358 Battery Charger.
797
798config CHARGER_TPS65090
799	tristate "TPS65090 battery charger driver"
800	depends on MFD_TPS65090
801	help
802	  Say Y here to enable support for battery charging with TPS65090
803	  PMIC chips.
804
805config CHARGER_TPS65217
806	tristate "TPS65217 battery charger driver"
807	depends on MFD_TPS65217
808	help
809	  Say Y here to enable support for battery charging with TPS65217
810	  PMIC chips.
811
812config BATTERY_GAUGE_LTC2941
813	tristate "LTC2941/LTC2943 Battery Gauge Driver"
814	depends on I2C
815	help
816	  Say Y here to include support for LTC2941 and LTC2943 Battery
817	  Gauge IC. The driver reports the charge count continuously, and
818	  measures the voltage and temperature every 10 seconds.
819
820config AB8500_BM
821	bool "AB8500 Battery Management Driver"
822	depends on AB8500_CORE && AB8500_GPADC && (IIO = y) && OF
823	select THERMAL
824	select THERMAL_OF
825	help
826	  Say Y to include support for AB8500 battery management.
827
828config BATTERY_GOLDFISH
829	tristate "Goldfish battery driver"
830	depends on HAS_IOMEM
831	help
832	  Say Y to enable support for the Goldfish battery and AC power
833	  driver. Originated in the Android Studio Emulator (goldfish) it is
834	  going to be used in other emulators.
835
836config BATTERY_RT5033
837	tristate "RT5033 fuel gauge support"
838	depends on I2C
839	select REGMAP_I2C
840	help
841	  This adds support for battery fuel gauge in Richtek RT5033 PMIC.
842	  The fuelgauge calculates and determines the battery state of charge
843	  according to battery open circuit voltage.
844
845config CHARGER_RT5033
846	tristate "RT5033 battery charger support"
847	depends on MFD_RT5033
848	depends on EXTCON || !EXTCON
849	help
850	  This adds support for battery charger in Richtek RT5033 PMIC.
851	  The device supports pre-charge mode, fast charge mode and
852	  constant voltage mode.
853
854config CHARGER_RT9455
855	tristate "Richtek RT9455 battery charger driver"
856	depends on I2C
857	depends on GPIOLIB || COMPILE_TEST
858	select REGMAP_I2C
859	help
860	  Say Y to enable support for Richtek RT9455 battery charger.
861
862config CHARGER_RT9467
863	tristate "Richtek RT9467 Battery Charger Driver"
864	depends on I2C && GPIOLIB && REGULATOR
865	select REGMAP_I2C
866	select REGMAP_IRQ
867	select LINEAR_RANGES
868	help
869	  Say Y here to enable RT9467 Battery Charger.
870	  RT9467 is a switch-mode single cell Li-Ion/Li-Polymer battery charger
871	  for portable applications. It integrates a synchronous PWM controller,
872	  power MOSFETs, input current sensing and regulation, high-accuracy
873	  voltage regulation, and charge termination. The charge current is
874	  regulated through integrated sensing resistors. It also features
875	  USB On-The-Go (OTG) support and integrates D+/D- pin for USB
876	  host/charging port detection.
877
878	  This driver can also be built as a module. If so, the module
879	  will be called "rt9467-charger".
880
881config CHARGER_RT9471
882	tristate "Richtek RT9471 battery charger driver"
883	depends on I2C && GPIOLIB && REGULATOR
884	select REGMAP_I2C
885	select REGMAP_IRQ
886	select LINEAR_RANGES
887	help
888	  This adds support for Richtek RT9471 battery charger. RT9471 is
889	  highly-integrated switch mode battery charger which is system power
890	  patch manageable device for single cell Li-Ion and Li-polymer battery.
891	  It can support BC12 detection on DPDM, and current and voltage
892	  regulation on both charging and boost mode.
893
894	  This driver can also be built as a module. If so, the module will be
895	  called rt9471.
896
897config CHARGER_CROS_USBPD
898	tristate "ChromeOS EC based USBPD charger"
899	depends on CROS_USBPD_NOTIFY
900	help
901	  Say Y here to enable ChromeOS EC based USBPD charger
902	  driver. This driver gets various bits of information about
903	  what is connected to USB PD ports from the EC and converts
904	  that into power_supply properties.
905
906config CHARGER_CROS_PCHG
907	tristate "ChromeOS EC based peripheral charger"
908	depends on MFD_CROS_EC_DEV
909	default MFD_CROS_EC_DEV
910	help
911	  Say Y here to enable ChromeOS EC based peripheral charge driver.
912	  This driver gets various information about the devices connected to
913	  the peripheral charge ports from the EC and converts that into
914	  power_supply properties.
915
916config CHARGER_CROS_CONTROL
917	tristate "ChromeOS EC based charge control"
918	depends on MFD_CROS_EC_DEV
919	depends on ACPI_BATTERY
920	default MFD_CROS_EC_DEV
921	help
922	  Say Y here to enable ChromeOS EC based battery charge control.
923	  This driver can manage charge thresholds and behaviour.
924
925	  This driver can also be built as a module. If so, the module will be
926	  called cros_charge-control.
927
928config CHARGER_SC2731
929	tristate "Spreadtrum SC2731 charger driver"
930	depends on MFD_SC27XX_PMIC || COMPILE_TEST
931	help
932	  Say Y here to enable support for battery charging with SC2731
933	  PMIC chips.
934
935config FUEL_GAUGE_SC27XX
936	tristate "Spreadtrum SC27XX fuel gauge driver"
937	depends on MFD_SC27XX_PMIC || COMPILE_TEST
938	depends on IIO
939	help
940	  Say Y here to enable support for fuel gauge with SC27XX
941	  PMIC chips.
942
943config FUEL_GAUGE_STC3117
944       tristate "STMicroelectronics STC3117 fuel gauge driver"
945       depends on CRC8
946       depends on I2C
947	select REGMAP_I2C
948       help
949         Say Y here to enable support for fuel gauge with STC3117
950         chip.
951
952config CHARGER_UCS1002
953	tristate "Microchip UCS1002 USB Port Power Controller"
954	depends on I2C
955	depends on OF
956	depends on REGULATOR
957	select REGMAP_I2C
958	help
959	  Say Y to enable support for Microchip UCS1002 Programmable
960	  USB Port Power Controller with Charger Emulation.
961
962config CHARGER_BD99954
963	tristate "ROHM bd99954 charger driver"
964	depends on I2C
965	select LINEAR_RANGES
966	help
967	  Say Y here to enable support for getting battery and charger
968	  information and altering charger configurations from the ROHM
969	  BD99954 charger IC.
970
971config CHARGER_WILCO
972	tristate "Wilco EC based charger for ChromeOS"
973	depends on WILCO_EC
974	help
975	  Say Y here to enable control of the charging routines performed
976	  by the Embedded Controller on the Chromebook named Wilco. Further
977	  information can be found in
978	  Documentation/ABI/testing/sysfs-class-power-wilco
979
980config RN5T618_POWER
981	tristate "RN5T618 charger/fuel gauge support"
982	depends on MFD_RN5T618
983	depends on RN5T618_ADC
984	depends on IIO
985	help
986	  Say Y here to have support for RN5T618 PMIC family fuel gauge and charger.
987	  This driver can also be built as a module. If so, the module will be
988	  called rn5t618_power.
989
990config BATTERY_ACER_A500
991	tristate "Acer Iconia Tab A500 battery driver"
992	depends on MFD_ACER_A500_EC
993	help
994	  Say Y to include support for Acer Iconia Tab A500 battery fuel gauge.
995
996config BATTERY_SURFACE
997	tristate "Battery driver for 7th-generation Microsoft Surface devices"
998	depends on SURFACE_AGGREGATOR_REGISTRY
999	help
1000	  Driver for battery devices connected via/managed by the Surface System
1001	  Aggregator Module (SSAM).
1002
1003	  This driver provides battery-information and -status support for
1004	  Surface devices where said data is not exposed via the standard ACPI
1005	  devices. On those models (7th-generation), battery-information is
1006	  instead handled directly via SSAM client devices and this driver.
1007
1008	  Say M or Y here to include battery status support for 7th-generation
1009	  Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
1010	  Surface Book 3, and Surface Laptop Go.
1011
1012config CHARGER_SURFACE
1013	tristate "AC driver for 7th-generation Microsoft Surface devices"
1014	depends on SURFACE_AGGREGATOR_REGISTRY
1015	help
1016	  Driver for AC devices connected via/managed by the Surface System
1017	  Aggregator Module (SSAM).
1018
1019	  This driver provides AC-information and -status support for Surface
1020	  devices where said data is not exposed via the standard ACPI devices.
1021	  On those models (7th-generation), AC-information is instead handled
1022	  directly via a SSAM client device and this driver.
1023
1024	  Say M or Y here to include AC status support for 7th-generation
1025	  Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
1026	  Surface Book 3, and Surface Laptop Go.
1027
1028config BATTERY_UG3105
1029	tristate "uPI uG3105 battery monitor driver"
1030	depends on I2C
1031	help
1032	  Battery monitor driver for the uPI uG3105 battery monitor.
1033
1034	  Note the uG3105 is not a full-featured autonomous fuel-gauge. Instead
1035	  it is expected to be use in combination with some always on
1036	  microcontroller reading its coulomb-counter before it can wrap
1037	  (it must be read every 400 seconds!).
1038
1039	  Since Linux does not monitor coulomb-counter changes while the
1040	  device is off or suspended, the functionality of this driver is
1041	  limited to reporting capacity only.
1042
1043config CHARGER_QCOM_SMB2
1044	tristate "Qualcomm PMI8998 PMIC charger driver"
1045	depends on MFD_SPMI_PMIC
1046	depends on IIO
1047	help
1048	  Say Y here to enable the Qualcomm PMIC Charger driver. This
1049	  adds support for the SMB2 switch mode battery charger found
1050	  in PMI8998 and related PMICs.
1051
1052config FUEL_GAUGE_MM8013
1053	tristate "Mitsumi MM8013 fuel gauge driver"
1054	depends on I2C
1055	select REGMAP_I2C
1056	help
1057	  Say Y here to enable the Mitsumi MM8013 fuel gauge driver.
1058	  It enables the monitoring of many battery parameters, including
1059	  the state of charge, temperature, cycle count, actual and design
1060	  capacity, etc.
1061
1062endif # POWER_SUPPLY
1063