]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - drivers/power/supply/Kconfig
treewide: Add SPDX license identifier - Makefile/Kconfig
[mirror_ubuntu-jammy-kernel.git] / drivers / power / supply / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig 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
10 if POWER_SUPPLY
11
12 config 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
18 config PDA_POWER
19 tristate "Generic PDA/phone power driver"
20 depends on !S390
21 help
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.
25
26 config APM_POWER
27 tristate "APM emulation for class batteries"
28 depends on APM_EMULATION
29 help
30 Say Y here to enable support APM status emulation using
31 battery class devices.
32
33 config GENERIC_ADC_BATTERY
34 tristate "Generic battery support using IIO"
35 depends on IIO
36 help
37 Say Y here to enable support for the generic battery driver
38 which uses IIO framework to read adc.
39
40 config MAX8925_POWER
41 tristate "MAX8925 battery charger support"
42 depends on MFD_MAX8925
43 help
44 Say Y here to enable support for the battery charger in the Maxim
45 MAX8925 PMIC.
46
47 config WM831X_BACKUP
48 tristate "WM831X backup battery charger support"
49 depends on MFD_WM831X
50 help
51 Say Y here to enable support for the backup battery charger
52 in the Wolfson Microelectronics WM831x PMICs.
53
54 config WM831X_POWER
55 tristate "WM831X PMU support"
56 depends on MFD_WM831X
57 help
58 Say Y here to enable support for the power management unit
59 provided by Wolfson Microelectronics WM831x PMICs.
60
61 config WM8350_POWER
62 tristate "WM8350 PMU support"
63 depends on MFD_WM8350
64 help
65 Say Y here to enable support for the power management unit
66 provided by the Wolfson Microelectronics WM8350 PMIC.
67
68 config TEST_POWER
69 tristate "Test power driver"
70 help
71 This driver is used for testing. It's safe to say M here.
72
73 config BATTERY_88PM860X
74 tristate "Marvell 88PM860x battery driver"
75 depends on MFD_88PM860X
76 help
77 Say Y here to enable battery monitor for Marvell 88PM860x chip.
78
79 config CHARGER_ADP5061
80 tristate "ADP5061 battery charger driver"
81 depends on I2C
82 select REGMAP_I2C
83 help
84 Say Y here to enable support for the ADP5061 standalone battery
85 charger.
86
87 This driver can be built as a module. If so, the module will be
88 called adp5061.
89
90 config BATTERY_ACT8945A
91 tristate "Active-semi ACT8945A charger driver"
92 depends on MFD_ACT8945A || COMPILE_TEST
93 help
94 Say Y here to enable support for power supply provided by
95 Active-semi ActivePath ACT8945A charger.
96
97 config BATTERY_CPCAP
98 tristate "Motorola CPCAP PMIC battery driver"
99 depends on MFD_CPCAP && IIO
100 default MFD_CPCAP
101 help
102 Say Y here to enable support for battery on Motorola
103 phones and tablets such as droid 4.
104
105 config BATTERY_DS2760
106 tristate "DS2760 battery driver (HP iPAQ & others)"
107 depends on W1
108 help
109 Say Y here to enable support for batteries with ds2760 chip.
110
111 config BATTERY_DS2780
112 tristate "DS2780 battery driver"
113 depends on HAS_IOMEM
114 select W1
115 select W1_SLAVE_DS2780
116 help
117 Say Y here to enable support for batteries with ds2780 chip.
118
119 config BATTERY_DS2781
120 tristate "DS2781 battery driver"
121 depends on HAS_IOMEM
122 select W1
123 select W1_SLAVE_DS2781
124 help
125 If you enable this you will have the DS2781 battery driver support.
126
127 The battery monitor chip is used in many batteries/devices
128 as the one who is responsible for charging/discharging/monitoring
129 Li+ batteries.
130
131 If you are unsure, say N.
132
133 config BATTERY_DS2782
134 tristate "DS2782/DS2786 standalone gas-gauge"
135 depends on I2C
136 help
137 Say Y here to enable support for the DS2782/DS2786 standalone battery
138 gas-gauge.
139
140 config BATTERY_LEGO_EV3
141 tristate "LEGO MINDSTORMS EV3 battery"
142 depends on OF && IIO && GPIOLIB
143 help
144 Say Y here to enable support for the LEGO MINDSTORMS EV3 battery.
145
146 config BATTERY_PMU
147 tristate "Apple PMU battery"
148 depends on PPC32 && ADB_PMU
149 help
150 Say Y here to expose battery information on Apple machines
151 through the generic battery class.
152
153 config BATTERY_OLPC
154 tristate "One Laptop Per Child battery"
155 depends on X86_32 && OLPC
156 help
157 Say Y to enable support for the battery on the OLPC laptop.
158
159 config BATTERY_TOSA
160 tristate "Sharp SL-6000 (tosa) battery"
161 depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX
162 help
163 Say Y to enable support for the battery on the Sharp Zaurus
164 SL-6000 (tosa) models.
165
166 config BATTERY_COLLIE
167 tristate "Sharp SL-5500 (collie) battery"
168 depends on SA1100_COLLIE && MCP_UCB1200
169 help
170 Say Y to enable support for the battery on the Sharp Zaurus
171 SL-5500 (collie) models.
172
173 config BATTERY_INGENIC
174 tristate "Ingenic JZ47xx SoCs battery driver"
175 depends on MIPS || COMPILE_TEST
176 depends on INGENIC_ADC
177 help
178 Choose this option if you want to monitor battery status on
179 Ingenic JZ47xx SoC based devices.
180
181 This driver can also be built as a module. If so, the module will be
182 called ingenic-battery.
183
184 config BATTERY_IPAQ_MICRO
185 tristate "iPAQ Atmel Micro ASIC battery driver"
186 depends on MFD_IPAQ_MICRO
187 help
188 Choose this option if you want to monitor battery status on
189 Compaq/HP iPAQ h3100 and h3600.
190
191 config BATTERY_WM97XX
192 bool "WM97xx generic battery driver"
193 depends on TOUCHSCREEN_WM97XX=y
194 help
195 Say Y to enable support for battery measured by WM97xx aux port.
196
197 config BATTERY_SBS
198 tristate "SBS Compliant gas gauge"
199 depends on I2C
200 help
201 Say Y to include support for SBS battery driver for SBS-compliant
202 gas gauges.
203
204 config CHARGER_SBS
205 tristate "SBS Compliant charger"
206 depends on I2C
207 help
208 Say Y to include support for SBS compliant battery chargers.
209
210 config MANAGER_SBS
211 tristate "Smart Battery System Manager"
212 depends on I2C && I2C_MUX && GPIOLIB
213 select I2C_SMBUS
214 help
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.
220
221 This driver can also be built as a module. If so, the module will be
222 called sbs-manager.
223
224 config BATTERY_BQ27XXX
225 tristate "BQ27xxx battery driver"
226 help
227 Say Y here to enable support for batteries with BQ27xxx chips.
228
229 config BATTERY_BQ27XXX_I2C
230 tristate "BQ27xxx I2C support"
231 depends on BATTERY_BQ27XXX
232 depends on I2C
233 default y
234 help
235 Say Y here to enable support for batteries with BQ27xxx chips
236 connected over an I2C bus.
237
238 config BATTERY_BQ27XXX_HDQ
239 tristate "BQ27xxx HDQ support"
240 depends on BATTERY_BQ27XXX
241 depends on W1
242 default y
243 help
244 Say Y here to enable support for batteries with BQ27xxx chips
245 connected over an HDQ bus.
246
247 config BATTERY_BQ27XXX_DT_UPDATES_NVM
248 bool "BQ27xxx support for update of NVM/flash data memory"
249 depends on BATTERY_BQ27XXX_I2C
250 help
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.
257
258 config BATTERY_DA9030
259 tristate "DA9030 battery driver"
260 depends on PMIC_DA903X
261 help
262 Say Y here to enable support for batteries charger integrated into
263 DA9030 PMIC.
264
265 config BATTERY_DA9052
266 tristate "Dialog DA9052 Battery"
267 depends on PMIC_DA9052
268 help
269 Say Y here to enable support for batteries charger integrated into
270 DA9052 PMIC.
271
272 config CHARGER_DA9150
273 tristate "Dialog Semiconductor DA9150 Charger support"
274 depends on MFD_DA9150
275 depends on DA9150_GPADC
276 depends on IIO
277 help
278 Say Y here to enable support for charger unit of the DA9150
279 Integrated Charger & Fuel-Gauge IC.
280
281 This driver can also be built as a module. If so, the module will be
282 called da9150-charger.
283
284 config BATTERY_DA9150
285 tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
286 depends on MFD_DA9150
287 help
288 Say Y here to enable support for the Fuel-Gauge unit of the DA9150
289 Integrated Charger & Fuel-Gauge IC
290
291 This driver can also be built as a module. If so, the module will be
292 called da9150-fg.
293
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
298 depends on IIO
299 help
300 Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
301 power supply.
302
303 This driver can also be built as a module. If so, the module will be
304 called axp20x_ac_power.
305
306 config BATTERY_AXP20X
307 tristate "X-Powers AXP20X battery driver"
308 depends on MFD_AXP20X
309 depends on AXP20X_ADC
310 depends on IIO
311 help
312 Say Y here to enable support for X-Powers AXP20X PMICs' battery power
313 supply.
314
315 This driver can also be built as a module. If so, the module will be
316 called axp20x_battery.
317
318 config AXP20X_POWER
319 tristate "AXP20x power supply driver"
320 depends on MFD_AXP20X
321 depends on IIO
322 help
323 This driver provides support for the power supply features of
324 AXP20x PMIC.
325
326 config AXP288_CHARGER
327 tristate "X-Powers AXP288 Charger"
328 depends on MFD_AXP20X && EXTCON_AXP288
329 help
330 Say yes here to have support X-Power AXP288 power management IC (PMIC)
331 integrated charger.
332
333 config AXP288_FUEL_GAUGE
334 tristate "X-Powers AXP288 Fuel Gauge"
335 depends on MFD_AXP20X && IIO
336 help
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.
341
342 config BATTERY_MAX17040
343 tristate "Maxim MAX17040 Fuel Gauge"
344 depends on I2C
345 help
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
349
350 config BATTERY_MAX17042
351 tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge"
352 depends on I2C
353 select REGMAP_I2C
354 help
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.
361
362 config BATTERY_MAX1721X
363 tristate "MAX17211/MAX17215 standalone gas-gauge"
364 depends on W1
365 select REGMAP_W1
366 help
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.
371
372 Say Y here to enable support for the MAX17211/MAX17215 standalone
373 battery gas-gauge.
374
375 config BATTERY_Z2
376 tristate "Z2 battery driver"
377 depends on I2C && MACH_ZIPIT2
378 help
379 Say Y to include support for the battery on the Zipit Z2.
380
381 config BATTERY_S3C_ADC
382 tristate "Battery driver for Samsung ADC based monitoring"
383 depends on S3C_ADC
384 help
385 Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery
386
387 config BATTERY_TWL4030_MADC
388 tristate "TWL4030 MADC battery driver"
389 depends on TWL4030_MADC
390 help
391 Say Y here to enable this dumb driver for batteries managed
392 through the TWL4030 MADC.
393
394 config CHARGER_88PM860X
395 tristate "Marvell 88PM860x Charger driver"
396 depends on MFD_88PM860X && BATTERY_88PM860X
397 help
398 Say Y here to enable charger for Marvell 88PM860x chip.
399
400 config CHARGER_PCF50633
401 tristate "NXP PCF50633 MBC"
402 depends on MFD_PCF50633
403 help
404 Say Y to include support for NXP PCF50633 Main Battery Charger.
405
406 config BATTERY_JZ4740
407 tristate "Ingenic JZ4740 battery"
408 depends on MACH_JZ4740
409 depends on MFD_JZ4740_ADC
410 help
411 Say Y to enable support for the battery on Ingenic JZ4740 based
412 boards.
413
414 This driver can be build as a module. If so, the module will be
415 called jz4740-battery.
416
417 config BATTERY_RX51
418 tristate "Nokia RX-51 (N900) battery driver"
419 depends on TWL4030_MADC
420 help
421 Say Y here to enable support for battery information on Nokia
422 RX-51, also known as N900 tablet.
423
424 config CHARGER_CPCAP
425 tristate "CPCAP PMIC Charger Driver"
426 depends on MFD_CPCAP && IIO
427 depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
428 default MFD_CPCAP
429 help
430 Say Y to enable support for CPCAP PMIC charger driver for Motorola
431 mobile devices such as Droid 4.
432
433 config CHARGER_ISP1704
434 tristate "ISP1704 USB Charger Detection"
435 depends on USB_PHY
436 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
437 help
438 Say Y to enable support for USB Charger Detection with
439 ISP1707/ISP1704 USB transceivers.
440
441 config CHARGER_MAX8903
442 tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
443 help
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
447 handlers.
448
449 config CHARGER_TWL4030
450 tristate "OMAP TWL4030 BCI charger driver"
451 depends on IIO && TWL4030_CORE
452 help
453 Say Y here to enable support for TWL4030 Battery Charge Interface.
454
455 config CHARGER_LP8727
456 tristate "TI/National Semiconductor LP8727 charger driver"
457 depends on I2C
458 help
459 Say Y here to enable support for LP8727 Charger Driver.
460
461 config CHARGER_LP8788
462 tristate "TI LP8788 charger driver"
463 depends on MFD_LP8788
464 depends on LP8788_ADC
465 depends on IIO
466 help
467 Say Y to enable support for the LP8788 linear charger.
468
469 config CHARGER_GPIO
470 tristate "GPIO charger"
471 depends on GPIOLIB || COMPILE_TEST
472 help
473 Say Y to include support for chargers which report their online status
474 through a GPIO pin.
475
476 This driver can be build as a module. If so, the module will be
477 called gpio-charger.
478
479 config CHARGER_MANAGER
480 bool "Battery charger manager for multiple chargers"
481 depends on REGULATOR
482 select EXTCON
483 help
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.
489
490 config CHARGER_LT3651
491 tristate "Analog Devices LT3651 charger"
492 depends on GPIOLIB
493 help
494 Say Y to include support for the Analog Devices (Linear Technology)
495 LT3651 battery charger which reports its status via GPIO lines.
496
497 config CHARGER_MAX14577
498 tristate "Maxim MAX14577/77836 battery charger driver"
499 depends on MFD_MAX14577
500 help
501 Say Y to enable support for the battery charger control sysfs and
502 platform data of MAX14577/77836 MUICs.
503
504 config CHARGER_DETECTOR_MAX14656
505 tristate "Maxim MAX14656 USB charger detector"
506 depends on I2C
507 depends on OF
508 help
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.
513
514 config CHARGER_MAX77650
515 tristate "Maxim MAX77650 battery charger driver"
516 depends on MFD_MAX77650
517 help
518 Say Y to enable support for the battery charger control of MAX77650
519 PMICs.
520
521 config CHARGER_MAX77693
522 tristate "Maxim MAX77693 battery charger driver"
523 depends on MFD_MAX77693
524 help
525 Say Y to enable support for the Maxim MAX77693 battery charger.
526
527 config CHARGER_MAX8997
528 tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
529 depends on MFD_MAX8997 && REGULATOR_MAX8997
530 help
531 Say Y to enable support for the battery charger control sysfs and
532 platform data of MAX8997/LP3974 PMICs.
533
534 config CHARGER_MAX8998
535 tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
536 depends on MFD_MAX8998 && REGULATOR_MAX8998
537 help
538 Say Y to enable support for the battery charger control sysfs and
539 platform data of MAX8998/LP3974 PMICs.
540
541 config CHARGER_QCOM_SMBB
542 tristate "Qualcomm Switch-Mode Battery Charger and Boost"
543 depends on MFD_SPMI_PMIC || COMPILE_TEST
544 depends on OF
545 depends on EXTCON
546 depends on REGULATOR
547 help
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
553 'pm8941_charger'.
554
555 config CHARGER_BQ2415X
556 tristate "TI BQ2415x battery charger driver"
557 depends on I2C
558 help
559 Say Y to enable support for the TI BQ2415x battery charger
560 PMICs.
561
562 You'll need this driver to charge batteries on e.g. Nokia
563 RX-51/N900.
564
565 config CHARGER_BQ24190
566 tristate "TI BQ24190 battery charger driver"
567 depends on I2C
568 depends on EXTCON
569 depends on GPIOLIB || COMPILE_TEST
570 help
571 Say Y to enable support for the TI BQ24190 battery charger.
572
573 config CHARGER_BQ24257
574 tristate "TI BQ24250/24251/24257 battery charger driver"
575 depends on I2C
576 depends on GPIOLIB || COMPILE_TEST
577 depends on REGMAP_I2C
578 help
579 Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
580 chargers.
581
582 config CHARGER_BQ24735
583 tristate "TI BQ24735 battery charger support"
584 depends on I2C
585 depends on GPIOLIB || COMPILE_TEST
586 help
587 Say Y to enable support for the TI BQ24735 battery charger.
588
589 config CHARGER_BQ25890
590 tristate "TI BQ25890 battery charger driver"
591 depends on I2C
592 depends on GPIOLIB || COMPILE_TEST
593 select REGMAP_I2C
594 help
595 Say Y to enable support for the TI BQ25890 battery charger.
596
597 config CHARGER_SMB347
598 tristate "Summit Microelectronics SMB347 Battery Charger"
599 depends on I2C
600 select REGMAP_I2C
601 help
602 Say Y to include support for Summit Microelectronics SMB347
603 Battery Charger.
604
605 config CHARGER_TPS65090
606 tristate "TPS65090 battery charger driver"
607 depends on MFD_TPS65090
608 help
609 Say Y here to enable support for battery charging with TPS65090
610 PMIC chips.
611
612 config CHARGER_TPS65217
613 tristate "TPS65217 battery charger driver"
614 depends on MFD_TPS65217
615 help
616 Say Y here to enable support for battery charging with TPS65217
617 PMIC chips.
618
619 config BATTERY_GAUGE_LTC2941
620 tristate "LTC2941/LTC2943 Battery Gauge Driver"
621 depends on I2C
622 help
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.
626
627 config AB8500_BM
628 bool "AB8500 Battery Management Driver"
629 depends on AB8500_CORE && AB8500_GPADC
630 help
631 Say Y to include support for AB8500 battery management.
632
633 config BATTERY_GOLDFISH
634 tristate "Goldfish battery driver"
635 depends on GOLDFISH || COMPILE_TEST
636 depends on HAS_IOMEM
637 help
638 Say Y to enable support for the battery and AC power in the
639 Goldfish emulator.
640
641 config BATTERY_RT5033
642 tristate "RT5033 fuel gauge support"
643 depends on MFD_RT5033
644 help
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.
648
649 config CHARGER_RT9455
650 tristate "Richtek RT9455 battery charger driver"
651 depends on I2C
652 depends on GPIOLIB || COMPILE_TEST
653 select REGMAP_I2C
654 help
655 Say Y to enable support for Richtek RT9455 battery charger.
656
657 config CHARGER_CROS_USBPD
658 tristate "ChromeOS EC based USBPD charger"
659 depends on MFD_CROS_EC
660 default n
661 help
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.
666
667 config CHARGER_SC2731
668 tristate "Spreadtrum SC2731 charger driver"
669 depends on MFD_SC27XX_PMIC || COMPILE_TEST
670 help
671 Say Y here to enable support for battery charging with SC2731
672 PMIC chips.
673
674 config FUEL_GAUGE_SC27XX
675 tristate "Spreadtrum SC27XX fuel gauge driver"
676 depends on MFD_SC27XX_PMIC || COMPILE_TEST
677 depends on IIO
678 help
679 Say Y here to enable support for fuel gauge with SC27XX
680 PMIC chips.
681
682 config CHARGER_UCS1002
683 tristate "Microchip UCS1002 USB Port Power Controller"
684 depends on I2C
685 depends on OF
686 depends on REGULATOR
687 select REGMAP_I2C
688 help
689 Say Y to enable support for Microchip UCS1002 Programmable
690 USB Port Power Controller with Charger Emulation.
691
692 endif # POWER_SUPPLY