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