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