xref: /linux/drivers/power/supply/Kconfig (revision 7e541f6dbd05921d0bbb99646028cb9982535707)
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_S2M
860	tristate "Samsung S2M series PMIC battery charger support"
861	depends on EXTCON_S2M
862	depends on MFD_SEC_CORE
863	help
864	  This option enables support for charger devices found in
865	  certain Samsung S2M series PMICs, such as the S2MU005. These
866	  devices provide USB power supply information and also required
867	  for USB OTG role switching.
868
869config CHARGER_SMB347
870	tristate "Summit Microelectronics SMB3XX Battery Charger"
871	depends on I2C
872	depends on REGULATOR
873	select REGMAP_I2C
874	help
875	  Say Y to include support for Summit Microelectronics SMB345,
876	  SMB347 or SMB358 Battery Charger.
877
878config CHARGER_TPS65090
879	tristate "TPS65090 battery charger driver"
880	depends on MFD_TPS65090
881	help
882	  Say Y here to enable support for battery charging with TPS65090
883	  PMIC chips.
884
885config CHARGER_TPS65217
886	tristate "TPS65217 battery charger driver"
887	depends on MFD_TPS65217
888	help
889	  Say Y here to enable support for battery charging with TPS65217
890	  PMIC chips.
891
892config BATTERY_GAUGE_LTC2941
893	tristate "LTC2941/LTC2943 Battery Gauge Driver"
894	depends on I2C
895	help
896	  Say Y here to include support for LTC2941 and LTC2943 Battery
897	  Gauge IC. The driver reports the charge count continuously, and
898	  measures the voltage and temperature every 10 seconds.
899
900config AB8500_BM
901	bool "AB8500 Battery Management Driver"
902	depends on AB8500_CORE && AB8500_GPADC && (IIO = y) && OF
903	select THERMAL
904	select THERMAL_OF
905	help
906	  Say Y to include support for AB8500 battery management.
907
908config BATTERY_GOLDFISH
909	tristate "Goldfish battery driver"
910	depends on HAS_IOMEM
911	help
912	  Say Y to enable support for the Goldfish battery and AC power
913	  driver. Originated in the Android Studio Emulator (goldfish) it is
914	  going to be used in other emulators.
915
916config BATTERY_RT5033
917	tristate "RT5033 fuel gauge support"
918	depends on I2C
919	select REGMAP_I2C
920	help
921	  This adds support for battery fuel gauge in Richtek RT5033 PMIC.
922	  The fuelgauge calculates and determines the battery state of charge
923	  according to battery open circuit voltage.
924
925config CHARGER_RT5033
926	tristate "RT5033 battery charger support"
927	depends on MFD_RT5033
928	depends on EXTCON || !EXTCON
929	help
930	  This adds support for battery charger in Richtek RT5033 PMIC.
931	  The device supports pre-charge mode, fast charge mode and
932	  constant voltage mode.
933
934config CHARGER_RT9455
935	tristate "Richtek RT9455 battery charger driver"
936	depends on I2C
937	depends on GPIOLIB || COMPILE_TEST
938	select REGMAP_I2C
939	help
940	  Say Y to enable support for Richtek RT9455 battery charger.
941
942config CHARGER_RT9467
943	tristate "Richtek RT9467 Battery Charger Driver"
944	depends on I2C && GPIOLIB && REGULATOR
945	select REGMAP_I2C
946	select REGMAP_IRQ
947	select LINEAR_RANGES
948	help
949	  Say Y here to enable RT9467 Battery Charger.
950	  RT9467 is a switch-mode single cell Li-Ion/Li-Polymer battery charger
951	  for portable applications. It integrates a synchronous PWM controller,
952	  power MOSFETs, input current sensing and regulation, high-accuracy
953	  voltage regulation, and charge termination. The charge current is
954	  regulated through integrated sensing resistors. It also features
955	  USB On-The-Go (OTG) support and integrates D+/D- pin for USB
956	  host/charging port detection.
957
958	  This driver can also be built as a module. If so, the module
959	  will be called "rt9467-charger".
960
961config CHARGER_RT9471
962	tristate "Richtek RT9471 battery charger driver"
963	depends on I2C && GPIOLIB && REGULATOR
964	select REGMAP_I2C
965	select REGMAP_IRQ
966	select LINEAR_RANGES
967	help
968	  This adds support for Richtek RT9471 battery charger. RT9471 is
969	  highly-integrated switch mode battery charger which is system power
970	  patch manageable device for single cell Li-Ion and Li-polymer battery.
971	  It can support BC12 detection on DPDM, and current and voltage
972	  regulation on both charging and boost mode.
973
974	  This driver can also be built as a module. If so, the module will be
975	  called rt9471.
976
977config CHARGER_RT9756
978	tristate "Richtek RT9756 smart cap divider charger driver"
979	depends on I2C
980	select REGMAP_I2C
981	select LINEAR_RANGES
982	help
983	  This adds support for Richtek RT9756 smart cap divider charger driver.
984	  It's a high efficiency and high charge current charger. the device
985	  integrates smart cap divider topology with 9-channel high speed
986	  ADCs that can provide input and output voltage, current and
987	  temperature monitoring.
988
989	  This driver can also be built as a module. If so, the module will be
990	  called rt9756.
991
992config CHARGER_CROS_USBPD
993	tristate "ChromeOS EC based USBPD charger"
994	depends on CROS_USBPD_NOTIFY
995	help
996	  Say Y here to enable ChromeOS EC based USBPD charger
997	  driver. This driver gets various bits of information about
998	  what is connected to USB PD ports from the EC and converts
999	  that into power_supply properties.
1000
1001config CHARGER_CROS_PCHG
1002	tristate "ChromeOS EC based peripheral charger"
1003	depends on MFD_CROS_EC_DEV
1004	default MFD_CROS_EC_DEV
1005	help
1006	  Say Y here to enable ChromeOS EC based peripheral charge driver.
1007	  This driver gets various information about the devices connected to
1008	  the peripheral charge ports from the EC and converts that into
1009	  power_supply properties.
1010
1011config CHARGER_CROS_CONTROL
1012	tristate "ChromeOS EC based charge control"
1013	depends on MFD_CROS_EC_DEV
1014	depends on ACPI_BATTERY
1015	default MFD_CROS_EC_DEV
1016	help
1017	  Say Y here to enable ChromeOS EC based battery charge control.
1018	  This driver can manage charge thresholds and behaviour.
1019
1020	  This driver can also be built as a module. If so, the module will be
1021	  called cros_charge-control.
1022
1023config CHARGER_SC2731
1024	tristate "Spreadtrum SC2731 charger driver"
1025	depends on MFD_SC27XX_PMIC || COMPILE_TEST
1026	help
1027	  Say Y here to enable support for battery charging with SC2731
1028	  PMIC chips.
1029
1030config FUEL_GAUGE_SC27XX
1031	tristate "Spreadtrum SC27XX fuel gauge driver"
1032	depends on MFD_SC27XX_PMIC || COMPILE_TEST
1033	depends on IIO
1034	help
1035	  Say Y here to enable support for fuel gauge with SC27XX
1036	  PMIC chips.
1037
1038config FUEL_GAUGE_STC3117
1039       tristate "STMicroelectronics STC3117 fuel gauge driver"
1040       depends on CRC8
1041       depends on I2C
1042	select REGMAP_I2C
1043       help
1044         Say Y here to enable support for fuel gauge with STC3117
1045         chip.
1046
1047config CHARGER_UCS1002
1048	tristate "Microchip UCS1002 USB Port Power Controller"
1049	depends on I2C
1050	depends on OF
1051	depends on REGULATOR
1052	select REGMAP_I2C
1053	help
1054	  Say Y to enable support for Microchip UCS1002 Programmable
1055	  USB Port Power Controller with Charger Emulation.
1056
1057config CHARGER_BD71828
1058	tristate "Power-supply driver for ROHM BD71828 and BD71815 PMIC"
1059	depends on MFD_ROHM_BD71828
1060	help
1061	  Say Y here to enable support for charger and battery
1062	  in ROHM BD71815, BD71817, ROHM BD71828 power management
1063	  ICs. This driver gets various bits of information about battery
1064	  and charger states.
1065
1066config CHARGER_BD99954
1067	tristate "ROHM bd99954 charger driver"
1068	depends on I2C
1069	select LINEAR_RANGES
1070	help
1071	  Say Y here to enable support for getting battery and charger
1072	  information and altering charger configurations from the ROHM
1073	  BD99954 charger IC.
1074
1075config CHARGER_WILCO
1076	tristate "Wilco EC based charger for ChromeOS"
1077	depends on WILCO_EC
1078	help
1079	  Say Y here to enable control of the charging routines performed
1080	  by the Embedded Controller on the Chromebook named Wilco. Further
1081	  information can be found in
1082	  Documentation/ABI/testing/sysfs-class-power-wilco
1083
1084config RN5T618_POWER
1085	tristate "RN5T618 charger/fuel gauge support"
1086	depends on MFD_RN5T618
1087	depends on RN5T618_ADC
1088	depends on IIO
1089	help
1090	  Say Y here to have support for RN5T618 PMIC family fuel gauge and charger.
1091	  This driver can also be built as a module. If so, the module will be
1092	  called rn5t618_power.
1093
1094config BATTERY_ACER_A500
1095	tristate "Acer Iconia Tab A500 battery driver"
1096	depends on MFD_ACER_A500_EC
1097	help
1098	  Say Y to include support for Acer Iconia Tab A500 battery fuel gauge.
1099
1100config BATTERY_SURFACE
1101	tristate "Battery driver for 7th-generation Microsoft Surface devices"
1102	depends on SURFACE_AGGREGATOR_REGISTRY
1103	help
1104	  Driver for battery devices connected via/managed by the Surface System
1105	  Aggregator Module (SSAM).
1106
1107	  This driver provides battery-information and -status support for
1108	  Surface devices where said data is not exposed via the standard ACPI
1109	  devices. On those models (7th-generation), battery-information is
1110	  instead handled directly via SSAM client devices and this driver.
1111
1112	  Say M or Y here to include battery status support for 7th-generation
1113	  Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
1114	  Surface Book 3, and Surface Laptop Go.
1115
1116config CHARGER_SURFACE
1117	tristate "AC driver for 7th-generation Microsoft Surface devices"
1118	depends on SURFACE_AGGREGATOR_REGISTRY
1119	help
1120	  Driver for AC devices connected via/managed by the Surface System
1121	  Aggregator Module (SSAM).
1122
1123	  This driver provides AC-information and -status support for Surface
1124	  devices where said data is not exposed via the standard ACPI devices.
1125	  On those models (7th-generation), AC-information is instead handled
1126	  directly via a SSAM client device and this driver.
1127
1128	  Say M or Y here to include AC status support for 7th-generation
1129	  Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
1130	  Surface Book 3, and Surface Laptop Go.
1131
1132config BATTERY_UG3105
1133	tristate "uPI uG3105 battery monitor driver"
1134	depends on I2C
1135	select ADC_BATTERY_HELPER
1136	help
1137	  Battery monitor driver for the uPI uG3105 battery monitor.
1138
1139	  Note the uG3105 is not a full-featured autonomous fuel-gauge. Instead
1140	  it is expected to be use in combination with some always on
1141	  microcontroller reading its coulomb-counter before it can wrap
1142	  (it must be read every 400 seconds!).
1143
1144	  Since Linux does not monitor coulomb-counter changes while the
1145	  device is off or suspended, the functionality of this driver is
1146	  limited to reporting capacity only.
1147
1148config BATTERY_CHARGER_SURFACE_RT
1149	tristate "Battery & Charger driver for Microsoft Surface RT"
1150	depends on I2C && GPIOLIB
1151	help
1152	  UEFI/APX driver for the 1st-generation Microsoft Surface RT
1153	  battery. Driver supports reading battery properties and
1154	  charger status.
1155
1156	  This driver can also be built as a module. If so, the module
1157	  will be called surface-rt-ec.
1158
1159config CHARGER_QCOM_SMB2
1160	tristate "Qualcomm PMI8998 PMIC charger driver"
1161	depends on MFD_SPMI_PMIC
1162	depends on IIO
1163	help
1164	  Say Y here to enable the Qualcomm PMIC Charger driver. This
1165	  adds support for the SMB2 switch mode battery charger found
1166	  in PMI8998 and related PMICs.
1167
1168config FUEL_GAUGE_MM8013
1169	tristate "Mitsumi MM8013 fuel gauge driver"
1170	depends on I2C
1171	select REGMAP_I2C
1172	help
1173	  Say Y here to enable the Mitsumi MM8013 fuel gauge driver.
1174	  It enables the monitoring of many battery parameters, including
1175	  the state of charge, temperature, cycle count, actual and design
1176	  capacity, etc.
1177
1178config MACSMC_POWER
1179	tristate "Apple SMC Battery and Power Driver"
1180	depends on MFD_MACSMC
1181	help
1182	  This driver provides support for the battery and AC adapter on
1183	  Apple Silicon machines. It exposes battery telemetry (voltage,
1184	  current, health) and AC adapter status through the standard Linux
1185	  power supply framework.
1186
1187	  Say Y or M here if you have an Apple Silicon based Mac.
1188
1189endif # POWER_SUPPLY
1190