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
18 config POWER_SUPPLY_HWMON
20 prompt "Expose power supply sensors as hwmon device"
21 depends on HWMON=y || HWMON=POWER_SUPPLY
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.
28 Say 'Y' here if you want power supplies to
29 have hwmon sysfs interface too.
33 tristate "Generic PDA/phone power driver"
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.
41 tristate "APM emulation for class batteries"
42 depends on APM_EMULATION
44 Say Y here to enable support APM status emulation using
45 battery class devices.
47 config GENERIC_ADC_BATTERY
48 tristate "Generic battery support using IIO"
51 Say Y here to enable support for the generic battery driver
52 which uses IIO framework to read adc.
55 tristate "MAX8925 battery charger support"
56 depends on MFD_MAX8925
58 Say Y here to enable support for the battery charger in the Maxim
62 tristate "WM831X backup battery charger support"
65 Say Y here to enable support for the backup battery charger
66 in the Wolfson Microelectronics WM831x PMICs.
69 tristate "WM831X PMU support"
72 Say Y here to enable support for the power management unit
73 provided by Wolfson Microelectronics WM831x PMICs.
76 tristate "WM8350 PMU support"
79 Say Y here to enable support for the power management unit
80 provided by the Wolfson Microelectronics WM8350 PMIC.
83 tristate "Test power driver"
85 This driver is used for testing. It's safe to say M here.
87 config BATTERY_88PM860X
88 tristate "Marvell 88PM860x battery driver"
89 depends on MFD_88PM860X
91 Say Y here to enable battery monitor for Marvell 88PM860x chip.
93 config CHARGER_ADP5061
94 tristate "ADP5061 battery charger driver"
98 Say Y here to enable support for the ADP5061 standalone battery
101 This driver can be built as a module. If so, the module will be
104 config BATTERY_ACT8945A
105 tristate "Active-semi ACT8945A charger driver"
106 depends on MFD_ACT8945A || COMPILE_TEST
108 Say Y here to enable support for power supply provided by
109 Active-semi ActivePath ACT8945A charger.
112 tristate "Motorola CPCAP PMIC battery driver"
113 depends on MFD_CPCAP && IIO
116 Say Y here to enable support for battery on Motorola
117 phones and tablets such as droid 4.
119 config BATTERY_DS2760
120 tristate "DS2760 battery driver (HP iPAQ & others)"
123 Say Y here to enable support for batteries with ds2760 chip.
125 config BATTERY_DS2780
126 tristate "DS2780 battery driver"
129 select W1_SLAVE_DS2780
131 Say Y here to enable support for batteries with ds2780 chip.
133 config BATTERY_DS2781
134 tristate "DS2781 battery driver"
137 select W1_SLAVE_DS2781
139 If you enable this you will have the DS2781 battery driver support.
141 The battery monitor chip is used in many batteries/devices
142 as the one who is responsible for charging/discharging/monitoring
145 If you are unsure, say N.
147 config BATTERY_DS2782
148 tristate "DS2782/DS2786 standalone gas-gauge"
151 Say Y here to enable support for the DS2782/DS2786 standalone battery
154 config BATTERY_LEGO_EV3
155 tristate "LEGO MINDSTORMS EV3 battery"
156 depends on OF && IIO && GPIOLIB
158 Say Y here to enable support for the LEGO MINDSTORMS EV3 battery.
161 tristate "Apple PMU battery"
162 depends on PPC32 && ADB_PMU
164 Say Y here to expose battery information on Apple machines
165 through the generic battery class.
168 tristate "One Laptop Per Child battery"
171 Say Y to enable support for the battery on the OLPC laptop.
174 tristate "Sharp SL-6000 (tosa) battery"
175 depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX
177 Say Y to enable support for the battery on the Sharp Zaurus
178 SL-6000 (tosa) models.
180 config BATTERY_COLLIE
181 tristate "Sharp SL-5500 (collie) battery"
182 depends on SA1100_COLLIE && MCP_UCB1200
184 Say Y to enable support for the battery on the Sharp Zaurus
185 SL-5500 (collie) models.
187 config BATTERY_INGENIC
188 tristate "Ingenic JZ47xx SoCs battery driver"
189 depends on MIPS || COMPILE_TEST
190 depends on INGENIC_ADC
192 Choose this option if you want to monitor battery status on
193 Ingenic JZ47xx SoC based devices.
195 This driver can also be built as a module. If so, the module will be
196 called ingenic-battery.
198 config BATTERY_IPAQ_MICRO
199 tristate "iPAQ Atmel Micro ASIC battery driver"
200 depends on MFD_IPAQ_MICRO
202 Choose this option if you want to monitor battery status on
203 Compaq/HP iPAQ h3100 and h3600.
205 config BATTERY_WM97XX
206 bool "WM97xx generic battery driver"
207 depends on TOUCHSCREEN_WM97XX=y
209 Say Y to enable support for battery measured by WM97xx aux port.
212 tristate "SBS Compliant gas gauge"
215 Say Y to include support for SBS battery driver for SBS-compliant
219 tristate "SBS Compliant charger"
222 Say Y to include support for SBS compliant battery chargers.
225 tristate "Smart Battery System Manager"
226 depends on I2C && I2C_MUX && GPIOLIB
229 Say Y here to include support for Smart Battery System Manager
230 ICs. The driver reports online and charging status via sysfs.
231 It presents itself also as I2C mux which allows to bind
232 smart battery driver to its ports.
233 Supported is for example LTC1760.
235 This driver can also be built as a module. If so, the module will be
238 config BATTERY_BQ27XXX
239 tristate "BQ27xxx battery driver"
241 Say Y here to enable support for batteries with BQ27xxx chips.
243 config BATTERY_BQ27XXX_I2C
244 tristate "BQ27xxx I2C support"
245 depends on BATTERY_BQ27XXX
249 Say Y here to enable support for batteries with BQ27xxx chips
250 connected over an I2C bus.
252 config BATTERY_BQ27XXX_HDQ
253 tristate "BQ27xxx HDQ support"
254 depends on BATTERY_BQ27XXX
258 Say Y here to enable support for batteries with BQ27xxx chips
259 connected over an HDQ bus.
261 config BATTERY_BQ27XXX_DT_UPDATES_NVM
262 bool "BQ27xxx support for update of NVM/flash data memory"
263 depends on BATTERY_BQ27XXX_I2C
265 Say Y here to enable devicetree monitored-battery config to update
266 NVM/flash data memory. Only enable this option for devices with a
267 fuel gauge mounted on the circuit board, and a battery that cannot
268 easily be replaced with one of a different type. Not for
269 general-purpose kernels, as this can cause misconfiguration of a
270 smart battery with embedded NVM/flash.
272 config BATTERY_DA9030
273 tristate "DA9030 battery driver"
274 depends on PMIC_DA903X
276 Say Y here to enable support for batteries charger integrated into
279 config BATTERY_DA9052
280 tristate "Dialog DA9052 Battery"
281 depends on PMIC_DA9052
283 Say Y here to enable support for batteries charger integrated into
286 config CHARGER_DA9150
287 tristate "Dialog Semiconductor DA9150 Charger support"
288 depends on MFD_DA9150
289 depends on DA9150_GPADC
292 Say Y here to enable support for charger unit of the DA9150
293 Integrated Charger & Fuel-Gauge IC.
295 This driver can also be built as a module. If so, the module will be
296 called da9150-charger.
298 config BATTERY_DA9150
299 tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
300 depends on MFD_DA9150
302 Say Y here to enable support for the Fuel-Gauge unit of the DA9150
303 Integrated Charger & Fuel-Gauge IC
305 This driver can also be built as a module. If so, the module will be
308 config CHARGER_AXP20X
309 tristate "X-Powers AXP20X and AXP22X AC power supply driver"
310 depends on MFD_AXP20X
311 depends on AXP20X_ADC
314 Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
317 This driver can also be built as a module. If so, the module will be
318 called axp20x_ac_power.
320 config BATTERY_AXP20X
321 tristate "X-Powers AXP20X battery driver"
322 depends on MFD_AXP20X
323 depends on AXP20X_ADC
326 Say Y here to enable support for X-Powers AXP20X PMICs' battery power
329 This driver can also be built as a module. If so, the module will be
330 called axp20x_battery.
333 tristate "AXP20x power supply driver"
334 depends on MFD_AXP20X
337 This driver provides support for the power supply features of
340 config AXP288_CHARGER
341 tristate "X-Powers AXP288 Charger"
342 depends on MFD_AXP20X && EXTCON_AXP288
344 Say yes here to have support X-Power AXP288 power management IC (PMIC)
347 config AXP288_FUEL_GAUGE
348 tristate "X-Powers AXP288 Fuel Gauge"
349 depends on MFD_AXP20X && IIO
351 Say yes here to have support for X-Power power management IC (PMIC)
352 Fuel Gauge. The device provides battery statistics and status
353 monitoring as well as alerts for battery over/under voltage and
354 over/under temperature.
356 config BATTERY_MAX17040
357 tristate "Maxim MAX17040 Fuel Gauge"
360 MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries
361 in handheld and portable equipment. The MAX17040 is configured
362 to operate with a single lithium cell
364 config BATTERY_MAX17042
365 tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge"
369 MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
370 in handheld and portable equipment. The MAX17042 is configured
371 to operate with a single lithium cell. MAX8997 and MAX8966 are
372 multi-function devices that include fuel gauages that are compatible
373 with MAX17042. This driver also supports max17047/50 chips which are
374 improved version of max17042.
376 config BATTERY_MAX1721X
377 tristate "MAX17211/MAX17215 standalone gas-gauge"
381 MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries
382 in handheld and portable equipment. MAX17211 used with single cell
383 battery. MAX17215 designed for muticell battery. Both them have
384 OneWire (W1) host interface.
386 Say Y here to enable support for the MAX17211/MAX17215 standalone
390 tristate "Z2 battery driver"
391 depends on I2C && MACH_ZIPIT2
393 Say Y to include support for the battery on the Zipit Z2.
395 config BATTERY_S3C_ADC
396 tristate "Battery driver for Samsung ADC based monitoring"
399 Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery
401 config BATTERY_TWL4030_MADC
402 tristate "TWL4030 MADC battery driver"
403 depends on TWL4030_MADC
405 Say Y here to enable this dumb driver for batteries managed
406 through the TWL4030 MADC.
408 config CHARGER_88PM860X
409 tristate "Marvell 88PM860x Charger driver"
410 depends on MFD_88PM860X && BATTERY_88PM860X
412 Say Y here to enable charger for Marvell 88PM860x chip.
414 config CHARGER_PCF50633
415 tristate "NXP PCF50633 MBC"
416 depends on MFD_PCF50633
418 Say Y to include support for NXP PCF50633 Main Battery Charger.
421 tristate "Nokia RX-51 (N900) battery driver"
422 depends on TWL4030_MADC
424 Say Y here to enable support for battery information on Nokia
425 RX-51, also known as N900 tablet.
428 tristate "CPCAP PMIC Charger Driver"
429 depends on MFD_CPCAP && IIO
430 depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
433 Say Y to enable support for CPCAP PMIC charger driver for Motorola
434 mobile devices such as Droid 4.
436 config CHARGER_ISP1704
437 tristate "ISP1704 USB Charger Detection"
439 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
441 Say Y to enable support for USB Charger Detection with
442 ISP1707/ISP1704 USB transceivers.
444 config CHARGER_MAX8903
445 tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
447 Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
448 The driver supports controlling charger-enable and current-limit
449 pins based on the status of charger connections with interrupt
452 config CHARGER_TWL4030
453 tristate "OMAP TWL4030 BCI charger driver"
454 depends on IIO && TWL4030_CORE
456 Say Y here to enable support for TWL4030 Battery Charge Interface.
458 config CHARGER_LP8727
459 tristate "TI/National Semiconductor LP8727 charger driver"
462 Say Y here to enable support for LP8727 Charger Driver.
464 config CHARGER_LP8788
465 tristate "TI LP8788 charger driver"
466 depends on MFD_LP8788
467 depends on LP8788_ADC
470 Say Y to enable support for the LP8788 linear charger.
473 tristate "GPIO charger"
474 depends on GPIOLIB || COMPILE_TEST
476 Say Y to include support for chargers which report their online status
479 This driver can be build as a module. If so, the module will be
482 config CHARGER_MANAGER
483 tristate "Battery charger manager for multiple chargers"
487 Say Y to enable charger-manager support, which allows multiple
488 chargers attached to a battery and multiple batteries attached to a
489 system. The charger-manager also can monitor charging status in
490 runtime and in suspend-to-RAM by waking up the system periodically
491 with help of suspend_again support.
493 config CHARGER_LT3651
494 tristate "Analog Devices LT3651 charger"
497 Say Y to include support for the Analog Devices (Linear Technology)
498 LT3651 battery charger which reports its status via GPIO lines.
500 config CHARGER_MAX14577
501 tristate "Maxim MAX14577/77836 battery charger driver"
502 depends on MFD_MAX14577
504 Say Y to enable support for the battery charger control sysfs and
505 platform data of MAX14577/77836 MUICs.
507 config CHARGER_DETECTOR_MAX14656
508 tristate "Maxim MAX14656 USB charger detector"
512 Say Y to enable support for the Maxim MAX14656 USB charger detector.
513 The device is compliant with the USB Battery Charging Specification
514 Revision 1.2 and can be found e.g. in Kindle 4/5th generation
515 readers and certain LG devices.
517 config CHARGER_MAX77650
518 tristate "Maxim MAX77650 battery charger driver"
519 depends on MFD_MAX77650
521 Say Y to enable support for the battery charger control of MAX77650
524 config CHARGER_MAX77693
525 tristate "Maxim MAX77693 battery charger driver"
526 depends on MFD_MAX77693
528 Say Y to enable support for the Maxim MAX77693 battery charger.
530 config CHARGER_MAX8997
531 tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
532 depends on MFD_MAX8997 && REGULATOR_MAX8997
534 Say Y to enable support for the battery charger control sysfs and
535 platform data of MAX8997/LP3974 PMICs.
537 config CHARGER_MAX8998
538 tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
539 depends on MFD_MAX8998 && REGULATOR_MAX8998
541 Say Y to enable support for the battery charger control sysfs and
542 platform data of MAX8998/LP3974 PMICs.
544 config CHARGER_QCOM_SMBB
545 tristate "Qualcomm Switch-Mode Battery Charger and Boost"
546 depends on MFD_SPMI_PMIC || COMPILE_TEST
551 Say Y to include support for the Switch-Mode Battery Charger and
552 Boost (SMBB) hardware found in Qualcomm PM8941 PMICs. The charger
553 is an integrated, single-cell lithium-ion battery charger. DT
554 configuration is required for loading, see the devicetree
555 documentation for more detail. The base name for this driver is
558 config CHARGER_BQ2415X
559 tristate "TI BQ2415x battery charger driver"
562 Say Y to enable support for the TI BQ2415x battery charger
565 You'll need this driver to charge batteries on e.g. Nokia
568 config CHARGER_BQ24190
569 tristate "TI BQ24190 battery charger driver"
572 depends on GPIOLIB || COMPILE_TEST
574 Say Y to enable support for the TI BQ24190 battery charger.
576 config CHARGER_BQ24257
577 tristate "TI BQ24250/24251/24257 battery charger driver"
579 depends on GPIOLIB || COMPILE_TEST
580 depends on REGMAP_I2C
582 Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
585 config CHARGER_BQ24735
586 tristate "TI BQ24735 battery charger support"
588 depends on GPIOLIB || COMPILE_TEST
590 Say Y to enable support for the TI BQ24735 battery charger.
592 config CHARGER_BQ25890
593 tristate "TI BQ25890 battery charger driver"
595 depends on GPIOLIB || COMPILE_TEST
598 Say Y to enable support for the TI BQ25890 battery charger.
600 config CHARGER_SMB347
601 tristate "Summit Microelectronics SMB347 Battery Charger"
605 Say Y to include support for Summit Microelectronics SMB347
608 config CHARGER_TPS65090
609 tristate "TPS65090 battery charger driver"
610 depends on MFD_TPS65090
612 Say Y here to enable support for battery charging with TPS65090
615 config CHARGER_TPS65217
616 tristate "TPS65217 battery charger driver"
617 depends on MFD_TPS65217
619 Say Y here to enable support for battery charging with TPS65217
622 config BATTERY_GAUGE_LTC2941
623 tristate "LTC2941/LTC2943 Battery Gauge Driver"
626 Say Y here to include support for LTC2941 and LTC2943 Battery
627 Gauge IC. The driver reports the charge count continuously, and
628 measures the voltage and temperature every 10 seconds.
631 bool "AB8500 Battery Management Driver"
632 depends on AB8500_CORE && AB8500_GPADC && (IIO = y)
634 Say Y to include support for AB8500 battery management.
636 config BATTERY_GOLDFISH
637 tristate "Goldfish battery driver"
638 depends on GOLDFISH || COMPILE_TEST
641 Say Y to enable support for the battery and AC power in the
644 config BATTERY_RT5033
645 tristate "RT5033 fuel gauge support"
646 depends on MFD_RT5033
648 This adds support for battery fuel gauge in Richtek RT5033 PMIC.
649 The fuelgauge calculates and determines the battery state of charge
650 according to battery open circuit voltage.
652 config CHARGER_RT9455
653 tristate "Richtek RT9455 battery charger driver"
655 depends on GPIOLIB || COMPILE_TEST
658 Say Y to enable support for Richtek RT9455 battery charger.
660 config CHARGER_CROS_USBPD
661 tristate "ChromeOS EC based USBPD charger"
665 Say Y here to enable ChromeOS EC based USBPD charger
666 driver. This driver gets various bits of information about
667 what is connected to USB PD ports from the EC and converts
668 that into power_supply properties.
670 config CHARGER_SC2731
671 tristate "Spreadtrum SC2731 charger driver"
672 depends on MFD_SC27XX_PMIC || COMPILE_TEST
674 Say Y here to enable support for battery charging with SC2731
677 config FUEL_GAUGE_SC27XX
678 tristate "Spreadtrum SC27XX fuel gauge driver"
679 depends on MFD_SC27XX_PMIC || COMPILE_TEST
682 Say Y here to enable support for fuel gauge with SC27XX
685 config CHARGER_UCS1002
686 tristate "Microchip UCS1002 USB Port Power Controller"
692 Say Y to enable support for Microchip UCS1002 Programmable
693 USB Port Power Controller with Charger Emulation.
695 config CHARGER_BD70528
696 tristate "ROHM bd70528 charger driver"
697 depends on MFD_ROHM_BD70528
700 Say Y here to enable support for getting battery status
701 information and altering charger configurations from charger
702 block of the ROHM BD70528 Power Management IC.
705 tristate "Wilco EC based charger for ChromeOS"
708 Say Y here to enable control of the charging routines performed
709 by the Embedded Controller on the Chromebook named Wilco. Further
710 information can be found in
711 Documentation/ABI/testing/sysfs-class-power-wilco