GNU Linux-libre 4.19.304-gnu1
[releases.git] / drivers / power / supply / Kconfig
1 menuconfig 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
9 if POWER_SUPPLY
10
11 config 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
17 config 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
25 config 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
32 config 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
39 config 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
46 config 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
53 config 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
60 config 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
67 config TEST_POWER
68         tristate "Test power driver"
69         help
70           This driver is used for testing. It's safe to say M here.
71
72 config 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
78 config 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
89 config 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
96 config 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
104 config 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
110 config 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
118 config 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
132 config 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
139 config 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
145 config 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
152 config 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
158 config 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
165 config 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
172 config 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
179 config 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
185 config 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
192 config 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
198 config 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
212 config BATTERY_BQ27XXX
213         tristate "BQ27xxx battery driver"
214         help
215           Say Y here to enable support for batteries with BQ27xxx chips.
216
217 config 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
226 config 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
235 config 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
246 config 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
253 config 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
260 config 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
272 config 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
282 config 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
294 config 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
306 config 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
314 config 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
321 config 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
330 config 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
338 config 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
350 config 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
363 config 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
369 config 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
375 config 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
382 config 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
388 config 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
394 config 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
405 config 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
412 config 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
421 config 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
429 config 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
437 config 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
443 config 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
449 config 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
457 config 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
467 config 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
478 config 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
485 config 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
492 config 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
502 config 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
508 config 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
515 config 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
522 config 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
536 config 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
546 config 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
554 config CHARGER_BQ24257
555         tristate "TI BQ24250/24251/24257 battery charger driver"
556         depends on I2C
557         depends on GPIOLIB || COMPILE_TEST
558         select REGMAP_I2C
559         help
560           Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
561           chargers.
562
563 config 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
570 config 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
578 config 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
586 config 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
593 config 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
600 config 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
608 config 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
614 config 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
622 config BATTERY_RT5033
623         tristate "RT5033 fuel gauge support"
624         depends on I2C
625         select REGMAP_I2C
626         help
627           This adds support for battery fuel gauge in Richtek RT5033 PMIC.
628           The fuelgauge calculates and determines the battery state of charge
629           according to battery open circuit voltage.
630
631 config CHARGER_RT9455
632         tristate "Richtek RT9455 battery charger driver"
633         depends on I2C
634         depends on GPIOLIB || COMPILE_TEST
635         select REGMAP_I2C
636         help
637           Say Y to enable support for Richtek RT9455 battery charger.
638
639 config CHARGER_CROS_USBPD
640         tristate "ChromeOS EC based USBPD charger"
641         depends on MFD_CROS_EC
642         default n
643         help
644           Say Y here to enable ChromeOS EC based USBPD charger
645           driver. This driver gets various bits of information about
646           what is connected to USB PD ports from the EC and converts
647           that into power_supply properties.
648
649 endif # POWER_SUPPLY