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 BATTERY_RX51 490 tristate "Nokia RX-51 (N900) battery driver" 491 depends on TWL4030_MADC 492 help 493 Say Y here to enable support for battery information on Nokia 494 RX-51, also known as N900 tablet. 495 496config CHARGER_CPCAP 497 tristate "CPCAP PMIC Charger Driver" 498 depends on MFD_CPCAP && IIO 499 depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST) 500 default MFD_CPCAP 501 help 502 Say Y to enable support for CPCAP PMIC charger driver for Motorola 503 mobile devices such as Droid 4. 504 505config CHARGER_ISP1704 506 tristate "ISP1704 USB Charger Detection" 507 depends on USB_PHY 508 depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' 509 help 510 Say Y to enable support for USB Charger Detection with 511 ISP1707/ISP1704 USB transceivers. 512 513config CHARGER_MAX8903 514 tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power" 515 help 516 Say Y to enable support for the MAX8903 DC-DC charger and sysfs. 517 The driver supports controlling charger-enable and current-limit 518 pins based on the status of charger connections with interrupt 519 handlers. 520 521config CHARGER_TWL4030 522 tristate "OMAP TWL4030 BCI charger driver" 523 depends on IIO && TWL4030_CORE 524 help 525 Say Y here to enable support for TWL4030 Battery Charge Interface. 526 527config CHARGER_TWL6030 528 tristate "OMAP TWL6030 BCI charger driver" 529 depends on IIO && TWL4030_CORE 530 help 531 Say Y here to enable support for TWL6030/6032 Battery Charge 532 Interface. 533 534 This driver can be build as a module. If so, the module will be 535 called twl6030_charger. 536 537config CHARGER_LP8727 538 tristate "TI/National Semiconductor LP8727 charger driver" 539 depends on I2C 540 help 541 Say Y here to enable support for LP8727 Charger Driver. 542 543config CHARGER_LP8788 544 tristate "TI LP8788 charger driver" 545 depends on MFD_LP8788 546 depends on LP8788_ADC 547 depends on IIO 548 help 549 Say Y to enable support for the LP8788 linear charger. 550 551config CHARGER_GPIO 552 tristate "GPIO charger" 553 depends on GPIOLIB || COMPILE_TEST 554 help 555 Say Y to include support for chargers which report their online status 556 through a GPIO pin. 557 558 This driver can be build as a module. If so, the module will be 559 called gpio-charger. 560 561config CHARGER_MANAGER 562 tristate "Battery charger manager for multiple chargers" 563 depends on REGULATOR 564 select EXTCON 565 help 566 Say Y to enable charger-manager support, which allows multiple 567 chargers attached to a battery and multiple batteries attached to a 568 system. The charger-manager also can monitor charging status in 569 runtime and in suspend-to-RAM by waking up the system periodically 570 with help of suspend_again support. 571 572config CHARGER_LT3651 573 tristate "Analog Devices LT3651 charger" 574 depends on GPIOLIB 575 help 576 Say Y to include support for the Analog Devices (Linear Technology) 577 LT3651 battery charger which reports its status via GPIO lines. 578 579config CHARGER_LTC4162L 580 tristate "LTC4162-L charger" 581 depends on I2C 582 select REGMAP_I2C 583 help 584 Say Y to include support for the Analog Devices (Linear Technology) 585 LTC4162-L battery charger connected to I2C. 586 587config CHARGER_MAX14577 588 tristate "Maxim MAX14577/77836 battery charger driver" 589 depends on MFD_MAX14577 590 help 591 Say Y to enable support for the battery charger control sysfs and 592 platform data of MAX14577/77836 MUICs. 593 594config CHARGER_DETECTOR_MAX14656 595 tristate "Maxim MAX14656 USB charger detector" 596 depends on I2C 597 depends on OF 598 help 599 Say Y to enable support for the Maxim MAX14656 USB charger detector. 600 The device is compliant with the USB Battery Charging Specification 601 Revision 1.2 and can be found e.g. in Kindle 4/5th generation 602 readers and certain LG devices. 603 604config CHARGER_MAX77650 605 tristate "Maxim MAX77650 battery charger driver" 606 depends on MFD_MAX77650 607 help 608 Say Y to enable support for the battery charger control of MAX77650 609 PMICs. 610 611config CHARGER_MAX77693 612 tristate "Maxim MAX77693 battery charger driver" 613 depends on MFD_MAX77693 614 help 615 Say Y to enable support for the Maxim MAX77693 battery charger. 616 617config CHARGER_MAX77705 618 tristate "Maxim MAX77705 battery charger driver" 619 depends on MFD_MAX77705 620 help 621 Say Y to enable support for the Maxim MAX77705 battery charger. 622 623config CHARGER_MAX77976 624 tristate "Maxim MAX77976 battery charger driver" 625 depends on I2C 626 select REGMAP_I2C 627 help 628 The Maxim MAX77976 is a 19 Vin, 5.5A 1-Cell Li+ Battery Charger 629 USB OTG support. It has an I2C interface for configuration. 630 631 Say Y to enable support for the Maxim MAX77976 battery charger. 632 This driver can also be built as a module. If so, the module will be 633 called max77976_charger. 634 635config CHARGER_MAX8971 636 tristate "Maxim MAX8971 battery charger driver" 637 depends on I2C 638 depends on EXTCON || !EXTCON 639 select REGMAP_I2C 640 help 641 The MAX8971 is a compact, high-frequency, high-efficiency switch-mode 642 charger for a one-cell lithium-ion (Li+) battery. It delivers up to 643 1.55A of current to the battery from inputs up to 7.5V and withstands 644 transient inputs up to 22V. 645 646 Say Y to enable support for the Maxim MAX8971 battery charger. 647 This driver can also be built as a module. If so, the module will be 648 called max8971_charger. 649 650config CHARGER_MAX8997 651 tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver" 652 depends on MFD_MAX8997 && REGULATOR_MAX8997 653 depends on EXTCON || !EXTCON 654 help 655 Say Y to enable support for the battery charger control sysfs and 656 platform data of MAX8997/LP3974 PMICs. 657 658config CHARGER_MAX8998 659 tristate "Maxim MAX8998/LP3974 PMIC battery charger driver" 660 depends on MFD_MAX8998 && REGULATOR_MAX8998 661 help 662 Say Y to enable support for the battery charger control sysfs and 663 platform data of MAX8998/LP3974 PMICs. 664 665config CHARGER_MP2629 666 tristate "Monolithic power system MP2629 Battery charger" 667 depends on MFD_MP2629 668 depends on MP2629_ADC 669 depends on IIO 670 help 671 Select this option to enable support for Monolithic power system 672 Battery charger. This driver provides Battery charger power management 673 functions on the systems. 674 675config CHARGER_MT6360 676 tristate "Mediatek MT6360 Charger Driver" 677 depends on MFD_MT6360 678 depends on REGULATOR 679 select LINEAR_RANGES 680 help 681 Say Y here to enable MT6360 Charger Part. 682 The device supports High-Accuracy Voltage/Current Regulation, 683 Average Input Current Regulation, Battery Temperature Sensing, 684 Over-Temperature Protection, DPDM Detection for BC1.2. 685 686config CHARGER_MT6370 687 tristate "MediaTek MT6370 Charger Driver" 688 depends on MFD_MT6370 689 depends on REGULATOR 690 depends on IIO 691 select LINEAR_RANGES 692 help 693 Say Y here to enable MT6370 Charger Part. 694 The device supports High-Accuracy Voltage/Current Regulation, 695 Average Input Current Regulation, Battery Temperature Sensing, 696 Over-Temperature Protection, DPDM Detection for BC1.2. 697 698 This driver can also be built as a module. If so, the module 699 will be called "mt6370-charger". 700 701config CHARGER_QCOM_SMBB 702 tristate "Qualcomm Switch-Mode Battery Charger and Boost" 703 depends on MFD_SPMI_PMIC || COMPILE_TEST 704 depends on OF 705 depends on EXTCON 706 depends on REGULATOR 707 help 708 Say Y to include support for the Switch-Mode Battery Charger and 709 Boost (SMBB) hardware found in Qualcomm PM8941 PMICs. The charger 710 is an integrated, single-cell lithium-ion battery charger. DT 711 configuration is required for loading, see the devicetree 712 documentation for more detail. The base name for this driver is 713 'pm8941_charger'. 714 715config BATTERY_PM8916_BMS_VM 716 tristate "Qualcomm PM8916 BMS-VM support" 717 depends on MFD_SPMI_PMIC || COMPILE_TEST 718 help 719 Say Y to add support for Voltage Mode BMS block found in some 720 Qualcomm PMICs such as PM8916. This hardware block provides 721 battery voltage monitoring for the system. 722 723 To compile this driver as module, choose M here: the 724 module will be called pm8916_bms_vm. 725 726config CHARGER_PM8916_LBC 727 tristate "Qualcomm PM8916 Linear Battery Charger support" 728 depends on MFD_SPMI_PMIC || COMPILE_TEST 729 depends on EXTCON || !EXTCON 730 help 731 Say Y here to add support for Linear Battery Charger block 732 found in some Qualcomm PMICs such as PM8916. This hardware 733 blokc provides simple CC/CV battery charger. 734 735 To compile this driver as module, choose M here: the 736 module will be called pm8916_lbc. 737 738config CHARGER_BQ2415X 739 tristate "TI BQ2415x battery charger driver" 740 depends on I2C 741 help 742 Say Y to enable support for the TI BQ2415x battery charger 743 PMICs. 744 745 You'll need this driver to charge batteries on e.g. Nokia 746 RX-51/N900. 747 748config CHARGER_BQ24190 749 tristate "TI BQ24190 battery charger driver" 750 depends on I2C 751 depends on EXTCON 752 depends on GPIOLIB || COMPILE_TEST 753 help 754 Say Y to enable support for the TI BQ24190 battery charger. 755 756config CHARGER_BQ24257 757 tristate "TI BQ24250/24251/24257 battery charger driver" 758 depends on I2C 759 depends on GPIOLIB || COMPILE_TEST 760 select REGMAP_I2C 761 help 762 Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery 763 chargers. 764 765config CHARGER_BQ24735 766 tristate "TI BQ24735 battery charger support" 767 depends on I2C 768 depends on GPIOLIB || COMPILE_TEST 769 help 770 Say Y to enable support for the TI BQ24735 battery charger. 771 772config CHARGER_BQ2515X 773 tristate "TI BQ2515X battery charger family" 774 depends on I2C 775 depends on GPIOLIB || COMPILE_TEST 776 select REGMAP_I2C 777 help 778 Say Y to enable support for the TI BQ2515X family of battery 779 charging integrated circuits. The BQ2515X are highly integrated 780 battery charge management ICs that integrate the most common 781 functions for wearable devices, namely a charger, an output voltage 782 rail, ADC for battery and system monitoring, and push-button 783 controller. 784 785config CHARGER_BQ257XX 786 tristate "TI BQ257XX battery charger family" 787 depends on MFD_BQ257XX 788 help 789 Say Y to enable support for the TI BQ257XX family of battery 790 charging integrated circuits. 791 792config CHARGER_BQ25890 793 tristate "TI BQ25890 battery charger driver" 794 depends on I2C 795 depends on GPIOLIB || COMPILE_TEST 796 select REGMAP_I2C 797 help 798 Say Y to enable support for the TI BQ25890 battery charger. 799 800config CHARGER_BQ25980 801 tristate "TI BQ25980 battery charger driver" 802 depends on I2C 803 depends on GPIOLIB || COMPILE_TEST 804 select REGMAP_I2C 805 help 806 Say Y to enable support for the TI BQ25980, BQ25975 and BQ25960 807 series of fast battery chargers. 808 809config CHARGER_BQ256XX 810 tristate "TI BQ256XX battery charger driver" 811 depends on I2C 812 depends on GPIOLIB || COMPILE_TEST 813 select REGMAP_I2C 814 help 815 Say Y to enable support for the TI BQ256XX battery chargers. The 816 BQ256XX family of devices are highly-integrated, switch-mode battery 817 charge management and system power path management devices for single 818 cell Li-ion and Li-polymer batteries. 819 820config CHARGER_RK817 821 tristate "Rockchip RK817 PMIC Battery Charger" 822 depends on MFD_RK8XX 823 help 824 Say Y to include support for Rockchip RK817 Battery Charger. 825 826config CHARGER_SMB347 827 tristate "Summit Microelectronics SMB3XX Battery Charger" 828 depends on I2C 829 depends on REGULATOR 830 select REGMAP_I2C 831 help 832 Say Y to include support for Summit Microelectronics SMB345, 833 SMB347 or SMB358 Battery Charger. 834 835config CHARGER_TPS65090 836 tristate "TPS65090 battery charger driver" 837 depends on MFD_TPS65090 838 help 839 Say Y here to enable support for battery charging with TPS65090 840 PMIC chips. 841 842config CHARGER_TPS65217 843 tristate "TPS65217 battery charger driver" 844 depends on MFD_TPS65217 845 help 846 Say Y here to enable support for battery charging with TPS65217 847 PMIC chips. 848 849config BATTERY_GAUGE_LTC2941 850 tristate "LTC2941/LTC2943 Battery Gauge Driver" 851 depends on I2C 852 help 853 Say Y here to include support for LTC2941 and LTC2943 Battery 854 Gauge IC. The driver reports the charge count continuously, and 855 measures the voltage and temperature every 10 seconds. 856 857config AB8500_BM 858 bool "AB8500 Battery Management Driver" 859 depends on AB8500_CORE && AB8500_GPADC && (IIO = y) && OF 860 select THERMAL 861 select THERMAL_OF 862 help 863 Say Y to include support for AB8500 battery management. 864 865config BATTERY_GOLDFISH 866 tristate "Goldfish battery driver" 867 depends on HAS_IOMEM 868 help 869 Say Y to enable support for the Goldfish battery and AC power 870 driver. Originated in the Android Studio Emulator (goldfish) it is 871 going to be used in other emulators. 872 873config BATTERY_RT5033 874 tristate "RT5033 fuel gauge support" 875 depends on I2C 876 select REGMAP_I2C 877 help 878 This adds support for battery fuel gauge in Richtek RT5033 PMIC. 879 The fuelgauge calculates and determines the battery state of charge 880 according to battery open circuit voltage. 881 882config CHARGER_RT5033 883 tristate "RT5033 battery charger support" 884 depends on MFD_RT5033 885 depends on EXTCON || !EXTCON 886 help 887 This adds support for battery charger in Richtek RT5033 PMIC. 888 The device supports pre-charge mode, fast charge mode and 889 constant voltage mode. 890 891config CHARGER_RT9455 892 tristate "Richtek RT9455 battery charger driver" 893 depends on I2C 894 depends on GPIOLIB || COMPILE_TEST 895 select REGMAP_I2C 896 help 897 Say Y to enable support for Richtek RT9455 battery charger. 898 899config CHARGER_RT9467 900 tristate "Richtek RT9467 Battery Charger Driver" 901 depends on I2C && GPIOLIB && REGULATOR 902 select REGMAP_I2C 903 select REGMAP_IRQ 904 select LINEAR_RANGES 905 help 906 Say Y here to enable RT9467 Battery Charger. 907 RT9467 is a switch-mode single cell Li-Ion/Li-Polymer battery charger 908 for portable applications. It integrates a synchronous PWM controller, 909 power MOSFETs, input current sensing and regulation, high-accuracy 910 voltage regulation, and charge termination. The charge current is 911 regulated through integrated sensing resistors. It also features 912 USB On-The-Go (OTG) support and integrates D+/D- pin for USB 913 host/charging port detection. 914 915 This driver can also be built as a module. If so, the module 916 will be called "rt9467-charger". 917 918config CHARGER_RT9471 919 tristate "Richtek RT9471 battery charger driver" 920 depends on I2C && GPIOLIB && REGULATOR 921 select REGMAP_I2C 922 select REGMAP_IRQ 923 select LINEAR_RANGES 924 help 925 This adds support for Richtek RT9471 battery charger. RT9471 is 926 highly-integrated switch mode battery charger which is system power 927 patch manageable device for single cell Li-Ion and Li-polymer battery. 928 It can support BC12 detection on DPDM, and current and voltage 929 regulation on both charging and boost mode. 930 931 This driver can also be built as a module. If so, the module will be 932 called rt9471. 933 934config CHARGER_CROS_USBPD 935 tristate "ChromeOS EC based USBPD charger" 936 depends on CROS_USBPD_NOTIFY 937 help 938 Say Y here to enable ChromeOS EC based USBPD charger 939 driver. This driver gets various bits of information about 940 what is connected to USB PD ports from the EC and converts 941 that into power_supply properties. 942 943config CHARGER_CROS_PCHG 944 tristate "ChromeOS EC based peripheral charger" 945 depends on MFD_CROS_EC_DEV 946 default MFD_CROS_EC_DEV 947 help 948 Say Y here to enable ChromeOS EC based peripheral charge driver. 949 This driver gets various information about the devices connected to 950 the peripheral charge ports from the EC and converts that into 951 power_supply properties. 952 953config CHARGER_CROS_CONTROL 954 tristate "ChromeOS EC based charge control" 955 depends on MFD_CROS_EC_DEV 956 depends on ACPI_BATTERY 957 default MFD_CROS_EC_DEV 958 help 959 Say Y here to enable ChromeOS EC based battery charge control. 960 This driver can manage charge thresholds and behaviour. 961 962 This driver can also be built as a module. If so, the module will be 963 called cros_charge-control. 964 965config CHARGER_SC2731 966 tristate "Spreadtrum SC2731 charger driver" 967 depends on MFD_SC27XX_PMIC || COMPILE_TEST 968 help 969 Say Y here to enable support for battery charging with SC2731 970 PMIC chips. 971 972config FUEL_GAUGE_SC27XX 973 tristate "Spreadtrum SC27XX fuel gauge driver" 974 depends on MFD_SC27XX_PMIC || COMPILE_TEST 975 depends on IIO 976 help 977 Say Y here to enable support for fuel gauge with SC27XX 978 PMIC chips. 979 980config FUEL_GAUGE_STC3117 981 tristate "STMicroelectronics STC3117 fuel gauge driver" 982 depends on CRC8 983 depends on I2C 984 select REGMAP_I2C 985 help 986 Say Y here to enable support for fuel gauge with STC3117 987 chip. 988 989config CHARGER_UCS1002 990 tristate "Microchip UCS1002 USB Port Power Controller" 991 depends on I2C 992 depends on OF 993 depends on REGULATOR 994 select REGMAP_I2C 995 help 996 Say Y to enable support for Microchip UCS1002 Programmable 997 USB Port Power Controller with Charger Emulation. 998 999config CHARGER_BD99954 1000 tristate "ROHM bd99954 charger driver" 1001 depends on I2C 1002 select LINEAR_RANGES 1003 help 1004 Say Y here to enable support for getting battery and charger 1005 information and altering charger configurations from the ROHM 1006 BD99954 charger IC. 1007 1008config CHARGER_WILCO 1009 tristate "Wilco EC based charger for ChromeOS" 1010 depends on WILCO_EC 1011 help 1012 Say Y here to enable control of the charging routines performed 1013 by the Embedded Controller on the Chromebook named Wilco. Further 1014 information can be found in 1015 Documentation/ABI/testing/sysfs-class-power-wilco 1016 1017config RN5T618_POWER 1018 tristate "RN5T618 charger/fuel gauge support" 1019 depends on MFD_RN5T618 1020 depends on RN5T618_ADC 1021 depends on IIO 1022 help 1023 Say Y here to have support for RN5T618 PMIC family fuel gauge and charger. 1024 This driver can also be built as a module. If so, the module will be 1025 called rn5t618_power. 1026 1027config BATTERY_ACER_A500 1028 tristate "Acer Iconia Tab A500 battery driver" 1029 depends on MFD_ACER_A500_EC 1030 help 1031 Say Y to include support for Acer Iconia Tab A500 battery fuel gauge. 1032 1033config BATTERY_SURFACE 1034 tristate "Battery driver for 7th-generation Microsoft Surface devices" 1035 depends on SURFACE_AGGREGATOR_REGISTRY 1036 help 1037 Driver for battery devices connected via/managed by the Surface System 1038 Aggregator Module (SSAM). 1039 1040 This driver provides battery-information and -status support for 1041 Surface devices where said data is not exposed via the standard ACPI 1042 devices. On those models (7th-generation), battery-information is 1043 instead handled directly via SSAM client devices and this driver. 1044 1045 Say M or Y here to include battery status support for 7th-generation 1046 Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3, 1047 Surface Book 3, and Surface Laptop Go. 1048 1049config CHARGER_SURFACE 1050 tristate "AC driver for 7th-generation Microsoft Surface devices" 1051 depends on SURFACE_AGGREGATOR_REGISTRY 1052 help 1053 Driver for AC devices connected via/managed by the Surface System 1054 Aggregator Module (SSAM). 1055 1056 This driver provides AC-information and -status support for Surface 1057 devices where said data is not exposed via the standard ACPI devices. 1058 On those models (7th-generation), AC-information is instead handled 1059 directly via a SSAM client device and this driver. 1060 1061 Say M or Y here to include AC status support for 7th-generation 1062 Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3, 1063 Surface Book 3, and Surface Laptop Go. 1064 1065config BATTERY_UG3105 1066 tristate "uPI uG3105 battery monitor driver" 1067 depends on I2C 1068 select ADC_BATTERY_HELPER 1069 help 1070 Battery monitor driver for the uPI uG3105 battery monitor. 1071 1072 Note the uG3105 is not a full-featured autonomous fuel-gauge. Instead 1073 it is expected to be use in combination with some always on 1074 microcontroller reading its coulomb-counter before it can wrap 1075 (it must be read every 400 seconds!). 1076 1077 Since Linux does not monitor coulomb-counter changes while the 1078 device is off or suspended, the functionality of this driver is 1079 limited to reporting capacity only. 1080 1081config CHARGER_QCOM_SMB2 1082 tristate "Qualcomm PMI8998 PMIC charger driver" 1083 depends on MFD_SPMI_PMIC 1084 depends on IIO 1085 help 1086 Say Y here to enable the Qualcomm PMIC Charger driver. This 1087 adds support for the SMB2 switch mode battery charger found 1088 in PMI8998 and related PMICs. 1089 1090config FUEL_GAUGE_MM8013 1091 tristate "Mitsumi MM8013 fuel gauge driver" 1092 depends on I2C 1093 select REGMAP_I2C 1094 help 1095 Say Y here to enable the Mitsumi MM8013 fuel gauge driver. 1096 It enables the monitoring of many battery parameters, including 1097 the state of charge, temperature, cycle count, actual and design 1098 capacity, etc. 1099 1100endif # POWER_SUPPLY 1101