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