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