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