xref: /openbmc/linux/drivers/power/supply/Kconfig (revision bfeda968)
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_CROS_USBPD
769	tristate "ChromeOS EC based USBPD charger"
770	depends on CROS_USBPD_NOTIFY
771	help
772	  Say Y here to enable ChromeOS EC based USBPD charger
773	  driver. This driver gets various bits of information about
774	  what is connected to USB PD ports from the EC and converts
775	  that into power_supply properties.
776
777config CHARGER_CROS_PCHG
778	tristate "ChromeOS EC based peripheral charger"
779	depends on MFD_CROS_EC_DEV
780	default MFD_CROS_EC_DEV
781	help
782	  Say Y here to enable ChromeOS EC based peripheral charge driver.
783	  This driver gets various information about the devices connected to
784	  the peripheral charge ports from the EC and converts that into
785	  power_supply properties.
786
787config CHARGER_SC2731
788	tristate "Spreadtrum SC2731 charger driver"
789	depends on MFD_SC27XX_PMIC || COMPILE_TEST
790	help
791	  Say Y here to enable support for battery charging with SC2731
792	  PMIC chips.
793
794config FUEL_GAUGE_SC27XX
795	tristate "Spreadtrum SC27XX fuel gauge driver"
796	depends on MFD_SC27XX_PMIC || COMPILE_TEST
797	depends on IIO
798	help
799	  Say Y here to enable support for fuel gauge with SC27XX
800	  PMIC chips.
801
802config CHARGER_UCS1002
803	tristate "Microchip UCS1002 USB Port Power Controller"
804	depends on I2C
805	depends on OF
806	depends on REGULATOR
807	select REGMAP_I2C
808	help
809	  Say Y to enable support for Microchip UCS1002 Programmable
810	  USB Port Power Controller with Charger Emulation.
811
812config CHARGER_BD99954
813	tristate "ROHM bd99954 charger driver"
814	depends on I2C
815	select LINEAR_RANGES
816	help
817	  Say Y here to enable support for getting battery and charger
818	  information and altering charger configurations from the ROHM
819	  BD99954 charger IC.
820
821config CHARGER_WILCO
822	tristate "Wilco EC based charger for ChromeOS"
823	depends on WILCO_EC
824	help
825	  Say Y here to enable control of the charging routines performed
826	  by the Embedded Controller on the Chromebook named Wilco. Further
827	  information can be found in
828	  Documentation/ABI/testing/sysfs-class-power-wilco
829
830config RN5T618_POWER
831	tristate "RN5T618 charger/fuel gauge support"
832	depends on MFD_RN5T618
833	depends on RN5T618_ADC
834	depends on IIO
835	help
836	  Say Y here to have support for RN5T618 PMIC family fuel gauge and charger.
837	  This driver can also be built as a module. If so, the module will be
838	  called rn5t618_power.
839
840config BATTERY_ACER_A500
841	tristate "Acer Iconia Tab A500 battery driver"
842	depends on MFD_ACER_A500_EC
843	help
844	  Say Y to include support for Acer Iconia Tab A500 battery fuel gauge.
845
846config BATTERY_SURFACE
847	tristate "Battery driver for 7th-generation Microsoft Surface devices"
848	depends on SURFACE_AGGREGATOR_REGISTRY
849	help
850	  Driver for battery devices connected via/managed by the Surface System
851	  Aggregator Module (SSAM).
852
853	  This driver provides battery-information and -status support for
854	  Surface devices where said data is not exposed via the standard ACPI
855	  devices. On those models (7th-generation), battery-information is
856	  instead handled directly via SSAM client devices and this driver.
857
858	  Say M or Y here to include battery status support for 7th-generation
859	  Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
860	  Surface Book 3, and Surface Laptop Go.
861
862config CHARGER_SURFACE
863	tristate "AC driver for 7th-generation Microsoft Surface devices"
864	depends on SURFACE_AGGREGATOR_REGISTRY
865	help
866	  Driver for AC devices connected via/managed by the Surface System
867	  Aggregator Module (SSAM).
868
869	  This driver provides AC-information and -status support for Surface
870	  devices where said data is not exposed via the standard ACPI devices.
871	  On those models (7th-generation), AC-information is instead handled
872	  directly via a SSAM client device and this driver.
873
874	  Say M or Y here to include AC status support for 7th-generation
875	  Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
876	  Surface Book 3, and Surface Laptop Go.
877
878config BATTERY_UG3105
879	tristate "uPI uG3105 battery monitor driver"
880	depends on I2C
881	help
882	  Battery monitor driver for the uPI uG3105 battery monitor.
883
884	  Note the uG3105 is not a full-featured autonomous fuel-gauge. Instead
885	  it is expected to be use in combination with some always on
886	  microcontroller reading its coulomb-counter before it can wrap
887	  (it must be read every 400 seconds!).
888
889	  Since Linux does not monitor coulomb-counter changes while the
890	  device is off or suspended, the functionality of this driver is
891	  limited to reporting capacity only.
892
893endif # POWER_SUPPLY
894