xref: /linux/drivers/power/supply/Kconfig (revision c7c18635363f06c1943514c2f4c8170b325302e8)
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_MAX8971
621	tristate "Maxim MAX8971 battery charger driver"
622	depends on I2C
623	depends on EXTCON || !EXTCON
624	select REGMAP_I2C
625	help
626	  The MAX8971 is a compact, high-frequency, high-efficiency switch-mode
627	  charger for a one-cell lithium-ion (Li+) battery. It delivers up to
628	  1.55A of current to the battery from inputs up to 7.5V and withstands
629	  transient inputs up to 22V.
630
631	  Say Y to enable support for the Maxim MAX8971 battery charger.
632	  This driver can also be built as a module. If so, the module will be
633	  called max8971_charger.
634
635config CHARGER_MAX8997
636	tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
637	depends on MFD_MAX8997 && REGULATOR_MAX8997
638	depends on EXTCON || !EXTCON
639	help
640	  Say Y to enable support for the battery charger control sysfs and
641	  platform data of MAX8997/LP3974 PMICs.
642
643config CHARGER_MAX8998
644	tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
645	depends on MFD_MAX8998 && REGULATOR_MAX8998
646	help
647	  Say Y to enable support for the battery charger control sysfs and
648	  platform data of MAX8998/LP3974 PMICs.
649
650config CHARGER_MP2629
651	tristate "Monolithic power system MP2629 Battery charger"
652	depends on MFD_MP2629
653	depends on MP2629_ADC
654	depends on IIO
655	help
656	  Select this option to enable support for Monolithic power system
657	  Battery charger. This driver provides Battery charger power management
658	  functions on the systems.
659
660config CHARGER_MT6360
661	tristate "Mediatek MT6360 Charger Driver"
662	depends on MFD_MT6360
663	depends on REGULATOR
664	select LINEAR_RANGES
665	help
666	  Say Y here to enable MT6360 Charger Part.
667	  The device supports High-Accuracy Voltage/Current Regulation,
668	  Average Input Current Regulation, Battery Temperature Sensing,
669	  Over-Temperature Protection, DPDM Detection for BC1.2.
670
671config CHARGER_MT6370
672	tristate "MediaTek MT6370 Charger Driver"
673	depends on MFD_MT6370
674	depends on REGULATOR
675	depends on IIO
676	select LINEAR_RANGES
677	help
678	  Say Y here to enable MT6370 Charger Part.
679	  The device supports High-Accuracy Voltage/Current Regulation,
680	  Average Input Current Regulation, Battery Temperature Sensing,
681	  Over-Temperature Protection, DPDM Detection for BC1.2.
682
683	  This driver can also be built as a module. If so, the module
684	  will be called "mt6370-charger".
685
686config CHARGER_QCOM_SMBB
687	tristate "Qualcomm Switch-Mode Battery Charger and Boost"
688	depends on MFD_SPMI_PMIC || COMPILE_TEST
689	depends on OF
690	depends on EXTCON
691	depends on REGULATOR
692	help
693	  Say Y to include support for the Switch-Mode Battery Charger and
694	  Boost (SMBB) hardware found in Qualcomm PM8941 PMICs.  The charger
695	  is an integrated, single-cell lithium-ion battery charger.  DT
696	  configuration is required for loading, see the devicetree
697	  documentation for more detail.  The base name for this driver is
698	  'pm8941_charger'.
699
700config BATTERY_PM8916_BMS_VM
701	tristate "Qualcomm PM8916 BMS-VM support"
702	depends on MFD_SPMI_PMIC || COMPILE_TEST
703	help
704	  Say Y to add support for Voltage Mode BMS block found in some
705	  Qualcomm PMICs such as PM8916. This hardware block provides
706	  battery voltage monitoring for the system.
707
708	  To compile this driver as module, choose M here: the
709	  module will be called pm8916_bms_vm.
710
711config CHARGER_PM8916_LBC
712	tristate "Qualcomm PM8916 Linear Battery Charger support"
713	depends on MFD_SPMI_PMIC || COMPILE_TEST
714	depends on EXTCON || !EXTCON
715	help
716	  Say Y here to add support for Linear Battery Charger block
717	  found in some Qualcomm PMICs such as PM8916. This hardware
718	  blokc provides simple CC/CV battery charger.
719
720	  To compile this driver as module, choose M here: the
721	  module will be called pm8916_lbc.
722
723config CHARGER_BQ2415X
724	tristate "TI BQ2415x battery charger driver"
725	depends on I2C
726	help
727	  Say Y to enable support for the TI BQ2415x battery charger
728	  PMICs.
729
730	  You'll need this driver to charge batteries on e.g. Nokia
731	  RX-51/N900.
732
733config CHARGER_BQ24190
734	tristate "TI BQ24190 battery charger driver"
735	depends on I2C
736	depends on EXTCON
737	depends on GPIOLIB || COMPILE_TEST
738	help
739	  Say Y to enable support for the TI BQ24190 battery charger.
740
741config CHARGER_BQ24257
742	tristate "TI BQ24250/24251/24257 battery charger driver"
743	depends on I2C
744	depends on GPIOLIB || COMPILE_TEST
745	select REGMAP_I2C
746	help
747	  Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
748	  chargers.
749
750config CHARGER_BQ24735
751	tristate "TI BQ24735 battery charger support"
752	depends on I2C
753	depends on GPIOLIB || COMPILE_TEST
754	help
755	  Say Y to enable support for the TI BQ24735 battery charger.
756
757config CHARGER_BQ2515X
758	tristate "TI BQ2515X battery charger family"
759	depends on I2C
760	depends on GPIOLIB || COMPILE_TEST
761	select REGMAP_I2C
762	help
763	  Say Y to enable support for the TI BQ2515X family of battery
764	  charging integrated circuits. The BQ2515X are highly integrated
765	  battery charge management ICs that integrate the most common
766	  functions for wearable devices, namely a charger, an output voltage
767	  rail, ADC for battery and system monitoring, and push-button
768	  controller.
769
770config CHARGER_BQ25890
771	tristate "TI BQ25890 battery charger driver"
772	depends on I2C
773	depends on GPIOLIB || COMPILE_TEST
774	select REGMAP_I2C
775	help
776	  Say Y to enable support for the TI BQ25890 battery charger.
777
778config CHARGER_BQ25980
779	tristate "TI BQ25980 battery charger driver"
780	depends on I2C
781	depends on GPIOLIB || COMPILE_TEST
782	select REGMAP_I2C
783	help
784	  Say Y to enable support for the TI BQ25980, BQ25975 and BQ25960
785	  series of fast battery chargers.
786
787config CHARGER_BQ256XX
788	tristate "TI BQ256XX battery charger driver"
789	depends on I2C
790	depends on GPIOLIB || COMPILE_TEST
791	select REGMAP_I2C
792	help
793	  Say Y to enable support for the TI BQ256XX battery chargers. The
794	  BQ256XX family of devices are highly-integrated, switch-mode battery
795	  charge management and system power path management devices for single
796	  cell Li-ion and Li-polymer batteries.
797
798config CHARGER_RK817
799	tristate "Rockchip RK817 PMIC Battery Charger"
800	depends on MFD_RK8XX
801	help
802	  Say Y to include support for Rockchip RK817 Battery Charger.
803
804config CHARGER_SMB347
805	tristate "Summit Microelectronics SMB3XX Battery Charger"
806	depends on I2C
807	depends on REGULATOR
808	select REGMAP_I2C
809	help
810	  Say Y to include support for Summit Microelectronics SMB345,
811	  SMB347 or SMB358 Battery Charger.
812
813config CHARGER_TPS65090
814	tristate "TPS65090 battery charger driver"
815	depends on MFD_TPS65090
816	help
817	  Say Y here to enable support for battery charging with TPS65090
818	  PMIC chips.
819
820config CHARGER_TPS65217
821	tristate "TPS65217 battery charger driver"
822	depends on MFD_TPS65217
823	help
824	  Say Y here to enable support for battery charging with TPS65217
825	  PMIC chips.
826
827config BATTERY_GAUGE_LTC2941
828	tristate "LTC2941/LTC2943 Battery Gauge Driver"
829	depends on I2C
830	help
831	  Say Y here to include support for LTC2941 and LTC2943 Battery
832	  Gauge IC. The driver reports the charge count continuously, and
833	  measures the voltage and temperature every 10 seconds.
834
835config AB8500_BM
836	bool "AB8500 Battery Management Driver"
837	depends on AB8500_CORE && AB8500_GPADC && (IIO = y) && OF
838	select THERMAL
839	select THERMAL_OF
840	help
841	  Say Y to include support for AB8500 battery management.
842
843config BATTERY_GOLDFISH
844	tristate "Goldfish battery driver"
845	depends on HAS_IOMEM
846	help
847	  Say Y to enable support for the Goldfish battery and AC power
848	  driver. Originated in the Android Studio Emulator (goldfish) it is
849	  going to be used in other emulators.
850
851config BATTERY_RT5033
852	tristate "RT5033 fuel gauge support"
853	depends on I2C
854	select REGMAP_I2C
855	help
856	  This adds support for battery fuel gauge in Richtek RT5033 PMIC.
857	  The fuelgauge calculates and determines the battery state of charge
858	  according to battery open circuit voltage.
859
860config CHARGER_RT5033
861	tristate "RT5033 battery charger support"
862	depends on MFD_RT5033
863	depends on EXTCON || !EXTCON
864	help
865	  This adds support for battery charger in Richtek RT5033 PMIC.
866	  The device supports pre-charge mode, fast charge mode and
867	  constant voltage mode.
868
869config CHARGER_RT9455
870	tristate "Richtek RT9455 battery charger driver"
871	depends on I2C
872	depends on GPIOLIB || COMPILE_TEST
873	select REGMAP_I2C
874	help
875	  Say Y to enable support for Richtek RT9455 battery charger.
876
877config CHARGER_RT9467
878	tristate "Richtek RT9467 Battery Charger Driver"
879	depends on I2C && GPIOLIB && REGULATOR
880	select REGMAP_I2C
881	select REGMAP_IRQ
882	select LINEAR_RANGES
883	help
884	  Say Y here to enable RT9467 Battery Charger.
885	  RT9467 is a switch-mode single cell Li-Ion/Li-Polymer battery charger
886	  for portable applications. It integrates a synchronous PWM controller,
887	  power MOSFETs, input current sensing and regulation, high-accuracy
888	  voltage regulation, and charge termination. The charge current is
889	  regulated through integrated sensing resistors. It also features
890	  USB On-The-Go (OTG) support and integrates D+/D- pin for USB
891	  host/charging port detection.
892
893	  This driver can also be built as a module. If so, the module
894	  will be called "rt9467-charger".
895
896config CHARGER_RT9471
897	tristate "Richtek RT9471 battery charger driver"
898	depends on I2C && GPIOLIB && REGULATOR
899	select REGMAP_I2C
900	select REGMAP_IRQ
901	select LINEAR_RANGES
902	help
903	  This adds support for Richtek RT9471 battery charger. RT9471 is
904	  highly-integrated switch mode battery charger which is system power
905	  patch manageable device for single cell Li-Ion and Li-polymer battery.
906	  It can support BC12 detection on DPDM, and current and voltage
907	  regulation on both charging and boost mode.
908
909	  This driver can also be built as a module. If so, the module will be
910	  called rt9471.
911
912config CHARGER_CROS_USBPD
913	tristate "ChromeOS EC based USBPD charger"
914	depends on CROS_USBPD_NOTIFY
915	help
916	  Say Y here to enable ChromeOS EC based USBPD charger
917	  driver. This driver gets various bits of information about
918	  what is connected to USB PD ports from the EC and converts
919	  that into power_supply properties.
920
921config CHARGER_CROS_PCHG
922	tristate "ChromeOS EC based peripheral charger"
923	depends on MFD_CROS_EC_DEV
924	default MFD_CROS_EC_DEV
925	help
926	  Say Y here to enable ChromeOS EC based peripheral charge driver.
927	  This driver gets various information about the devices connected to
928	  the peripheral charge ports from the EC and converts that into
929	  power_supply properties.
930
931config CHARGER_CROS_CONTROL
932	tristate "ChromeOS EC based charge control"
933	depends on MFD_CROS_EC_DEV
934	depends on ACPI_BATTERY
935	default MFD_CROS_EC_DEV
936	help
937	  Say Y here to enable ChromeOS EC based battery charge control.
938	  This driver can manage charge thresholds and behaviour.
939
940	  This driver can also be built as a module. If so, the module will be
941	  called cros_charge-control.
942
943config CHARGER_SC2731
944	tristate "Spreadtrum SC2731 charger driver"
945	depends on MFD_SC27XX_PMIC || COMPILE_TEST
946	help
947	  Say Y here to enable support for battery charging with SC2731
948	  PMIC chips.
949
950config FUEL_GAUGE_SC27XX
951	tristate "Spreadtrum SC27XX fuel gauge driver"
952	depends on MFD_SC27XX_PMIC || COMPILE_TEST
953	depends on IIO
954	help
955	  Say Y here to enable support for fuel gauge with SC27XX
956	  PMIC chips.
957
958config FUEL_GAUGE_STC3117
959       tristate "STMicroelectronics STC3117 fuel gauge driver"
960       depends on CRC8
961       depends on I2C
962	select REGMAP_I2C
963       help
964         Say Y here to enable support for fuel gauge with STC3117
965         chip.
966
967config CHARGER_UCS1002
968	tristate "Microchip UCS1002 USB Port Power Controller"
969	depends on I2C
970	depends on OF
971	depends on REGULATOR
972	select REGMAP_I2C
973	help
974	  Say Y to enable support for Microchip UCS1002 Programmable
975	  USB Port Power Controller with Charger Emulation.
976
977config CHARGER_BD99954
978	tristate "ROHM bd99954 charger driver"
979	depends on I2C
980	select LINEAR_RANGES
981	help
982	  Say Y here to enable support for getting battery and charger
983	  information and altering charger configurations from the ROHM
984	  BD99954 charger IC.
985
986config CHARGER_WILCO
987	tristate "Wilco EC based charger for ChromeOS"
988	depends on WILCO_EC
989	help
990	  Say Y here to enable control of the charging routines performed
991	  by the Embedded Controller on the Chromebook named Wilco. Further
992	  information can be found in
993	  Documentation/ABI/testing/sysfs-class-power-wilco
994
995config RN5T618_POWER
996	tristate "RN5T618 charger/fuel gauge support"
997	depends on MFD_RN5T618
998	depends on RN5T618_ADC
999	depends on IIO
1000	help
1001	  Say Y here to have support for RN5T618 PMIC family fuel gauge and charger.
1002	  This driver can also be built as a module. If so, the module will be
1003	  called rn5t618_power.
1004
1005config BATTERY_ACER_A500
1006	tristate "Acer Iconia Tab A500 battery driver"
1007	depends on MFD_ACER_A500_EC
1008	help
1009	  Say Y to include support for Acer Iconia Tab A500 battery fuel gauge.
1010
1011config BATTERY_SURFACE
1012	tristate "Battery driver for 7th-generation Microsoft Surface devices"
1013	depends on SURFACE_AGGREGATOR_REGISTRY
1014	help
1015	  Driver for battery devices connected via/managed by the Surface System
1016	  Aggregator Module (SSAM).
1017
1018	  This driver provides battery-information and -status support for
1019	  Surface devices where said data is not exposed via the standard ACPI
1020	  devices. On those models (7th-generation), battery-information is
1021	  instead handled directly via SSAM client devices and this driver.
1022
1023	  Say M or Y here to include battery status support for 7th-generation
1024	  Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
1025	  Surface Book 3, and Surface Laptop Go.
1026
1027config CHARGER_SURFACE
1028	tristate "AC driver for 7th-generation Microsoft Surface devices"
1029	depends on SURFACE_AGGREGATOR_REGISTRY
1030	help
1031	  Driver for AC devices connected via/managed by the Surface System
1032	  Aggregator Module (SSAM).
1033
1034	  This driver provides AC-information and -status support for Surface
1035	  devices where said data is not exposed via the standard ACPI devices.
1036	  On those models (7th-generation), AC-information is instead handled
1037	  directly via a SSAM client device and this driver.
1038
1039	  Say M or Y here to include AC status support for 7th-generation
1040	  Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
1041	  Surface Book 3, and Surface Laptop Go.
1042
1043config BATTERY_UG3105
1044	tristate "uPI uG3105 battery monitor driver"
1045	depends on I2C
1046	help
1047	  Battery monitor driver for the uPI uG3105 battery monitor.
1048
1049	  Note the uG3105 is not a full-featured autonomous fuel-gauge. Instead
1050	  it is expected to be use in combination with some always on
1051	  microcontroller reading its coulomb-counter before it can wrap
1052	  (it must be read every 400 seconds!).
1053
1054	  Since Linux does not monitor coulomb-counter changes while the
1055	  device is off or suspended, the functionality of this driver is
1056	  limited to reporting capacity only.
1057
1058config CHARGER_QCOM_SMB2
1059	tristate "Qualcomm PMI8998 PMIC charger driver"
1060	depends on MFD_SPMI_PMIC
1061	depends on IIO
1062	help
1063	  Say Y here to enable the Qualcomm PMIC Charger driver. This
1064	  adds support for the SMB2 switch mode battery charger found
1065	  in PMI8998 and related PMICs.
1066
1067config FUEL_GAUGE_MM8013
1068	tristate "Mitsumi MM8013 fuel gauge driver"
1069	depends on I2C
1070	select REGMAP_I2C
1071	help
1072	  Say Y here to enable the Mitsumi MM8013 fuel gauge driver.
1073	  It enables the monitoring of many battery parameters, including
1074	  the state of charge, temperature, cycle count, actual and design
1075	  capacity, etc.
1076
1077endif # POWER_SUPPLY
1078