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