power: Adds support for Smart Battery System Manager
[platform/kernel/linux-rpi.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 BATTERY_ACT8945A
79         tristate "Active-semi ACT8945A charger driver"
80         depends on MFD_ACT8945A || COMPILE_TEST
81         help
82           Say Y here to enable support for power supply provided by
83           Active-semi ActivePath ACT8945A charger.
84
85 config BATTERY_CPCAP
86         tristate "Motorola CPCAP PMIC battery driver"
87         depends on MFD_CPCAP && IIO
88         default MFD_CPCAP
89         help
90           Say Y here to enable support for battery on Motorola
91           phones and tablets such as droid 4.
92
93 config BATTERY_DS2760
94         tristate "DS2760 battery driver (HP iPAQ & others)"
95         depends on W1 && W1_SLAVE_DS2760
96         help
97           Say Y here to enable support for batteries with ds2760 chip.
98
99 config BATTERY_DS2780
100         tristate "DS2780 battery driver"
101         depends on HAS_IOMEM
102         select W1
103         select W1_SLAVE_DS2780
104         help
105           Say Y here to enable support for batteries with ds2780 chip.
106
107 config BATTERY_DS2781
108         tristate "DS2781 battery driver"
109         depends on HAS_IOMEM
110         select W1
111         select W1_SLAVE_DS2781
112         help
113           If you enable this you will have the DS2781 battery driver support.
114
115           The battery monitor chip is used in many batteries/devices
116           as the one who is responsible for charging/discharging/monitoring
117           Li+ batteries.
118
119           If you are unsure, say N.
120
121 config BATTERY_DS2782
122         tristate "DS2782/DS2786 standalone gas-gauge"
123         depends on I2C
124         help
125           Say Y here to enable support for the DS2782/DS2786 standalone battery
126           gas-gauge.
127
128 config BATTERY_LEGO_EV3
129         tristate "LEGO MINDSTORMS EV3 battery"
130         depends on OF && IIO && GPIOLIB
131         help
132           Say Y here to enable support for the LEGO MINDSTORMS EV3 battery.
133
134 config BATTERY_PMU
135         tristate "Apple PMU battery"
136         depends on PPC32 && ADB_PMU
137         help
138           Say Y here to expose battery information on Apple machines
139           through the generic battery class.
140
141 config BATTERY_OLPC
142         tristate "One Laptop Per Child battery"
143         depends on X86_32 && OLPC
144         help
145           Say Y to enable support for the battery on the OLPC laptop.
146
147 config BATTERY_TOSA
148         tristate "Sharp SL-6000 (tosa) battery"
149         depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX
150         help
151           Say Y to enable support for the battery on the Sharp Zaurus
152           SL-6000 (tosa) models.
153
154 config BATTERY_COLLIE
155         tristate "Sharp SL-5500 (collie) battery"
156         depends on SA1100_COLLIE && MCP_UCB1200
157         help
158           Say Y to enable support for the battery on the Sharp Zaurus
159           SL-5500 (collie) models.
160
161 config BATTERY_IPAQ_MICRO
162         tristate "iPAQ Atmel Micro ASIC battery driver"
163         depends on MFD_IPAQ_MICRO
164         help
165           Choose this option if you want to monitor battery status on
166           Compaq/HP iPAQ h3100 and h3600.
167
168 config BATTERY_WM97XX
169         bool "WM97xx generic battery driver"
170         depends on TOUCHSCREEN_WM97XX=y
171         help
172           Say Y to enable support for battery measured by WM97xx aux port.
173
174 config BATTERY_SBS
175         tristate "SBS Compliant gas gauge"
176         depends on I2C
177         help
178           Say Y to include support for SBS battery driver for SBS-compliant
179           gas gauges.
180
181 config CHARGER_SBS
182         tristate "SBS Compliant charger"
183         depends on I2C
184         help
185           Say Y to include support for SBS compilant battery chargers.
186
187 config MANAGER_SBS
188         tristate "Smart Battery System Manager"
189         depends on I2C && I2C_MUX
190         help
191           Say Y here to include support for Smart Battery System Manager
192           ICs. The driver reports online and charging status via sysfs.
193           It presents itself also as I2C mux which allows to bind
194           smart battery driver to its ports.
195           Supported is for example LTC1760.
196
197           This driver can also be built as a module. If so, the module will be
198           called sbs-manager.
199
200 config BATTERY_BQ27XXX
201         tristate "BQ27xxx battery driver"
202         help
203           Say Y here to enable support for batteries with BQ27xxx chips.
204
205 config BATTERY_BQ27XXX_I2C
206         tristate "BQ27xxx I2C support"
207         depends on BATTERY_BQ27XXX
208         depends on I2C
209         default y
210         help
211           Say Y here to enable support for batteries with BQ27xxx chips
212           connected over an I2C bus.
213
214 config BATTERY_BQ27XXX_HDQ
215         tristate "BQ27xxx HDQ support"
216         depends on BATTERY_BQ27XXX
217         depends on W1
218         default y
219         help
220           Say Y here to enable support for batteries with BQ27xxx chips
221           connected over an HDQ bus.
222
223 config BATTERY_BQ27XXX_DT_UPDATES_NVM
224         bool "BQ27xxx support for update of NVM/flash data memory"
225         depends on BATTERY_BQ27XXX_I2C
226         help
227           Say Y here to enable devicetree monitored-battery config to update
228           NVM/flash data memory. Only enable this option for devices with a
229           fuel gauge mounted on the circuit board, and a battery that cannot
230           easily be replaced with one of a different type. Not for
231           general-purpose kernels, as this can cause misconfiguration of a
232           smart battery with embedded NVM/flash.
233
234 config BATTERY_DA9030
235         tristate "DA9030 battery driver"
236         depends on PMIC_DA903X
237         help
238           Say Y here to enable support for batteries charger integrated into
239           DA9030 PMIC.
240
241 config BATTERY_DA9052
242         tristate "Dialog DA9052 Battery"
243         depends on PMIC_DA9052
244         help
245           Say Y here to enable support for batteries charger integrated into
246           DA9052 PMIC.
247
248 config CHARGER_DA9150
249         tristate "Dialog Semiconductor DA9150 Charger support"
250         depends on MFD_DA9150
251         depends on DA9150_GPADC
252         depends on IIO
253         help
254           Say Y here to enable support for charger unit of the DA9150
255           Integrated Charger & Fuel-Gauge IC.
256
257           This driver can also be built as a module. If so, the module will be
258           called da9150-charger.
259
260 config BATTERY_DA9150
261         tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
262         depends on MFD_DA9150
263         help
264           Say Y here to enable support for the Fuel-Gauge unit of the DA9150
265           Integrated Charger & Fuel-Gauge IC
266
267           This driver can also be built as a module. If so, the module will be
268           called da9150-fg.
269
270 config CHARGER_AXP20X
271         tristate "X-Powers AXP20X and AXP22X AC power supply driver"
272         depends on MFD_AXP20X
273         depends on AXP20X_ADC
274         depends on IIO
275         help
276           Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
277           power supply.
278
279           This driver can also be built as a module. If so, the module will be
280           called axp20x_ac_power.
281
282 config BATTERY_AXP20X
283         tristate "X-Powers AXP20X battery 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 PMICs' battery power
289           supply.
290
291           This driver can also be built as a module. If so, the module will be
292           called axp20x_battery.
293
294 config AXP20X_POWER
295         tristate "AXP20x power supply driver"
296         depends on MFD_AXP20X
297         depends on IIO
298         help
299           This driver provides support for the power supply features of
300           AXP20x PMIC.
301
302 config AXP288_CHARGER
303         tristate "X-Powers AXP288 Charger"
304         depends on MFD_AXP20X && EXTCON_AXP288
305         help
306           Say yes here to have support X-Power AXP288 power management IC (PMIC)
307           integrated charger.
308
309 config AXP288_FUEL_GAUGE
310         tristate "X-Powers AXP288 Fuel Gauge"
311         depends on MFD_AXP20X && IIO
312         help
313           Say yes here to have support for X-Power power management IC (PMIC)
314           Fuel Gauge. The device provides battery statistics and status
315           monitoring as well as alerts for battery over/under voltage and
316           over/under temperature.
317
318 config BATTERY_MAX17040
319         tristate "Maxim MAX17040 Fuel Gauge"
320         depends on I2C
321         help
322           MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries
323           in handheld and portable equipment. The MAX17040 is configured
324           to operate with a single lithium cell
325
326 config BATTERY_MAX17042
327         tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge"
328         depends on I2C
329         select REGMAP_I2C
330         help
331           MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
332           in handheld and portable equipment. The MAX17042 is configured
333           to operate with a single lithium cell. MAX8997 and MAX8966 are
334           multi-function devices that include fuel gauages that are compatible
335           with MAX17042. This driver also supports max17047/50 chips which are
336           improved version of max17042.
337
338 config BATTERY_MAX1721X
339         tristate "MAX17211/MAX17215 standalone gas-gauge"
340         depends on W1
341         select REGMAP_W1
342         help
343           MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries
344           in handheld and portable equipment. MAX17211 used with single cell
345           battery. MAX17215 designed for muticell battery. Both them have
346           OneWire (W1) host interface.
347
348           Say Y here to enable support for the MAX17211/MAX17215 standalone
349           battery gas-gauge.
350
351 config BATTERY_Z2
352         tristate "Z2 battery driver"
353         depends on I2C && MACH_ZIPIT2
354         help
355           Say Y to include support for the battery on the Zipit Z2.
356
357 config BATTERY_S3C_ADC
358         tristate "Battery driver for Samsung ADC based monitoring"
359         depends on S3C_ADC
360         help
361           Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery
362
363 config BATTERY_TWL4030_MADC
364         tristate "TWL4030 MADC battery driver"
365         depends on TWL4030_MADC
366         help
367           Say Y here to enable this dumb driver for batteries managed
368           through the TWL4030 MADC.
369
370 config CHARGER_88PM860X
371         tristate "Marvell 88PM860x Charger driver"
372         depends on MFD_88PM860X && BATTERY_88PM860X
373         help
374           Say Y here to enable charger for Marvell 88PM860x chip.
375
376 config CHARGER_PCF50633
377         tristate "NXP PCF50633 MBC"
378         depends on MFD_PCF50633
379         help
380          Say Y to include support for NXP PCF50633 Main Battery Charger.
381
382 config BATTERY_JZ4740
383         tristate "Ingenic JZ4740 battery"
384         depends on MACH_JZ4740
385         depends on MFD_JZ4740_ADC
386         help
387           Say Y to enable support for the battery on Ingenic JZ4740 based
388           boards.
389
390           This driver can be build as a module. If so, the module will be
391           called jz4740-battery.
392
393 config BATTERY_RX51
394         tristate "Nokia RX-51 (N900) battery driver"
395         depends on TWL4030_MADC
396         help
397           Say Y here to enable support for battery information on Nokia
398           RX-51, also known as N900 tablet.
399
400 config CHARGER_CPCAP
401         tristate "CPCAP PMIC Charger Driver"
402         depends on MFD_CPCAP && IIO
403         depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
404         default MFD_CPCAP
405         help
406           Say Y to enable support for CPCAP PMIC charger driver for Motorola
407           mobile devices such as Droid 4.
408
409 config CHARGER_ISP1704
410         tristate "ISP1704 USB Charger Detection"
411         depends on USB_PHY
412         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
413         help
414           Say Y to enable support for USB Charger Detection with
415           ISP1707/ISP1704 USB transceivers.
416
417 config CHARGER_MAX8903
418         tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
419         help
420           Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
421           The driver supports controlling charger-enable and current-limit
422           pins based on the status of charger connections with interrupt
423           handlers.
424
425 config CHARGER_TWL4030
426         tristate "OMAP TWL4030 BCI charger driver"
427         depends on IIO && TWL4030_CORE
428         help
429           Say Y here to enable support for TWL4030 Battery Charge Interface.
430
431 config CHARGER_LP8727
432         tristate "TI/National Semiconductor LP8727 charger driver"
433         depends on I2C
434         help
435           Say Y here to enable support for LP8727 Charger Driver.
436
437 config CHARGER_LP8788
438         tristate "TI LP8788 charger driver"
439         depends on MFD_LP8788
440         depends on LP8788_ADC
441         depends on IIO
442         help
443           Say Y to enable support for the LP8788 linear charger.
444
445 config CHARGER_GPIO
446         tristate "GPIO charger"
447         depends on GPIOLIB || COMPILE_TEST
448         help
449           Say Y to include support for chargers which report their online status
450           through a GPIO pin.
451
452           This driver can be build as a module. If so, the module will be
453           called gpio-charger.
454
455 config CHARGER_MANAGER
456         bool "Battery charger manager for multiple chargers"
457         depends on REGULATOR
458         select EXTCON
459         help
460           Say Y to enable charger-manager support, which allows multiple
461           chargers attached to a battery and multiple batteries attached to a
462           system. The charger-manager also can monitor charging status in
463           runtime and in suspend-to-RAM by waking up the system periodically
464           with help of suspend_again support.
465
466 config CHARGER_LTC3651
467         tristate "LTC3651 charger"
468         depends on GPIOLIB
469         help
470           Say Y to include support for the LTC3651 battery charger which reports
471           its status via GPIO lines.
472
473 config CHARGER_MAX14577
474         tristate "Maxim MAX14577/77836 battery charger driver"
475         depends on MFD_MAX14577
476         help
477           Say Y to enable support for the battery charger control sysfs and
478           platform data of MAX14577/77836 MUICs.
479
480 config CHARGER_DETECTOR_MAX14656
481         tristate "Maxim MAX14656 USB charger detector"
482         depends on I2C
483         depends on OF
484         help
485           Say Y to enable support for the Maxim MAX14656 USB charger detector.
486           The device is compliant with the USB Battery Charging Specification
487           Revision 1.2 and can be found e.g. in Kindle 4/5th generation
488           readers and certain LG devices.
489
490 config CHARGER_MAX77693
491         tristate "Maxim MAX77693 battery charger driver"
492         depends on MFD_MAX77693
493         help
494           Say Y to enable support for the Maxim MAX77693 battery charger.
495
496 config CHARGER_MAX8997
497         tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
498         depends on MFD_MAX8997 && REGULATOR_MAX8997
499         help
500           Say Y to enable support for the battery charger control sysfs and
501           platform data of MAX8997/LP3974 PMICs.
502
503 config CHARGER_MAX8998
504         tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
505         depends on MFD_MAX8998 && REGULATOR_MAX8998
506         help
507           Say Y to enable support for the battery charger control sysfs and
508           platform data of MAX8998/LP3974 PMICs.
509
510 config CHARGER_QCOM_SMBB
511         tristate "Qualcomm Switch-Mode Battery Charger and Boost"
512         depends on MFD_SPMI_PMIC || COMPILE_TEST
513         depends on OF
514         depends on EXTCON
515         depends on REGULATOR
516         help
517           Say Y to include support for the Switch-Mode Battery Charger and
518           Boost (SMBB) hardware found in Qualcomm PM8941 PMICs.  The charger
519           is an integrated, single-cell lithium-ion battery charger.  DT
520           configuration is required for loading, see the devicetree
521           documentation for more detail.  The base name for this driver is
522           'pm8941_charger'.
523
524 config CHARGER_BQ2415X
525         tristate "TI BQ2415x battery charger driver"
526         depends on I2C
527         help
528           Say Y to enable support for the TI BQ2415x battery charger
529           PMICs.
530
531           You'll need this driver to charge batteries on e.g. Nokia
532           RX-51/N900.
533
534 config CHARGER_BQ24190
535         tristate "TI BQ24190 battery charger driver"
536         depends on I2C
537         depends on EXTCON
538         depends on GPIOLIB || COMPILE_TEST
539         help
540           Say Y to enable support for the TI BQ24190 battery charger.
541
542 config CHARGER_BQ24257
543         tristate "TI BQ24250/24251/24257 battery charger driver"
544         depends on I2C
545         depends on GPIOLIB || COMPILE_TEST
546         depends on REGMAP_I2C
547         help
548           Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
549           chargers.
550
551 config CHARGER_BQ24735
552         tristate "TI BQ24735 battery charger support"
553         depends on I2C
554         depends on GPIOLIB || COMPILE_TEST
555         help
556           Say Y to enable support for the TI BQ24735 battery charger.
557
558 config CHARGER_BQ25890
559         tristate "TI BQ25890 battery charger driver"
560         depends on I2C
561         depends on GPIOLIB || COMPILE_TEST
562         select REGMAP_I2C
563         help
564           Say Y to enable support for the TI BQ25890 battery charger.
565
566 config CHARGER_SMB347
567         tristate "Summit Microelectronics SMB347 Battery Charger"
568         depends on I2C
569         select REGMAP_I2C
570         help
571           Say Y to include support for Summit Microelectronics SMB347
572           Battery Charger.
573
574 config CHARGER_TPS65090
575         tristate "TPS65090 battery charger driver"
576         depends on MFD_TPS65090
577         help
578          Say Y here to enable support for battery charging with TPS65090
579          PMIC chips.
580
581 config CHARGER_TPS65217
582         tristate "TPS65217 battery charger driver"
583         depends on MFD_TPS65217
584         help
585          Say Y here to enable support for battery charging with TPS65217
586          PMIC chips.
587
588 config BATTERY_GAUGE_LTC2941
589         tristate "LTC2941/LTC2943 Battery Gauge Driver"
590         depends on I2C
591         help
592           Say Y here to include support for LTC2941 and LTC2943 Battery
593           Gauge IC. The driver reports the charge count continuously, and
594           measures the voltage and temperature every 10 seconds.
595
596 config AB8500_BM
597         bool "AB8500 Battery Management Driver"
598         depends on AB8500_CORE && AB8500_GPADC
599         help
600           Say Y to include support for AB8500 battery management.
601
602 config BATTERY_GOLDFISH
603         tristate "Goldfish battery driver"
604         depends on GOLDFISH || COMPILE_TEST
605         depends on HAS_IOMEM
606         help
607           Say Y to enable support for the battery and AC power in the
608           Goldfish emulator.
609
610 config BATTERY_RT5033
611         tristate "RT5033 fuel gauge support"
612         depends on MFD_RT5033
613         help
614           This adds support for battery fuel gauge in Richtek RT5033 PMIC.
615           The fuelgauge calculates and determines the battery state of charge
616           according to battery open circuit voltage.
617
618 config CHARGER_RT9455
619         tristate "Richtek RT9455 battery charger driver"
620         depends on I2C
621         depends on GPIOLIB || COMPILE_TEST
622         select REGMAP_I2C
623         help
624           Say Y to enable support for Richtek RT9455 battery charger.
625
626 endif # POWER_SUPPLY