blob: 4530fc0a914910ec97c87f9dd8d6923a0f1eb18b [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001menuconfig POWER_SUPPLY
2 bool "Power supply class support"
3 help
4 Say Y here to enable power supply class support. This allows
5 power supply (batteries, AC, USB) monitoring by userspace
6 via sysfs and uevent (if available) and/or APM kernel interface
7 (if selected below).
8
9if POWER_SUPPLY
10
11config POWER_SUPPLY_DEBUG
12 bool "Power supply debug"
13 help
14 Say Y here to enable debugging messages for power supply class
15 and drivers.
16
17config PDA_POWER
18 tristate "Generic PDA/phone power driver"
19 depends on !S390
20 help
21 Say Y here to enable generic power driver for PDAs and phones with
22 one or two external power supplies (AC/USB) connected to main and
23 backup batteries, and optional builtin charger.
24
25config APM_POWER
26 tristate "APM emulation for class batteries"
27 depends on APM_EMULATION
28 help
29 Say Y here to enable support APM status emulation using
30 battery class devices.
31
32config GENERIC_ADC_BATTERY
33 tristate "Generic battery support using IIO"
34 depends on IIO
35 help
36 Say Y here to enable support for the generic battery driver
37 which uses IIO framework to read adc.
38
39config MAX8925_POWER
40 tristate "MAX8925 battery charger support"
41 depends on MFD_MAX8925
42 help
43 Say Y here to enable support for the battery charger in the Maxim
44 MAX8925 PMIC.
45
46config WM831X_BACKUP
47 tristate "WM831X backup battery charger support"
48 depends on MFD_WM831X
49 help
50 Say Y here to enable support for the backup battery charger
51 in the Wolfson Microelectronics WM831x PMICs.
52
53config WM831X_POWER
54 tristate "WM831X PMU support"
55 depends on MFD_WM831X
56 help
57 Say Y here to enable support for the power management unit
58 provided by Wolfson Microelectronics WM831x PMICs.
59
60config WM8350_POWER
61 tristate "WM8350 PMU support"
62 depends on MFD_WM8350
63 help
64 Say Y here to enable support for the power management unit
65 provided by the Wolfson Microelectronics WM8350 PMIC.
66
67config TEST_POWER
68 tristate "Test power driver"
69 help
70 This driver is used for testing. It's safe to say M here.
71
72config BATTERY_88PM860X
73 tristate "Marvell 88PM860x battery driver"
74 depends on MFD_88PM860X
75 help
76 Say Y here to enable battery monitor for Marvell 88PM860x chip.
77
78config CHARGER_ADP5061
79 tristate "ADP5061 battery charger driver"
80 depends on I2C
81 select REGMAP_I2C
82 help
83 Say Y here to enable support for the ADP5061 standalone battery
84 charger.
85
86 This driver can be built as a module. If so, the module will be
87 called adp5061.
88
89config BATTERY_ACT8945A
90 tristate "Active-semi ACT8945A charger driver"
91 depends on MFD_ACT8945A || COMPILE_TEST
92 help
93 Say Y here to enable support for power supply provided by
94 Active-semi ActivePath ACT8945A charger.
95
96config BATTERY_CPCAP
97 tristate "Motorola CPCAP PMIC battery driver"
98 depends on MFD_CPCAP && IIO
99 default MFD_CPCAP
100 help
101 Say Y here to enable support for battery on Motorola
102 phones and tablets such as droid 4.
103
104config BATTERY_DS2760
105 tristate "DS2760 battery driver (HP iPAQ & others)"
106 depends on W1
107 help
108 Say Y here to enable support for batteries with ds2760 chip.
109
110config BATTERY_DS2780
111 tristate "DS2780 battery driver"
112 depends on HAS_IOMEM
113 select W1
114 select W1_SLAVE_DS2780
115 help
116 Say Y here to enable support for batteries with ds2780 chip.
117
118config BATTERY_DS2781
119 tristate "DS2781 battery driver"
120 depends on HAS_IOMEM
121 select W1
122 select W1_SLAVE_DS2781
123 help
124 If you enable this you will have the DS2781 battery driver support.
125
126 The battery monitor chip is used in many batteries/devices
127 as the one who is responsible for charging/discharging/monitoring
128 Li+ batteries.
129
130 If you are unsure, say N.
131
132config BATTERY_DS2782
133 tristate "DS2782/DS2786 standalone gas-gauge"
134 depends on I2C
135 help
136 Say Y here to enable support for the DS2782/DS2786 standalone battery
137 gas-gauge.
138
139config BATTERY_LEGO_EV3
140 tristate "LEGO MINDSTORMS EV3 battery"
141 depends on OF && IIO && GPIOLIB
142 help
143 Say Y here to enable support for the LEGO MINDSTORMS EV3 battery.
144
145config BATTERY_PMU
146 tristate "Apple PMU battery"
147 depends on PPC32 && ADB_PMU
148 help
149 Say Y here to expose battery information on Apple machines
150 through the generic battery class.
151
152config BATTERY_OLPC
153 tristate "One Laptop Per Child battery"
154 depends on X86_32 && OLPC
155 help
156 Say Y to enable support for the battery on the OLPC laptop.
157
158config BATTERY_TOSA
159 tristate "Sharp SL-6000 (tosa) battery"
160 depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX
161 help
162 Say Y to enable support for the battery on the Sharp Zaurus
163 SL-6000 (tosa) models.
164
165config BATTERY_COLLIE
166 tristate "Sharp SL-5500 (collie) battery"
167 depends on SA1100_COLLIE && MCP_UCB1200
168 help
169 Say Y to enable support for the battery on the Sharp Zaurus
170 SL-5500 (collie) models.
171
172config BATTERY_IPAQ_MICRO
173 tristate "iPAQ Atmel Micro ASIC battery driver"
174 depends on MFD_IPAQ_MICRO
175 help
176 Choose this option if you want to monitor battery status on
177 Compaq/HP iPAQ h3100 and h3600.
178
179config BATTERY_WM97XX
180 bool "WM97xx generic battery driver"
181 depends on TOUCHSCREEN_WM97XX=y
182 help
183 Say Y to enable support for battery measured by WM97xx aux port.
184
185config BATTERY_SBS
186 tristate "SBS Compliant gas gauge"
187 depends on I2C
188 help
189 Say Y to include support for SBS battery driver for SBS-compliant
190 gas gauges.
191
192config CHARGER_SBS
193 tristate "SBS Compliant charger"
194 depends on I2C
195 help
196 Say Y to include support for SBS compliant battery chargers.
197
198config MANAGER_SBS
199 tristate "Smart Battery System Manager"
200 depends on I2C && I2C_MUX && GPIOLIB
201 select I2C_SMBUS
202 help
203 Say Y here to include support for Smart Battery System Manager
204 ICs. The driver reports online and charging status via sysfs.
205 It presents itself also as I2C mux which allows to bind
206 smart battery driver to its ports.
207 Supported is for example LTC1760.
208
209 This driver can also be built as a module. If so, the module will be
210 called sbs-manager.
211
212config BATTERY_BQ27XXX
213 tristate "BQ27xxx battery driver"
214 help
215 Say Y here to enable support for batteries with BQ27xxx chips.
216
217config BATTERY_BQ27XXX_I2C
218 tristate "BQ27xxx I2C support"
219 depends on BATTERY_BQ27XXX
220 depends on I2C
221 default y
222 help
223 Say Y here to enable support for batteries with BQ27xxx chips
224 connected over an I2C bus.
225
226config BATTERY_BQ27XXX_HDQ
227 tristate "BQ27xxx HDQ support"
228 depends on BATTERY_BQ27XXX
229 depends on W1
230 default y
231 help
232 Say Y here to enable support for batteries with BQ27xxx chips
233 connected over an HDQ bus.
234
235config BATTERY_BQ27XXX_DT_UPDATES_NVM
236 bool "BQ27xxx support for update of NVM/flash data memory"
237 depends on BATTERY_BQ27XXX_I2C
238 help
239 Say Y here to enable devicetree monitored-battery config to update
240 NVM/flash data memory. Only enable this option for devices with a
241 fuel gauge mounted on the circuit board, and a battery that cannot
242 easily be replaced with one of a different type. Not for
243 general-purpose kernels, as this can cause misconfiguration of a
244 smart battery with embedded NVM/flash.
245
246config BATTERY_DA9030
247 tristate "DA9030 battery driver"
248 depends on PMIC_DA903X
249 help
250 Say Y here to enable support for batteries charger integrated into
251 DA9030 PMIC.
252
253config BATTERY_DA9052
254 tristate "Dialog DA9052 Battery"
255 depends on PMIC_DA9052
256 help
257 Say Y here to enable support for batteries charger integrated into
258 DA9052 PMIC.
259
260config CHARGER_DA9150
261 tristate "Dialog Semiconductor DA9150 Charger support"
262 depends on MFD_DA9150
263 depends on DA9150_GPADC
264 depends on IIO
265 help
266 Say Y here to enable support for charger unit of the DA9150
267 Integrated Charger & Fuel-Gauge IC.
268
269 This driver can also be built as a module. If so, the module will be
270 called da9150-charger.
271
272config BATTERY_DA9150
273 tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
274 depends on MFD_DA9150
275 help
276 Say Y here to enable support for the Fuel-Gauge unit of the DA9150
277 Integrated Charger & Fuel-Gauge IC
278
279 This driver can also be built as a module. If so, the module will be
280 called da9150-fg.
281
282config CHARGER_AXP20X
283 tristate "X-Powers AXP20X and AXP22X AC power supply driver"
284 depends on MFD_AXP20X
285 depends on AXP20X_ADC
286 depends on IIO
287 help
288 Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
289 power supply.
290
291 This driver can also be built as a module. If so, the module will be
292 called axp20x_ac_power.
293
294config BATTERY_AXP20X
295 tristate "X-Powers AXP20X battery 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 PMICs' battery power
301 supply.
302
303 This driver can also be built as a module. If so, the module will be
304 called axp20x_battery.
305
306config AXP20X_POWER
307 tristate "AXP20x power supply driver"
308 depends on MFD_AXP20X
309 depends on IIO
310 help
311 This driver provides support for the power supply features of
312 AXP20x PMIC.
313
314config AXP288_CHARGER
315 tristate "X-Powers AXP288 Charger"
316 depends on MFD_AXP20X && EXTCON_AXP288
317 help
318 Say yes here to have support X-Power AXP288 power management IC (PMIC)
319 integrated charger.
320
321config AXP288_FUEL_GAUGE
322 tristate "X-Powers AXP288 Fuel Gauge"
323 depends on MFD_AXP20X && IIO
324 help
325 Say yes here to have support for X-Power power management IC (PMIC)
326 Fuel Gauge. The device provides battery statistics and status
327 monitoring as well as alerts for battery over/under voltage and
328 over/under temperature.
329
330config BATTERY_MAX17040
331 tristate "Maxim MAX17040 Fuel Gauge"
332 depends on I2C
333 help
334 MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries
335 in handheld and portable equipment. The MAX17040 is configured
336 to operate with a single lithium cell
337
338config BATTERY_MAX17042
339 tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge"
340 depends on I2C
341 select REGMAP_I2C
342 help
343 MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
344 in handheld and portable equipment. The MAX17042 is configured
345 to operate with a single lithium cell. MAX8997 and MAX8966 are
346 multi-function devices that include fuel gauages that are compatible
347 with MAX17042. This driver also supports max17047/50 chips which are
348 improved version of max17042.
349
350config BATTERY_MAX1721X
351 tristate "MAX17211/MAX17215 standalone gas-gauge"
352 depends on W1
353 select REGMAP_W1
354 help
355 MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries
356 in handheld and portable equipment. MAX17211 used with single cell
357 battery. MAX17215 designed for muticell battery. Both them have
358 OneWire (W1) host interface.
359
360 Say Y here to enable support for the MAX17211/MAX17215 standalone
361 battery gas-gauge.
362
363config BATTERY_Z2
364 tristate "Z2 battery driver"
365 depends on I2C && MACH_ZIPIT2
366 help
367 Say Y to include support for the battery on the Zipit Z2.
368
369config BATTERY_S3C_ADC
370 tristate "Battery driver for Samsung ADC based monitoring"
371 depends on S3C_ADC
372 help
373 Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery
374
375config BATTERY_TWL4030_MADC
376 tristate "TWL4030 MADC battery driver"
377 depends on TWL4030_MADC
378 help
379 Say Y here to enable this dumb driver for batteries managed
380 through the TWL4030 MADC.
381
382config CHARGER_88PM860X
383 tristate "Marvell 88PM860x Charger driver"
384 depends on MFD_88PM860X && BATTERY_88PM860X
385 help
386 Say Y here to enable charger for Marvell 88PM860x chip.
387
388config CHARGER_PCF50633
389 tristate "NXP PCF50633 MBC"
390 depends on MFD_PCF50633
391 help
392 Say Y to include support for NXP PCF50633 Main Battery Charger.
393
394config BATTERY_JZ4740
395 tristate "Ingenic JZ4740 battery"
396 depends on MACH_JZ4740
397 depends on MFD_JZ4740_ADC
398 help
399 Say Y to enable support for the battery on Ingenic JZ4740 based
400 boards.
401
402 This driver can be build as a module. If so, the module will be
403 called jz4740-battery.
404
405config BATTERY_RX51
406 tristate "Nokia RX-51 (N900) battery driver"
407 depends on TWL4030_MADC
408 help
409 Say Y here to enable support for battery information on Nokia
410 RX-51, also known as N900 tablet.
411
412config CHARGER_CPCAP
413 tristate "CPCAP PMIC Charger Driver"
414 depends on MFD_CPCAP && IIO
415 depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
416 default MFD_CPCAP
417 help
418 Say Y to enable support for CPCAP PMIC charger driver for Motorola
419 mobile devices such as Droid 4.
420
421config CHARGER_ISP1704
422 tristate "ISP1704 USB Charger Detection"
423 depends on USB_PHY
424 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
425 help
426 Say Y to enable support for USB Charger Detection with
427 ISP1707/ISP1704 USB transceivers.
428
429config CHARGER_MAX8903
430 tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
431 help
432 Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
433 The driver supports controlling charger-enable and current-limit
434 pins based on the status of charger connections with interrupt
435 handlers.
436
437config CHARGER_TWL4030
438 tristate "OMAP TWL4030 BCI charger driver"
439 depends on IIO && TWL4030_CORE
440 help
441 Say Y here to enable support for TWL4030 Battery Charge Interface.
442
443config CHARGER_LP8727
444 tristate "TI/National Semiconductor LP8727 charger driver"
445 depends on I2C
446 help
447 Say Y here to enable support for LP8727 Charger Driver.
448
449config CHARGER_LP8788
450 tristate "TI LP8788 charger driver"
451 depends on MFD_LP8788
452 depends on LP8788_ADC
453 depends on IIO
454 help
455 Say Y to enable support for the LP8788 linear charger.
456
457config CHARGER_GPIO
458 tristate "GPIO charger"
459 depends on GPIOLIB || COMPILE_TEST
460 help
461 Say Y to include support for chargers which report their online status
462 through a GPIO pin.
463
464 This driver can be build as a module. If so, the module will be
465 called gpio-charger.
466
467config CHARGER_MANAGER
468 bool "Battery charger manager for multiple chargers"
469 depends on REGULATOR
470 select EXTCON
471 help
472 Say Y to enable charger-manager support, which allows multiple
473 chargers attached to a battery and multiple batteries attached to a
474 system. The charger-manager also can monitor charging status in
475 runtime and in suspend-to-RAM by waking up the system periodically
476 with help of suspend_again support.
477
478config CHARGER_LTC3651
479 tristate "LTC3651 charger"
480 depends on GPIOLIB
481 help
482 Say Y to include support for the LTC3651 battery charger which reports
483 its status via GPIO lines.
484
485config CHARGER_MAX14577
486 tristate "Maxim MAX14577/77836 battery charger driver"
487 depends on MFD_MAX14577
488 help
489 Say Y to enable support for the battery charger control sysfs and
490 platform data of MAX14577/77836 MUICs.
491
492config CHARGER_DETECTOR_MAX14656
493 tristate "Maxim MAX14656 USB charger detector"
494 depends on I2C
495 depends on OF
496 help
497 Say Y to enable support for the Maxim MAX14656 USB charger detector.
498 The device is compliant with the USB Battery Charging Specification
499 Revision 1.2 and can be found e.g. in Kindle 4/5th generation
500 readers and certain LG devices.
501
502config CHARGER_MAX77693
503 tristate "Maxim MAX77693 battery charger driver"
504 depends on MFD_MAX77693
505 help
506 Say Y to enable support for the Maxim MAX77693 battery charger.
507
508config CHARGER_MAX8997
509 tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
510 depends on MFD_MAX8997 && REGULATOR_MAX8997
511 help
512 Say Y to enable support for the battery charger control sysfs and
513 platform data of MAX8997/LP3974 PMICs.
514
515config CHARGER_MAX8998
516 tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
517 depends on MFD_MAX8998 && REGULATOR_MAX8998
518 help
519 Say Y to enable support for the battery charger control sysfs and
520 platform data of MAX8998/LP3974 PMICs.
521
522config CHARGER_QCOM_SMBB
523 tristate "Qualcomm Switch-Mode Battery Charger and Boost"
524 depends on MFD_SPMI_PMIC || COMPILE_TEST
525 depends on OF
526 depends on EXTCON
527 depends on REGULATOR
528 help
529 Say Y to include support for the Switch-Mode Battery Charger and
530 Boost (SMBB) hardware found in Qualcomm PM8941 PMICs. The charger
531 is an integrated, single-cell lithium-ion battery charger. DT
532 configuration is required for loading, see the devicetree
533 documentation for more detail. The base name for this driver is
534 'pm8941_charger'.
535
536config CHARGER_BQ2415X
537 tristate "TI BQ2415x battery charger driver"
538 depends on I2C
539 help
540 Say Y to enable support for the TI BQ2415x battery charger
541 PMICs.
542
543 You'll need this driver to charge batteries on e.g. Nokia
544 RX-51/N900.
545
546config CHARGER_BQ24190
547 tristate "TI BQ24190 battery charger driver"
548 depends on I2C
549 depends on EXTCON
550 depends on GPIOLIB || COMPILE_TEST
551 help
552 Say Y to enable support for the TI BQ24190 battery charger.
553
554config CHARGER_BQ24257
555 tristate "TI BQ24250/24251/24257 battery charger driver"
556 depends on I2C
557 depends on GPIOLIB || COMPILE_TEST
558 depends on REGMAP_I2C
559 help
560 Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
561 chargers.
562
563config CHARGER_BQ24735
564 tristate "TI BQ24735 battery charger support"
565 depends on I2C
566 depends on GPIOLIB || COMPILE_TEST
567 help
568 Say Y to enable support for the TI BQ24735 battery charger.
569
570config CHARGER_BQ25890
571 tristate "TI BQ25890 battery charger driver"
572 depends on I2C
573 depends on GPIOLIB || COMPILE_TEST
574 select REGMAP_I2C
575 help
576 Say Y to enable support for the TI BQ25890 battery charger.
577
578config CHARGER_SMB347
579 tristate "Summit Microelectronics SMB347 Battery Charger"
580 depends on I2C
581 select REGMAP_I2C
582 help
583 Say Y to include support for Summit Microelectronics SMB347
584 Battery Charger.
585
586config CHARGER_TPS65090
587 tristate "TPS65090 battery charger driver"
588 depends on MFD_TPS65090
589 help
590 Say Y here to enable support for battery charging with TPS65090
591 PMIC chips.
592
593config CHARGER_TPS65217
594 tristate "TPS65217 battery charger driver"
595 depends on MFD_TPS65217
596 help
597 Say Y here to enable support for battery charging with TPS65217
598 PMIC chips.
599
600config BATTERY_GAUGE_LTC2941
601 tristate "LTC2941/LTC2943 Battery Gauge Driver"
602 depends on I2C
603 help
604 Say Y here to include support for LTC2941 and LTC2943 Battery
605 Gauge IC. The driver reports the charge count continuously, and
606 measures the voltage and temperature every 10 seconds.
607
608config AB8500_BM
609 bool "AB8500 Battery Management Driver"
610 depends on AB8500_CORE && AB8500_GPADC
611 help
612 Say Y to include support for AB8500 battery management.
613
614config BATTERY_GOLDFISH
615 tristate "Goldfish battery driver"
616 depends on GOLDFISH || COMPILE_TEST
617 depends on HAS_IOMEM
618 help
619 Say Y to enable support for the battery and AC power in the
620 Goldfish emulator.
621
622config BATTERY_RT5033
623 tristate "RT5033 fuel gauge support"
624 depends on MFD_RT5033
625 help
626 This adds support for battery fuel gauge in Richtek RT5033 PMIC.
627 The fuelgauge calculates and determines the battery state of charge
628 according to battery open circuit voltage.
629
630config CHARGER_RT9455
631 tristate "Richtek RT9455 battery charger driver"
632 depends on I2C
633 depends on GPIOLIB || COMPILE_TEST
634 select REGMAP_I2C
635 help
636 Say Y to enable support for Richtek RT9455 battery charger.
637
638config CHARGER_CROS_USBPD
639 tristate "ChromeOS EC based USBPD charger"
640 depends on MFD_CROS_EC
641 default n
642 help
643 Say Y here to enable ChromeOS EC based USBPD charger
644 driver. This driver gets various bits of information about
645 what is connected to USB PD ports from the EC and converts
646 that into power_supply properties.
647
648config MTK_BATTERY
649 bool "MTK BATTERY framework and algorithm"
650 depends on MFD_MT6397
651 default n
652 help
653 Say Y to enable support for MTK battery Algorithm.
654 It is fuel gauge algorithm , The driver get various
655 battery information from hardware to calculate
656 Battery percentage.
657
658config BATTERY_MT6359
659 tristate "MT6359 fuel gauge support"
660 depends on MFD_MT6397
661 depends on NET
662 default m
663 help
664 Say Y to enable support for MT6359 battery driver.
665 it measure battery current and temperature to provide
666 battery information , It issues interrupt when trigger
667 threshold is met.
668
669config CHARGER_MT6360
670 tristate "Mediatek MT6360 Charger Driver"
671 depends on MFD_MT6360
672 depends on REGULATOR
673 select EXTCON
674 help
675 Say Y here to enable MT6360 Charger Part.
676 support High-Accuracy Voltage/Current Regulation,
677 Average Input Current Regulation, Battery Tempature Sensing,
678 Over-Temperature Protection, DPDM Detection for BC1.2
679
680config CHARGER_RT9467
681 bool "Charger Driver for Richtek RT9467 Charger IC"
682 default n
683 help
684 Say Yes to enable Richtek RT9467 driver.
685 It is mainly used as slave IC for dual charger
686 application.
687 It depends on config MTK_CHARGER.
688endif # POWER_SUPPLY