Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig 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
10if POWER_SUPPLY
11
12config 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
18config POWER_SUPPLY_HWMON
19 bool
20 prompt "Expose power supply sensors as hwmon device"
21 depends on HWMON=y || HWMON=POWER_SUPPLY
22 default y
23 help
24 This options enables API that allows sensors found on a
25 power supply device (current, voltage, temperature) to be
26 exposed as a hwmon device.
27
28 Say 'Y' here if you want power supplies to
29 have hwmon sysfs interface too.
30
31config APM_POWER
32 tristate "APM emulation for class batteries"
33 depends on APM_EMULATION
34 help
35 Say Y here to enable support APM status emulation using
36 battery class devices.
37
38config ADC_BATTERY_HELPER
39 tristate
40
41config GENERIC_ADC_BATTERY
42 tristate "Generic battery support using IIO"
43 depends on IIO
44 help
45 Say Y here to enable support for the generic battery driver
46 which uses IIO framework to read adc.
47
48config IP5XXX_POWER
49 tristate "Injoinic IP5xxx power bank IC driver"
50 depends on I2C
51 select REGMAP_I2C
52 help
53 Say Y to include support for Injoinic IP5xxx power bank ICs,
54 which include a battery charger and a boost converter.
55
56config MAX8925_POWER
57 tristate "MAX8925 battery charger support"
58 depends on MFD_MAX8925
59 help
60 Say Y here to enable support for the battery charger in the Maxim
61 MAX8925 PMIC.
62
63config WM831X_BACKUP
64 tristate "WM831X backup battery charger support"
65 depends on MFD_WM831X
66 help
67 Say Y here to enable support for the backup battery charger
68 in the Wolfson Microelectronics WM831x PMICs.
69
70config WM831X_POWER
71 tristate "WM831X PMU support"
72 depends on MFD_WM831X
73 help
74 Say Y here to enable support for the power management unit
75 provided by Wolfson Microelectronics WM831x PMICs.
76
77config WM8350_POWER
78 tristate "WM8350 PMU support"
79 depends on MFD_WM8350
80 help
81 Say Y here to enable support for the power management unit
82 provided by the Wolfson Microelectronics WM8350 PMIC.
83
84config TEST_POWER
85 tristate "Test power driver"
86 help
87 This driver is used for testing. It's safe to say M here.
88
89config BATTERY_88PM860X
90 tristate "Marvell 88PM860x battery driver"
91 depends on MFD_88PM860X
92 help
93 Say Y here to enable battery monitor for Marvell 88PM860x chip.
94
95config CHARGER_ADP5061
96 tristate "ADP5061 battery charger driver"
97 depends on I2C
98 select REGMAP_I2C
99 help
100 Say Y here to enable support for the ADP5061 standalone battery
101 charger.
102
103 This driver can be built as a module. If so, the module will be
104 called adp5061.
105
106config BATTERY_ACT8945A
107 tristate "Active-semi ACT8945A charger driver"
108 depends on MFD_ACT8945A || COMPILE_TEST
109 help
110 Say Y here to enable support for power supply provided by
111 Active-semi ActivePath ACT8945A charger.
112
113config BATTERY_CHAGALL
114 tristate "Pegatron Chagall battery driver"
115 depends on I2C
116 depends on LEDS_CLASS
117 help
118 Say Y to include support for Cypress CG7153AM IC based battery
119 fuel gauge with custom firmware found in Pegatron Chagall based
120 tablet line.
121
122 This driver can also be built as a module. If so, the module will be
123 called chagall-battery.
124
125config BATTERY_CPCAP
126 tristate "Motorola CPCAP PMIC battery driver"
127 depends on MFD_CPCAP && IIO
128 default MFD_CPCAP
129 help
130 Say Y here to enable support for battery on Motorola
131 phones and tablets such as droid 4.
132
133config BATTERY_CW2015
134 tristate "CW2015 Battery driver"
135 depends on I2C
136 select REGMAP_I2C
137 help
138 Say Y here to enable support for the cellwise cw2015
139 battery fuel gauge (used in the Pinebook Pro & others)
140
141 This driver can also be built as a module. If so, the module will be
142 called cw2015_battery.
143
144config BATTERY_DS2760
145 tristate "DS2760 battery driver (HP iPAQ & others)"
146 depends on W1
147 help
148 Say Y here to enable support for batteries with ds2760 chip.
149
150config BATTERY_DS2780
151 tristate "DS2780 battery driver"
152 depends on HAS_IOMEM
153 select W1
154 select W1_SLAVE_DS2780
155 help
156 Say Y here to enable support for batteries with ds2780 chip.
157
158config BATTERY_DS2781
159 tristate "DS2781 battery driver"
160 depends on HAS_IOMEM
161 select W1
162 select W1_SLAVE_DS2781
163 help
164 If you enable this you will have the DS2781 battery driver support.
165
166 The battery monitor chip is used in many batteries/devices
167 as the one who is responsible for charging/discharging/monitoring
168 Li+ batteries.
169
170 If you are unsure, say N.
171
172config BATTERY_DS2782
173 tristate "DS2782/DS2786 standalone gas-gauge"
174 depends on I2C
175 help
176 Say Y here to enable support for the DS2782/DS2786 standalone battery
177 gas-gauge.
178
179config BATTERY_HUAWEI_GAOKUN
180 tristate "Huawei Matebook E Go power supply"
181 depends on EC_HUAWEI_GAOKUN
182 help
183 This driver enables battery and adapter support on the Huawei Matebook
184 E Go, which is a sc8280xp-based 2-in-1 tablet.
185
186 To compile the driver as a module, choose M here: the module will be
187 called huawei-gaokun-battery.
188
189config BATTERY_LEGO_EV3
190 tristate "LEGO MINDSTORMS EV3 battery"
191 depends on OF && IIO && GPIOLIB && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
192 help
193 Say Y here to enable support for the LEGO MINDSTORMS EV3 battery.
194
195config BATTERY_LENOVO_YOGA_C630
196 tristate "Lenovo Yoga C630 battery"
197 depends on EC_LENOVO_YOGA_C630
198 help
199 This driver enables battery support on the Lenovo Yoga C630 laptop.
200
201 To compile the driver as a module, choose M here: the module will be
202 called lenovo_yoga_c630_battery.
203
204config BATTERY_PMU
205 tristate "Apple PMU battery"
206 depends on PPC32 && ADB_PMU
207 help
208 Say Y here to expose battery information on Apple machines
209 through the generic battery class.
210
211config BATTERY_QCOM_BATTMGR
212 tristate "Qualcomm PMIC GLINK battery manager support"
213 depends on QCOM_PMIC_GLINK
214 select AUXILIARY_BUS
215 help
216 Say Y here to enable the Qualcomm PMIC GLINK power supply driver,
217 which is used on modern Qualcomm platforms to provide battery and
218 power supply information.
219
220config BATTERY_OLPC
221 tristate "One Laptop Per Child battery"
222 depends on OLPC_EC
223 help
224 Say Y to enable support for the battery on the OLPC laptop.
225
226config BATTERY_SAMSUNG_SDI
227 bool "Samsung SDI batteries"
228 help
229 Say Y to enable support for Samsung SDI battery data.
230 These batteries are used in Samsung mobile phones.
231
232config BATTERY_COLLIE
233 tristate "Sharp SL-5500 (collie) battery"
234 depends on SA1100_COLLIE && MCP_UCB1200
235 help
236 Say Y to enable support for the battery on the Sharp Zaurus
237 SL-5500 (collie) models.
238
239config BATTERY_INGENIC
240 tristate "Ingenic JZ47xx SoCs battery driver"
241 depends on MIPS || COMPILE_TEST
242 depends on INGENIC_ADC
243 help
244 Choose this option if you want to monitor battery status on
245 Ingenic JZ47xx SoC based devices.
246
247 This driver can also be built as a module. If so, the module will be
248 called ingenic-battery.
249
250config BATTERY_INTEL_DC_TI
251 tristate "Intel Bay / Cherry Trail Dollar Cove TI battery driver"
252 depends on INTEL_SOC_PMIC_CHTDC_TI && INTEL_DC_TI_ADC && IIO && ACPI
253 select ADC_BATTERY_HELPER
254 help
255 Choose this option if you want to monitor battery status on Intel
256 Bay Trail / Cherry Trail tablets using the Dollar Cove TI PMIC's
257 coulomb-counter as fuel-gauge.
258
259 To compile this driver as a module, choose M here: the module will be
260 called intel_dc_ti_battery.
261
262config BATTERY_IPAQ_MICRO
263 tristate "iPAQ Atmel Micro ASIC battery driver"
264 depends on MFD_IPAQ_MICRO
265 help
266 Choose this option if you want to monitor battery status on
267 Compaq/HP iPAQ h3100 and h3600.
268
269config BATTERY_WM97XX
270 bool "WM97xx generic battery driver"
271 depends on TOUCHSCREEN_WM97XX=y
272 help
273 Say Y to enable support for battery measured by WM97xx aux port.
274
275config BATTERY_SBS
276 tristate "SBS Compliant gas gauge"
277 depends on I2C
278 help
279 Say Y to include support for SBS battery driver for SBS-compliant
280 gas gauges.
281
282config CHARGER_SBS
283 tristate "SBS Compliant charger"
284 depends on I2C
285 select REGMAP_I2C
286 help
287 Say Y to include support for SBS compliant battery chargers.
288
289config MANAGER_SBS
290 tristate "Smart Battery System Manager"
291 depends on I2C && I2C_MUX && GPIOLIB
292 select I2C_SMBUS
293 help
294 Say Y here to include support for Smart Battery System Manager
295 ICs. The driver reports online and charging status via sysfs.
296 It presents itself also as I2C mux which allows to bind
297 smart battery driver to its ports.
298 Supported is for example LTC1760.
299
300 This driver can also be built as a module. If so, the module will be
301 called sbs-manager.
302
303config BATTERY_BQ27XXX
304 tristate "BQ27xxx battery driver"
305 help
306 Say Y here to enable support for batteries with BQ27xxx chips.
307
308config BATTERY_BQ27XXX_I2C
309 tristate "BQ27xxx I2C support"
310 depends on BATTERY_BQ27XXX
311 depends on I2C
312 default y
313 help
314 Say Y here to enable support for batteries with BQ27xxx chips
315 connected over an I2C bus.
316
317config BATTERY_BQ27XXX_HDQ
318 tristate "BQ27xxx HDQ support"
319 depends on BATTERY_BQ27XXX
320 depends on W1
321 default y
322 help
323 Say Y here to enable support for batteries with BQ27xxx chips
324 connected over an HDQ bus.
325
326config BATTERY_BQ27XXX_DT_UPDATES_NVM
327 bool "BQ27xxx support for update of NVM/flash data memory"
328 depends on BATTERY_BQ27XXX_I2C
329 help
330 Say Y here to enable devicetree monitored-battery config to update
331 NVM/flash data memory. Only enable this option for devices with a
332 fuel gauge mounted on the circuit board, and a battery that cannot
333 easily be replaced with one of a different type. Not for
334 general-purpose kernels, as this can cause misconfiguration of a
335 smart battery with embedded NVM/flash.
336
337config BATTERY_DA9030
338 tristate "DA9030 battery driver"
339 depends on PMIC_DA903X
340 help
341 Say Y here to enable support for batteries charger integrated into
342 DA9030 PMIC.
343
344config BATTERY_DA9052
345 tristate "Dialog DA9052 Battery"
346 depends on PMIC_DA9052
347 help
348 Say Y here to enable support for batteries charger integrated into
349 DA9052 PMIC.
350
351config CHARGER_DA9150
352 tristate "Dialog Semiconductor DA9150 Charger support"
353 depends on MFD_DA9150
354 depends on DA9150_GPADC
355 depends on IIO
356 help
357 Say Y here to enable support for charger unit of the DA9150
358 Integrated Charger & Fuel-Gauge IC.
359
360 This driver can also be built as a module. If so, the module will be
361 called da9150-charger.
362
363config BATTERY_DA9150
364 tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
365 depends on MFD_DA9150
366 help
367 Say Y here to enable support for the Fuel-Gauge unit of the DA9150
368 Integrated Charger & Fuel-Gauge IC
369
370 This driver can also be built as a module. If so, the module will be
371 called da9150-fg.
372
373config CHARGER_AXP20X
374 tristate "X-Powers AXP20X and AXP22X AC power supply driver"
375 depends on MFD_AXP20X
376 depends on AXP20X_ADC
377 depends on IIO
378 help
379 Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC
380 power supply.
381
382 This driver can also be built as a module. If so, the module will be
383 called axp20x_ac_power.
384
385config BATTERY_AXP20X
386 tristate "X-Powers AXP20X battery driver"
387 depends on MFD_AXP20X
388 depends on AXP20X_ADC
389 depends on IIO
390 help
391 Say Y here to enable support for X-Powers AXP20X PMICs' battery power
392 supply.
393
394 This driver can also be built as a module. If so, the module will be
395 called axp20x_battery.
396
397config AXP20X_POWER
398 tristate "AXP20x power supply driver"
399 depends on MFD_AXP20X
400 depends on IIO
401 help
402 This driver provides support for the power supply features of
403 AXP20x PMIC.
404
405config AXP288_CHARGER
406 tristate "X-Powers AXP288 Charger"
407 depends on MFD_AXP20X && EXTCON_AXP288 && IOSF_MBI && ACPI
408 help
409 Say yes here to have support X-Power AXP288 power management IC (PMIC)
410 integrated charger.
411
412config AXP288_FUEL_GAUGE
413 tristate "X-Powers AXP288 Fuel Gauge"
414 depends on MFD_AXP20X && IIO && IOSF_MBI && ACPI
415 help
416 Say yes here to have support for X-Power power management IC (PMIC)
417 Fuel Gauge. The device provides battery statistics and status
418 monitoring as well as alerts for battery over/under voltage and
419 over/under temperature.
420
421config BATTERY_MAX17040
422 tristate "Maxim MAX17040/17041/17043 family Fuel Gauge"
423 depends on I2C && IIO
424 select REGMAP_I2C
425 help
426 Driver supports Maxim fuel-gauge systems for lithium-ion (Li+)
427 batteries used mainly in handheld and portable equipment.
428 Supported devices: max17040, max17041, max17043, max17044, max17048,
429 max17049, max17058, max17059, max77836.
430
431 Driver supports reporting SOC (State of Charge, i.e capacity),
432 voltage and configurable low-SOC wakeup interrupt.
433
434 Driver can be build as a module (max17040_battery).
435
436config BATTERY_MAX17042
437 tristate "Maxim MAX17042/17047/17050/8997/8966 family Fuel Gauge"
438 depends on I2C
439 select REGMAP_I2C
440 help
441 MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
442 in handheld and portable equipment. The MAX17042 is configured
443 to operate with a single lithium cell. MAX8997 and MAX8966 are
444 multi-function devices that include fuel gauages that are compatible
445 with MAX17042.
446 Supported devices: max8966, max8997, max17042, max17047, max17050,
447 max17055, max77693, max77849.
448
449 Driver can be build as a module (max17042_battery).
450
451config BATTERY_MAX1720X
452 tristate "Maxim MAX17201/MAX17205 Fuel Gauge"
453 depends on I2C
454 select REGMAP_I2C
455 help
456 MAX1720x is a family of fuel-gauge systems for lithium-ion (Li+)
457 batteries in handheld and portable equipment. MAX17201 are
458 configured to operate with a single lithium cell, the MAX17205
459 can operate with multiple cells.
460
461 Say Y to include support for the MAX17201/MAX17205 Fuel Gauges.
462
463config BATTERY_MAX1721X
464 tristate "MAX17211/MAX17215 standalone gas-gauge"
465 depends on W1
466 select REGMAP_W1
467 help
468 MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries
469 in handheld and portable equipment. MAX17211 used with single cell
470 battery. MAX17215 designed for muticell battery. Both them have
471 OneWire (W1) host interface.
472
473 Say Y here to enable support for the MAX17211/MAX17215 standalone
474 battery gas-gauge.
475
476config BATTERY_TWL4030_MADC
477 tristate "TWL4030 MADC battery driver"
478 depends on TWL4030_MADC
479 help
480 Say Y here to enable this dumb driver for batteries managed
481 through the TWL4030 MADC.
482
483config CHARGER_88PM860X
484 tristate "Marvell 88PM860x Charger driver"
485 depends on MFD_88PM860X && BATTERY_88PM860X
486 help
487 Say Y here to enable charger for Marvell 88PM860x chip.
488
489config CHARGER_PF1550
490 tristate "NXP PF1550 battery charger driver"
491 depends on MFD_PF1550
492 help
493 Say Y to enable support for the NXP PF1550 battery charger.
494 The device is a single cell Li-Ion/Li-Polymer battery charger for
495 portable application.
496
497 This driver can also be built as a module. If so, the module will be
498 called pf1550-charger.
499
500config BATTERY_RX51
501 tristate "Nokia RX-51 (N900) battery driver"
502 depends on TWL4030_MADC
503 help
504 Say Y here to enable support for battery information on Nokia
505 RX-51, also known as N900 tablet.
506
507config CHARGER_CPCAP
508 tristate "CPCAP PMIC Charger Driver"
509 depends on MFD_CPCAP && IIO
510 depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST)
511 default MFD_CPCAP
512 help
513 Say Y to enable support for CPCAP PMIC charger driver for Motorola
514 mobile devices such as Droid 4.
515
516config CHARGER_ISP1704
517 tristate "ISP1704 USB Charger Detection"
518 depends on USB_PHY
519 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
520 help
521 Say Y to enable support for USB Charger Detection with
522 ISP1707/ISP1704 USB transceivers.
523
524config CHARGER_MAX8903
525 tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
526 help
527 Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
528 The driver supports controlling charger-enable and current-limit
529 pins based on the status of charger connections with interrupt
530 handlers.
531
532config CHARGER_TWL4030
533 tristate "OMAP TWL4030 BCI charger driver"
534 depends on IIO && TWL4030_CORE
535 help
536 Say Y here to enable support for TWL4030 Battery Charge Interface.
537
538config CHARGER_TWL6030
539 tristate "OMAP TWL6030 BCI charger driver"
540 depends on IIO && TWL4030_CORE
541 help
542 Say Y here to enable support for TWL6030/6032 Battery Charge
543 Interface.
544
545 This driver can be build as a module. If so, the module will be
546 called twl6030_charger.
547
548config CHARGER_LP8727
549 tristate "TI/National Semiconductor LP8727 charger driver"
550 depends on I2C
551 help
552 Say Y here to enable support for LP8727 Charger Driver.
553
554config CHARGER_LP8788
555 tristate "TI LP8788 charger driver"
556 depends on MFD_LP8788
557 depends on LP8788_ADC
558 depends on IIO
559 help
560 Say Y to enable support for the LP8788 linear charger.
561
562config CHARGER_GPIO
563 tristate "GPIO charger"
564 depends on GPIOLIB || COMPILE_TEST
565 help
566 Say Y to include support for chargers which report their online status
567 through a GPIO pin.
568
569 This driver can be build as a module. If so, the module will be
570 called gpio-charger.
571
572config CHARGER_MANAGER
573 tristate "Battery charger manager for multiple chargers"
574 depends on REGULATOR
575 select EXTCON
576 help
577 Say Y to enable charger-manager support, which allows multiple
578 chargers attached to a battery and multiple batteries attached to a
579 system. The charger-manager also can monitor charging status in
580 runtime and in suspend-to-RAM by waking up the system periodically
581 with help of suspend_again support.
582
583config CHARGER_LT3651
584 tristate "Analog Devices LT3651 charger"
585 depends on GPIOLIB
586 help
587 Say Y to include support for the Analog Devices (Linear Technology)
588 LT3651 battery charger which reports its status via GPIO lines.
589
590config CHARGER_LTC4162L
591 tristate "LTC4162-L charger"
592 depends on I2C
593 select REGMAP_I2C
594 help
595 Say Y to include support for the Analog Devices (Linear Technology)
596 LTC4162-L battery charger connected to I2C.
597
598config CHARGER_MAX14577
599 tristate "Maxim MAX14577/77836 battery charger driver"
600 depends on MFD_MAX14577
601 help
602 Say Y to enable support for the battery charger control sysfs and
603 platform data of MAX14577/77836 MUICs.
604
605config CHARGER_DETECTOR_MAX14656
606 tristate "Maxim MAX14656 USB charger detector"
607 depends on I2C
608 depends on OF
609 help
610 Say Y to enable support for the Maxim MAX14656 USB charger detector.
611 The device is compliant with the USB Battery Charging Specification
612 Revision 1.2 and can be found e.g. in Kindle 4/5th generation
613 readers and certain LG devices.
614
615config CHARGER_MAX77650
616 tristate "Maxim MAX77650 battery charger driver"
617 depends on MFD_MAX77650
618 help
619 Say Y to enable support for the battery charger control of MAX77650
620 PMICs.
621
622config CHARGER_MAX77693
623 tristate "Maxim MAX77693 battery charger driver"
624 depends on MFD_MAX77693
625 help
626 Say Y to enable support for the Maxim MAX77693 battery charger.
627
628config CHARGER_MAX77705
629 tristate "Maxim MAX77705 battery charger driver"
630 depends on MFD_MAX77705
631 help
632 Say Y to enable support for the Maxim MAX77705 battery charger.
633
634config CHARGER_MAX77976
635 tristate "Maxim MAX77976 battery charger driver"
636 depends on I2C
637 select REGMAP_I2C
638 help
639 The Maxim MAX77976 is a 19 Vin, 5.5A 1-Cell Li+ Battery Charger
640 USB OTG support. It has an I2C interface for configuration.
641
642 Say Y to enable support for the Maxim MAX77976 battery charger.
643 This driver can also be built as a module. If so, the module will be
644 called max77976_charger.
645
646config CHARGER_MAX8971
647 tristate "Maxim MAX8971 battery charger driver"
648 depends on I2C
649 depends on EXTCON || !EXTCON
650 select REGMAP_I2C
651 help
652 The MAX8971 is a compact, high-frequency, high-efficiency switch-mode
653 charger for a one-cell lithium-ion (Li+) battery. It delivers up to
654 1.55A of current to the battery from inputs up to 7.5V and withstands
655 transient inputs up to 22V.
656
657 Say Y to enable support for the Maxim MAX8971 battery charger.
658 This driver can also be built as a module. If so, the module will be
659 called max8971_charger.
660
661config CHARGER_MAX8997
662 tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
663 depends on MFD_MAX8997 && REGULATOR_MAX8997
664 depends on EXTCON || !EXTCON
665 help
666 Say Y to enable support for the battery charger control sysfs and
667 platform data of MAX8997/LP3974 PMICs.
668
669config CHARGER_MAX8998
670 tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
671 depends on MFD_MAX8998 && REGULATOR_MAX8998
672 help
673 Say Y to enable support for the battery charger control sysfs and
674 platform data of MAX8998/LP3974 PMICs.
675
676config CHARGER_MP2629
677 tristate "Monolithic power system MP2629 Battery charger"
678 depends on MFD_MP2629
679 depends on MP2629_ADC
680 depends on IIO
681 help
682 Select this option to enable support for Monolithic power system
683 Battery charger. This driver provides Battery charger power management
684 functions on the systems.
685
686config CHARGER_MT6360
687 tristate "Mediatek MT6360 Charger Driver"
688 depends on MFD_MT6360
689 depends on REGULATOR
690 select LINEAR_RANGES
691 help
692 Say Y here to enable MT6360 Charger Part.
693 The device supports High-Accuracy Voltage/Current Regulation,
694 Average Input Current Regulation, Battery Temperature Sensing,
695 Over-Temperature Protection, DPDM Detection for BC1.2.
696
697config CHARGER_MT6370
698 tristate "MediaTek MT6370 Charger Driver"
699 depends on MFD_MT6370
700 depends on REGULATOR
701 depends on IIO
702 select LINEAR_RANGES
703 help
704 Say Y here to enable MT6370 Charger Part.
705 The device supports High-Accuracy Voltage/Current Regulation,
706 Average Input Current Regulation, Battery Temperature Sensing,
707 Over-Temperature Protection, DPDM Detection for BC1.2.
708
709 This driver can also be built as a module. If so, the module
710 will be called "mt6370-charger".
711
712config CHARGER_QCOM_SMBB
713 tristate "Qualcomm Switch-Mode Battery Charger and Boost"
714 depends on MFD_SPMI_PMIC || COMPILE_TEST
715 depends on OF
716 depends on EXTCON
717 depends on REGULATOR
718 help
719 Say Y to include support for the Switch-Mode Battery Charger and
720 Boost (SMBB) hardware found in Qualcomm PM8941 PMICs. The charger
721 is an integrated, single-cell lithium-ion battery charger. DT
722 configuration is required for loading, see the devicetree
723 documentation for more detail. The base name for this driver is
724 'pm8941_charger'.
725
726config BATTERY_PM8916_BMS_VM
727 tristate "Qualcomm PM8916 BMS-VM support"
728 depends on MFD_SPMI_PMIC || COMPILE_TEST
729 help
730 Say Y to add support for Voltage Mode BMS block found in some
731 Qualcomm PMICs such as PM8916. This hardware block provides
732 battery voltage monitoring for the system.
733
734 To compile this driver as module, choose M here: the
735 module will be called pm8916_bms_vm.
736
737config CHARGER_PM8916_LBC
738 tristate "Qualcomm PM8916 Linear Battery Charger support"
739 depends on MFD_SPMI_PMIC || COMPILE_TEST
740 depends on EXTCON || !EXTCON
741 help
742 Say Y here to add support for Linear Battery Charger block
743 found in some Qualcomm PMICs such as PM8916. This hardware
744 blokc provides simple CC/CV battery charger.
745
746 To compile this driver as module, choose M here: the
747 module will be called pm8916_lbc.
748
749config CHARGER_BQ2415X
750 tristate "TI BQ2415x battery charger driver"
751 depends on I2C
752 help
753 Say Y to enable support for the TI BQ2415x battery charger
754 PMICs.
755
756 You'll need this driver to charge batteries on e.g. Nokia
757 RX-51/N900.
758
759config CHARGER_BQ24190
760 tristate "TI BQ24190 battery charger driver"
761 depends on I2C
762 depends on EXTCON
763 depends on GPIOLIB || COMPILE_TEST
764 help
765 Say Y to enable support for the TI BQ24190 battery charger.
766
767config CHARGER_BQ24257
768 tristate "TI BQ24250/24251/24257 battery charger driver"
769 depends on I2C
770 depends on GPIOLIB || COMPILE_TEST
771 select REGMAP_I2C
772 help
773 Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
774 chargers.
775
776config CHARGER_BQ24735
777 tristate "TI BQ24735 battery charger support"
778 depends on I2C
779 depends on GPIOLIB || COMPILE_TEST
780 help
781 Say Y to enable support for the TI BQ24735 battery charger.
782
783config CHARGER_BQ2515X
784 tristate "TI BQ2515X battery charger family"
785 depends on I2C
786 depends on GPIOLIB || COMPILE_TEST
787 select REGMAP_I2C
788 help
789 Say Y to enable support for the TI BQ2515X family of battery
790 charging integrated circuits. The BQ2515X are highly integrated
791 battery charge management ICs that integrate the most common
792 functions for wearable devices, namely a charger, an output voltage
793 rail, ADC for battery and system monitoring, and push-button
794 controller.
795
796config CHARGER_BQ257XX
797 tristate "TI BQ257XX battery charger family"
798 depends on MFD_BQ257XX
799 help
800 Say Y to enable support for the TI BQ257XX family of battery
801 charging integrated circuits.
802
803config CHARGER_BQ25890
804 tristate "TI BQ25890 battery charger driver"
805 depends on I2C
806 depends on GPIOLIB || COMPILE_TEST
807 select REGMAP_I2C
808 help
809 Say Y to enable support for the TI BQ25890 battery charger.
810
811config CHARGER_BQ25980
812 tristate "TI BQ25980 battery charger driver"
813 depends on I2C
814 depends on GPIOLIB || COMPILE_TEST
815 select REGMAP_I2C
816 help
817 Say Y to enable support for the TI BQ25980, BQ25975 and BQ25960
818 series of fast battery chargers.
819
820config CHARGER_BQ256XX
821 tristate "TI BQ256XX battery charger driver"
822 depends on I2C
823 depends on GPIOLIB || COMPILE_TEST
824 select REGMAP_I2C
825 help
826 Say Y to enable support for the TI BQ256XX battery chargers. The
827 BQ256XX family of devices are highly-integrated, switch-mode battery
828 charge management and system power path management devices for single
829 cell Li-ion and Li-polymer batteries.
830
831config CHARGER_RK817
832 tristate "Rockchip RK817 PMIC Battery Charger"
833 depends on MFD_RK8XX
834 help
835 Say Y to include support for Rockchip RK817 Battery Charger.
836
837config CHARGER_SMB347
838 tristate "Summit Microelectronics SMB3XX Battery Charger"
839 depends on I2C
840 depends on REGULATOR
841 select REGMAP_I2C
842 help
843 Say Y to include support for Summit Microelectronics SMB345,
844 SMB347 or SMB358 Battery Charger.
845
846config CHARGER_TPS65090
847 tristate "TPS65090 battery charger driver"
848 depends on MFD_TPS65090
849 help
850 Say Y here to enable support for battery charging with TPS65090
851 PMIC chips.
852
853config CHARGER_TPS65217
854 tristate "TPS65217 battery charger driver"
855 depends on MFD_TPS65217
856 help
857 Say Y here to enable support for battery charging with TPS65217
858 PMIC chips.
859
860config BATTERY_GAUGE_LTC2941
861 tristate "LTC2941/LTC2943 Battery Gauge Driver"
862 depends on I2C
863 help
864 Say Y here to include support for LTC2941 and LTC2943 Battery
865 Gauge IC. The driver reports the charge count continuously, and
866 measures the voltage and temperature every 10 seconds.
867
868config AB8500_BM
869 bool "AB8500 Battery Management Driver"
870 depends on AB8500_CORE && AB8500_GPADC && (IIO = y) && OF
871 select THERMAL
872 select THERMAL_OF
873 help
874 Say Y to include support for AB8500 battery management.
875
876config BATTERY_GOLDFISH
877 tristate "Goldfish battery driver"
878 depends on HAS_IOMEM
879 help
880 Say Y to enable support for the Goldfish battery and AC power
881 driver. Originated in the Android Studio Emulator (goldfish) it is
882 going to be used in other emulators.
883
884config BATTERY_RT5033
885 tristate "RT5033 fuel gauge support"
886 depends on I2C
887 select REGMAP_I2C
888 help
889 This adds support for battery fuel gauge in Richtek RT5033 PMIC.
890 The fuelgauge calculates and determines the battery state of charge
891 according to battery open circuit voltage.
892
893config CHARGER_RT5033
894 tristate "RT5033 battery charger support"
895 depends on MFD_RT5033
896 depends on EXTCON || !EXTCON
897 help
898 This adds support for battery charger in Richtek RT5033 PMIC.
899 The device supports pre-charge mode, fast charge mode and
900 constant voltage mode.
901
902config CHARGER_RT9455
903 tristate "Richtek RT9455 battery charger driver"
904 depends on I2C
905 depends on GPIOLIB || COMPILE_TEST
906 select REGMAP_I2C
907 help
908 Say Y to enable support for Richtek RT9455 battery charger.
909
910config CHARGER_RT9467
911 tristate "Richtek RT9467 Battery Charger Driver"
912 depends on I2C && GPIOLIB && REGULATOR
913 select REGMAP_I2C
914 select REGMAP_IRQ
915 select LINEAR_RANGES
916 help
917 Say Y here to enable RT9467 Battery Charger.
918 RT9467 is a switch-mode single cell Li-Ion/Li-Polymer battery charger
919 for portable applications. It integrates a synchronous PWM controller,
920 power MOSFETs, input current sensing and regulation, high-accuracy
921 voltage regulation, and charge termination. The charge current is
922 regulated through integrated sensing resistors. It also features
923 USB On-The-Go (OTG) support and integrates D+/D- pin for USB
924 host/charging port detection.
925
926 This driver can also be built as a module. If so, the module
927 will be called "rt9467-charger".
928
929config CHARGER_RT9471
930 tristate "Richtek RT9471 battery charger driver"
931 depends on I2C && GPIOLIB && REGULATOR
932 select REGMAP_I2C
933 select REGMAP_IRQ
934 select LINEAR_RANGES
935 help
936 This adds support for Richtek RT9471 battery charger. RT9471 is
937 highly-integrated switch mode battery charger which is system power
938 patch manageable device for single cell Li-Ion and Li-polymer battery.
939 It can support BC12 detection on DPDM, and current and voltage
940 regulation on both charging and boost mode.
941
942 This driver can also be built as a module. If so, the module will be
943 called rt9471.
944
945config CHARGER_RT9756
946 tristate "Richtek RT9756 smart cap divider charger driver"
947 depends on I2C
948 select REGMAP_I2C
949 select LINEAR_RANGES
950 help
951 This adds support for Richtek RT9756 smart cap divider charger driver.
952 It's a high efficiency and high charge current charger. the device
953 integrates smart cap divider topology with 9-channel high speed
954 ADCs that can provide input and output voltage, current and
955 temperature monitoring.
956
957 This driver can also be built as a module. If so, the module will be
958 called rt9756.
959
960config CHARGER_CROS_USBPD
961 tristate "ChromeOS EC based USBPD charger"
962 depends on CROS_USBPD_NOTIFY
963 help
964 Say Y here to enable ChromeOS EC based USBPD charger
965 driver. This driver gets various bits of information about
966 what is connected to USB PD ports from the EC and converts
967 that into power_supply properties.
968
969config CHARGER_CROS_PCHG
970 tristate "ChromeOS EC based peripheral charger"
971 depends on MFD_CROS_EC_DEV
972 default MFD_CROS_EC_DEV
973 help
974 Say Y here to enable ChromeOS EC based peripheral charge driver.
975 This driver gets various information about the devices connected to
976 the peripheral charge ports from the EC and converts that into
977 power_supply properties.
978
979config CHARGER_CROS_CONTROL
980 tristate "ChromeOS EC based charge control"
981 depends on MFD_CROS_EC_DEV
982 depends on ACPI_BATTERY
983 default MFD_CROS_EC_DEV
984 help
985 Say Y here to enable ChromeOS EC based battery charge control.
986 This driver can manage charge thresholds and behaviour.
987
988 This driver can also be built as a module. If so, the module will be
989 called cros_charge-control.
990
991config CHARGER_SC2731
992 tristate "Spreadtrum SC2731 charger driver"
993 depends on MFD_SC27XX_PMIC || COMPILE_TEST
994 help
995 Say Y here to enable support for battery charging with SC2731
996 PMIC chips.
997
998config FUEL_GAUGE_SC27XX
999 tristate "Spreadtrum SC27XX fuel gauge driver"
1000 depends on MFD_SC27XX_PMIC || COMPILE_TEST
1001 depends on IIO
1002 help
1003 Say Y here to enable support for fuel gauge with SC27XX
1004 PMIC chips.
1005
1006config FUEL_GAUGE_STC3117
1007 tristate "STMicroelectronics STC3117 fuel gauge driver"
1008 depends on CRC8
1009 depends on I2C
1010 select REGMAP_I2C
1011 help
1012 Say Y here to enable support for fuel gauge with STC3117
1013 chip.
1014
1015config CHARGER_UCS1002
1016 tristate "Microchip UCS1002 USB Port Power Controller"
1017 depends on I2C
1018 depends on OF
1019 depends on REGULATOR
1020 select REGMAP_I2C
1021 help
1022 Say Y to enable support for Microchip UCS1002 Programmable
1023 USB Port Power Controller with Charger Emulation.
1024
1025config CHARGER_BD71828
1026 tristate "Power-supply driver for ROHM BD71828 and BD71815 PMIC"
1027 depends on MFD_ROHM_BD71828
1028 help
1029 Say Y here to enable support for charger and battery
1030 in ROHM BD71815, BD71817, ROHM BD71828 power management
1031 ICs. This driver gets various bits of information about battery
1032 and charger states.
1033
1034config CHARGER_BD99954
1035 tristate "ROHM bd99954 charger driver"
1036 depends on I2C
1037 select LINEAR_RANGES
1038 help
1039 Say Y here to enable support for getting battery and charger
1040 information and altering charger configurations from the ROHM
1041 BD99954 charger IC.
1042
1043config CHARGER_WILCO
1044 tristate "Wilco EC based charger for ChromeOS"
1045 depends on WILCO_EC
1046 help
1047 Say Y here to enable control of the charging routines performed
1048 by the Embedded Controller on the Chromebook named Wilco. Further
1049 information can be found in
1050 Documentation/ABI/testing/sysfs-class-power-wilco
1051
1052config RN5T618_POWER
1053 tristate "RN5T618 charger/fuel gauge support"
1054 depends on MFD_RN5T618
1055 depends on RN5T618_ADC
1056 depends on IIO
1057 help
1058 Say Y here to have support for RN5T618 PMIC family fuel gauge and charger.
1059 This driver can also be built as a module. If so, the module will be
1060 called rn5t618_power.
1061
1062config BATTERY_ACER_A500
1063 tristate "Acer Iconia Tab A500 battery driver"
1064 depends on MFD_ACER_A500_EC
1065 help
1066 Say Y to include support for Acer Iconia Tab A500 battery fuel gauge.
1067
1068config BATTERY_SURFACE
1069 tristate "Battery driver for 7th-generation Microsoft Surface devices"
1070 depends on SURFACE_AGGREGATOR_REGISTRY
1071 help
1072 Driver for battery devices connected via/managed by the Surface System
1073 Aggregator Module (SSAM).
1074
1075 This driver provides battery-information and -status support for
1076 Surface devices where said data is not exposed via the standard ACPI
1077 devices. On those models (7th-generation), battery-information is
1078 instead handled directly via SSAM client devices and this driver.
1079
1080 Say M or Y here to include battery status support for 7th-generation
1081 Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
1082 Surface Book 3, and Surface Laptop Go.
1083
1084config CHARGER_SURFACE
1085 tristate "AC driver for 7th-generation Microsoft Surface devices"
1086 depends on SURFACE_AGGREGATOR_REGISTRY
1087 help
1088 Driver for AC devices connected via/managed by the Surface System
1089 Aggregator Module (SSAM).
1090
1091 This driver provides AC-information and -status support for Surface
1092 devices where said data is not exposed via the standard ACPI devices.
1093 On those models (7th-generation), AC-information is instead handled
1094 directly via a SSAM client device and this driver.
1095
1096 Say M or Y here to include AC status support for 7th-generation
1097 Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3,
1098 Surface Book 3, and Surface Laptop Go.
1099
1100config BATTERY_UG3105
1101 tristate "uPI uG3105 battery monitor driver"
1102 depends on I2C
1103 select ADC_BATTERY_HELPER
1104 help
1105 Battery monitor driver for the uPI uG3105 battery monitor.
1106
1107 Note the uG3105 is not a full-featured autonomous fuel-gauge. Instead
1108 it is expected to be use in combination with some always on
1109 microcontroller reading its coulomb-counter before it can wrap
1110 (it must be read every 400 seconds!).
1111
1112 Since Linux does not monitor coulomb-counter changes while the
1113 device is off or suspended, the functionality of this driver is
1114 limited to reporting capacity only.
1115
1116config CHARGER_QCOM_SMB2
1117 tristate "Qualcomm PMI8998 PMIC charger driver"
1118 depends on MFD_SPMI_PMIC
1119 depends on IIO
1120 help
1121 Say Y here to enable the Qualcomm PMIC Charger driver. This
1122 adds support for the SMB2 switch mode battery charger found
1123 in PMI8998 and related PMICs.
1124
1125config FUEL_GAUGE_MM8013
1126 tristate "Mitsumi MM8013 fuel gauge driver"
1127 depends on I2C
1128 select REGMAP_I2C
1129 help
1130 Say Y here to enable the Mitsumi MM8013 fuel gauge driver.
1131 It enables the monitoring of many battery parameters, including
1132 the state of charge, temperature, cycle count, actual and design
1133 capacity, etc.
1134
1135endif # POWER_SUPPLY