1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig POWER_SUPPLY
3 bool "Power supply class support"
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
12 config POWER_SUPPLY_DEBUG
13 bool "Power supply debug"
15 Say Y here to enable debugging messages for power supply class
19 tristate "Generic PDA/phone power driver"
22 Say Y here to enable generic power driver for PDAs and phones with
23 one or two external power supplies (AC/USB) connected to main and
24 backup batteries, and optional builtin charger.
27 tristate "APM emulation for class batteries"
28 depends on APM_EMULATION
30 Say Y here to enable support APM status emulation using
31 battery class devices.
33 config GENERIC_ADC_BATTERY
34 tristate "Generic battery support using IIO"
37 Say Y here to enable support for the generic battery driver
38 which uses IIO framework to read adc.
41 tristate "MAX8925 battery charger support"
42 depends on MFD_MAX8925
44 Say Y here to enable support for the battery charger in the Maxim
48 tristate "WM831X backup battery charger support"
51 Say Y here to enable support for the backup battery charger
52 in the Wolfson Microelectronics WM831x PMICs.
55 tristate "WM831X PMU support"
58 Say Y here to enable support for the power management unit
59 provided by Wolfson Microelectronics WM831x PMICs.
62 tristate "WM8350 PMU support"
65 Say Y here to enable support for the power management unit
66 provided by the Wolfson Microelectronics WM8350 PMIC.
69 tristate "Test power driver"
71 This driver is used for testing. It's safe to say M here.
73 config BATTERY_88PM860X
74 tristate "Marvell 88PM860x battery driver"
75 depends on MFD_88PM860X
77 Say Y here to enable battery monitor for Marvell 88PM860x chip.
79 config CHARGER_ADP5061
80 tristate "ADP5061 battery charger driver"
84 Say Y here to enable support for the ADP5061 standalone battery
87 This driver can be built as a module. If so, the module will be
90 config BATTERY_ACT8945A
91 tristate "Active-semi ACT8945A charger driver"
92 depends on MFD_ACT8945A || COMPILE_TEST
94 Say Y here to enable support for power supply provided by
95 Active-semi ActivePath ACT8945A charger.
98 tristate "Motorola CPCAP PMIC battery driver"
99 depends on MFD_CPCAP && IIO
102 Say Y here to enable support for battery on Motorola
103 phones and tablets such as droid 4.
105 config BATTERY_DS2760
106 tristate "DS2760 battery driver (HP iPAQ & others)"
109 Say Y here to enable support for batteries with ds2760 chip.
111 config BATTERY_DS2780
112 tristate "DS2780 battery driver"
115 select W1_SLAVE_DS2780
117 Say Y here to enable support for batteries with ds2780 chip.
119 config BATTERY_DS2781
120 tristate "DS2781 battery driver"
123 select W1_SLAVE_DS2781
125 If you enable this you will have the DS2781 battery driver support.
127 The battery monitor chip is used in many batteries/devices
128 as the one who is responsible for charging/discharging/monitoring
131 If you are unsure, say N.
133 config BATTERY_DS2782
134 tristate "DS2782/DS2786 standalone gas-gauge"
137 Say Y here to enable support for the DS2782/DS2786 standalone battery
140 config BATTERY_LEGO_EV3
141 tristate "LEGO MINDSTORMS EV3 battery"
142 depends on OF && IIO && GPIOLIB
144 Say Y here to enable support for the LEGO MINDSTORMS EV3 battery.
147 tristate "Apple PMU battery"
148 depends on PPC32 && ADB_PMU
150 Say Y here to expose battery information on Apple machines
151 through the generic battery class.
154 tristate "One Laptop Per Child battery"
155 depends on X86_32 && OLPC
157 Say Y to enable support for the battery on the OLPC laptop.
160 tristate "Sharp SL-6000 (tosa) battery"
161 depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX
163 Say Y to enable support for the battery on the Sharp Zaurus
164 SL-6000 (tosa) models.
166 config BATTERY_COLLIE
167 tristate "Sharp SL-5500 (collie) battery"
168 depends on SA1100_COLLIE && MCP_UCB1200
170 Say Y to enable support for the battery on the Sharp Zaurus
171 SL-5500 (collie) models.
173 config BATTERY_INGENIC
174 tristate "Ingenic JZ47xx SoCs battery driver"
175 depends on MIPS || COMPILE_TEST
176 depends on INGENIC_ADC
178 Choose this option if you want to monitor battery status on
179 Ingenic JZ47xx SoC based devices.
181 This driver can also be built as a module. If so, the module will be
182 called ingenic-battery.
184 config BATTERY_IPAQ_MICRO
185 tristate "iPAQ Atmel Micro ASIC battery driver"
186 depends on MFD_IPAQ_MICRO
188 Choose this option if you want to monitor battery status on
189 Compaq/HP iPAQ h3100 and h3600.
191 config BATTERY_WM97XX
192 bool "WM97xx generic battery driver"
193 depends on TOUCHSCREEN_WM97XX=y
195 Say Y to enable support for battery measured by WM97xx aux port.
198 tristate "SBS Compliant gas gauge"
201 Say Y to include support for SBS battery driver for SBS-compliant
205 tristate "SBS Compliant charger"
208 Say Y to include support for SBS compliant battery chargers.
211 tristate "Smart Battery System Manager"
212 depends on I2C && I2C_MUX && GPIOLIB
215 Say Y here to include support for Smart Battery System Manager
216 ICs. The driver reports online and charging status via sysfs.
217 It presents itself also as I2C mux which allows to bind
218 smart battery driver to its ports.
219 Supported is for example LTC1760.
221 This driver can also be built as a module. If so, the module will be
224 config BATTERY_BQ27XXX
225 tristate "BQ27xxx battery driver"
227 Say Y here to enable support for batteries with BQ27xxx chips.
229 config BATTERY_BQ27XXX_I2C
230 tristate "BQ27xxx I2C support"
231 depends on BATTERY_BQ27XXX
235 Say Y here to enable support for batteries with BQ27xxx chips
236 connected over an I2C bus.
238 config BATTERY_BQ27XXX_HDQ
239 tristate "BQ27xxx HDQ support"
240 depends on BATTERY_BQ27XXX
244 Say Y here to enable support for batteries with BQ27xxx chips
245 connected over an HDQ bus.
247 config BATTERY_BQ27XXX_DT_UPDATES_NVM
248 bool "BQ27xxx support for update of NVM/flash data memory"
249 depends on BATTERY_BQ27XXX_I2C
251 Say Y here to enable devicetree monitored-battery config to update
252 NVM/flash data memory. Only enable this option for devices with a
253 fuel gauge mounted on the circuit board, and a battery that cannot
254 easily be replaced with one of a different type. Not for
255 general-purpose kernels, as this can cause misconfiguration of a
256 smart battery with embedded NVM/flash.
258 config BATTERY_DA9030
259 tristate "DA9030 battery driver"
260 depends on PMIC_DA903X
262 Say Y here to enable support for batteries charger integrated into
265 config BATTERY_DA9052
266 tristate "Dialog DA9052 Battery"
267 depends on PMIC_DA9052
269 Say Y here to enable support for batteries charger integrated into
272 config CHARGER_DA9150
273 tristate "Dialog Semiconductor DA9150 Charger support"
274 depends on MFD_DA9150
275 depends on DA9150_GPADC
278 Say Y here to enable support for charger unit of the DA9150
279 Integrated Charger & Fuel-Gauge IC.
281 This driver can also be built as a module. If so, the module will be
282 called da9150-charger.
284 config BATTERY_DA9150
285 tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
286 depends on MFD_DA9150
288 Say Y here to enable support for the Fuel-Gauge unit of the DA9150
289 Integrated Charger & Fuel-Gauge IC
291 This driver can also be built as a module. If so, the module will be
294 config CHARGER_AXP20X
295 tristate "X-Powers AXP20X and AXP22X AC power supply driver"
296 depends on MFD_AXP20X
297 depends on AXP20X_ADC
300 Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
303 This driver can also be built as a module. If so, the module will be
304 called axp20x_ac_power.
306 config BATTERY_AXP20X
307 tristate "X-Powers AXP20X battery driver"
308 depends on MFD_AXP20X
309 depends on AXP20X_ADC
312 Say Y here to enable support for X-Powers AXP20X PMICs' battery power
315 This driver can also be built as a module. If so, the module will be
316 called axp20x_battery.
319 tristate "AXP20x power supply driver"
320 depends on MFD_AXP20X
323 This driver provides support for the power supply features of
326 config AXP288_CHARGER
327 tristate "X-Powers AXP288 Charger"
328 depends on MFD_AXP20X && EXTCON_AXP288
330 Say yes here to have support X-Power AXP288 power management IC (PMIC)
333 config AXP288_FUEL_GAUGE
334 tristate "X-Powers AXP288 Fuel Gauge"
335 depends on MFD_AXP20X && IIO
337 Say yes here to have support for X-Power power management IC (PMIC)
338 Fuel Gauge. The device provides battery statistics and status
339 monitoring as well as alerts for battery over/under voltage and
340 over/under temperature.
342 config BATTERY_MAX17040
343 tristate "Maxim MAX17040 Fuel Gauge"
346 MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries
347 in handheld and portable equipment. The MAX17040 is configured
348 to operate with a single lithium cell
350 config BATTERY_MAX17042
351 tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge"
355 MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
356 in handheld and portable equipment. The MAX17042 is configured
357 to operate with a single lithium cell. MAX8997 and MAX8966 are
358 multi-function devices that include fuel gauages that are compatible
359 with MAX17042. This driver also supports max17047/50 chips which are
360 improved version of max17042.
362 config BATTERY_MAX1721X
363 tristate "MAX17211/MAX17215 standalone gas-gauge"
367 MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries
368 in handheld and portable equipment. MAX17211 used with single cell
369 battery. MAX17215 designed for muticell battery. Both them have
370 OneWire (W1) host interface.
372 Say Y here to enable support for the MAX17211/MAX17215 standalone
376 tristate "Z2 battery driver"
377 depends on I2C && MACH_ZIPIT2
379 Say Y to include support for the battery on the Zipit Z2.
381 config BATTERY_S3C_ADC
382 tristate "Battery driver for Samsung ADC based monitoring"
385 Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery
387 config BATTERY_TWL4030_MADC
388 tristate "TWL4030 MADC battery driver"
389 depends on TWL4030_MADC
391 Say Y here to enable this dumb driver for batteries managed
392 through the TWL4030 MADC.
394 config CHARGER_88PM860X
395 tristate "Marvell 88PM860x Charger driver"
396 depends on MFD_88PM860X && BATTERY_88PM860X
398 Say Y here to enable charger for Marvell 88PM860x chip.
400 config CHARGER_PCF50633
401 tristate "NXP PCF50633 MBC"
402 depends on MFD_PCF50633
404 Say Y to include support for NXP PCF50633 Main Battery Charger.
406 config BATTERY_JZ4740
407 tristate "Ingenic JZ4740 battery"
408 depends on MACH_JZ4740
409 depends on MFD_JZ4740_ADC
411 Say Y to enable support for the battery on Ingenic JZ4740 based
414 This driver can be build as a module. If so, the module will be
415 called jz4740-battery.
418 tristate "Nokia RX-51 (N900) battery driver"
419 depends on TWL4030_MADC
421 Say Y here to enable support for battery information on Nokia
422 RX-51, also known as N900 tablet.
425 tristate "CPCAP PMIC Charger Driver"
426 depends on MFD_CPCAP && IIO
427 depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
430 Say Y to enable support for CPCAP PMIC charger driver for Motorola
431 mobile devices such as Droid 4.
433 config CHARGER_ISP1704
434 tristate "ISP1704 USB Charger Detection"
436 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
438 Say Y to enable support for USB Charger Detection with
439 ISP1707/ISP1704 USB transceivers.
441 config CHARGER_MAX8903
442 tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
444 Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
445 The driver supports controlling charger-enable and current-limit
446 pins based on the status of charger connections with interrupt
449 config CHARGER_TWL4030
450 tristate "OMAP TWL4030 BCI charger driver"
451 depends on IIO && TWL4030_CORE
453 Say Y here to enable support for TWL4030 Battery Charge Interface.
455 config CHARGER_LP8727
456 tristate "TI/National Semiconductor LP8727 charger driver"
459 Say Y here to enable support for LP8727 Charger Driver.
461 config CHARGER_LP8788
462 tristate "TI LP8788 charger driver"
463 depends on MFD_LP8788
464 depends on LP8788_ADC
467 Say Y to enable support for the LP8788 linear charger.
470 tristate "GPIO charger"
471 depends on GPIOLIB || COMPILE_TEST
473 Say Y to include support for chargers which report their online status
476 This driver can be build as a module. If so, the module will be
479 config CHARGER_MANAGER
480 bool "Battery charger manager for multiple chargers"
484 Say Y to enable charger-manager support, which allows multiple
485 chargers attached to a battery and multiple batteries attached to a
486 system. The charger-manager also can monitor charging status in
487 runtime and in suspend-to-RAM by waking up the system periodically
488 with help of suspend_again support.
490 config CHARGER_LT3651
491 tristate "Analog Devices LT3651 charger"
494 Say Y to include support for the Analog Devices (Linear Technology)
495 LT3651 battery charger which reports its status via GPIO lines.
497 config CHARGER_MAX14577
498 tristate "Maxim MAX14577/77836 battery charger driver"
499 depends on MFD_MAX14577
501 Say Y to enable support for the battery charger control sysfs and
502 platform data of MAX14577/77836 MUICs.
504 config CHARGER_DETECTOR_MAX14656
505 tristate "Maxim MAX14656 USB charger detector"
509 Say Y to enable support for the Maxim MAX14656 USB charger detector.
510 The device is compliant with the USB Battery Charging Specification
511 Revision 1.2 and can be found e.g. in Kindle 4/5th generation
512 readers and certain LG devices.
514 config CHARGER_MAX77650
515 tristate "Maxim MAX77650 battery charger driver"
516 depends on MFD_MAX77650
518 Say Y to enable support for the battery charger control of MAX77650
521 config CHARGER_MAX77693
522 tristate "Maxim MAX77693 battery charger driver"
523 depends on MFD_MAX77693
525 Say Y to enable support for the Maxim MAX77693 battery charger.
527 config CHARGER_MAX8997
528 tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
529 depends on MFD_MAX8997 && REGULATOR_MAX8997
531 Say Y to enable support for the battery charger control sysfs and
532 platform data of MAX8997/LP3974 PMICs.
534 config CHARGER_MAX8998
535 tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
536 depends on MFD_MAX8998 && REGULATOR_MAX8998
538 Say Y to enable support for the battery charger control sysfs and
539 platform data of MAX8998/LP3974 PMICs.
541 config CHARGER_QCOM_SMBB
542 tristate "Qualcomm Switch-Mode Battery Charger and Boost"
543 depends on MFD_SPMI_PMIC || COMPILE_TEST
548 Say Y to include support for the Switch-Mode Battery Charger and
549 Boost (SMBB) hardware found in Qualcomm PM8941 PMICs. The charger
550 is an integrated, single-cell lithium-ion battery charger. DT
551 configuration is required for loading, see the devicetree
552 documentation for more detail. The base name for this driver is
555 config CHARGER_BQ2415X
556 tristate "TI BQ2415x battery charger driver"
559 Say Y to enable support for the TI BQ2415x battery charger
562 You'll need this driver to charge batteries on e.g. Nokia
565 config CHARGER_BQ24190
566 tristate "TI BQ24190 battery charger driver"
569 depends on GPIOLIB || COMPILE_TEST
571 Say Y to enable support for the TI BQ24190 battery charger.
573 config CHARGER_BQ24257
574 tristate "TI BQ24250/24251/24257 battery charger driver"
576 depends on GPIOLIB || COMPILE_TEST
577 depends on REGMAP_I2C
579 Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
582 config CHARGER_BQ24735
583 tristate "TI BQ24735 battery charger support"
585 depends on GPIOLIB || COMPILE_TEST
587 Say Y to enable support for the TI BQ24735 battery charger.
589 config CHARGER_BQ25890
590 tristate "TI BQ25890 battery charger driver"
592 depends on GPIOLIB || COMPILE_TEST
595 Say Y to enable support for the TI BQ25890 battery charger.
597 config CHARGER_SMB347
598 tristate "Summit Microelectronics SMB347 Battery Charger"
602 Say Y to include support for Summit Microelectronics SMB347
605 config CHARGER_TPS65090
606 tristate "TPS65090 battery charger driver"
607 depends on MFD_TPS65090
609 Say Y here to enable support for battery charging with TPS65090
612 config CHARGER_TPS65217
613 tristate "TPS65217 battery charger driver"
614 depends on MFD_TPS65217
616 Say Y here to enable support for battery charging with TPS65217
619 config BATTERY_GAUGE_LTC2941
620 tristate "LTC2941/LTC2943 Battery Gauge Driver"
623 Say Y here to include support for LTC2941 and LTC2943 Battery
624 Gauge IC. The driver reports the charge count continuously, and
625 measures the voltage and temperature every 10 seconds.
628 bool "AB8500 Battery Management Driver"
629 depends on AB8500_CORE && AB8500_GPADC
631 Say Y to include support for AB8500 battery management.
633 config BATTERY_GOLDFISH
634 tristate "Goldfish battery driver"
635 depends on GOLDFISH || COMPILE_TEST
638 Say Y to enable support for the battery and AC power in the
641 config BATTERY_RT5033
642 tristate "RT5033 fuel gauge support"
643 depends on MFD_RT5033
645 This adds support for battery fuel gauge in Richtek RT5033 PMIC.
646 The fuelgauge calculates and determines the battery state of charge
647 according to battery open circuit voltage.
649 config CHARGER_RT9455
650 tristate "Richtek RT9455 battery charger driver"
652 depends on GPIOLIB || COMPILE_TEST
655 Say Y to enable support for Richtek RT9455 battery charger.
657 config CHARGER_CROS_USBPD
658 tristate "ChromeOS EC based USBPD charger"
659 depends on MFD_CROS_EC
662 Say Y here to enable ChromeOS EC based USBPD charger
663 driver. This driver gets various bits of information about
664 what is connected to USB PD ports from the EC and converts
665 that into power_supply properties.
667 config CHARGER_SC2731
668 tristate "Spreadtrum SC2731 charger driver"
669 depends on MFD_SC27XX_PMIC || COMPILE_TEST
671 Say Y here to enable support for battery charging with SC2731
674 config FUEL_GAUGE_SC27XX
675 tristate "Spreadtrum SC27XX fuel gauge driver"
676 depends on MFD_SC27XX_PMIC || COMPILE_TEST
679 Say Y here to enable support for fuel gauge with SC27XX
682 config CHARGER_UCS1002
683 tristate "Microchip UCS1002 USB Port Power Controller"
689 Say Y to enable support for Microchip UCS1002 Programmable
690 USB Port Power Controller with Charger Emulation.