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