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_BQ25630 843 tristate "TI BQ25630 battery charger driver" 844 depends on I2C 845 select REGMAP_I2C 846 help 847 Say Y to enable support for the TI BQ25630 battery charger. 848 849config CHARGER_BQ256XX 850 tristate "TI BQ256XX battery charger driver" 851 depends on I2C 852 depends on GPIOLIB || COMPILE_TEST 853 select REGMAP_I2C 854 help 855 Say Y to enable support for the TI BQ256XX battery chargers. The 856 BQ256XX family of devices are highly-integrated, switch-mode battery 857 charge management and system power path management devices for single 858 cell Li-ion and Li-polymer batteries. 859 860config CHARGER_RK817 861 tristate "Rockchip RK817 PMIC Battery Charger" 862 depends on MFD_RK8XX 863 help 864 Say Y to include support for Rockchip RK817 Battery Charger. 865 866config CHARGER_S2M 867 tristate "Samsung S2M series PMIC battery charger support" 868 depends on EXTCON_S2M 869 depends on MFD_SEC_CORE 870 help 871 This option enables support for charger devices found in 872 certain Samsung S2M series PMICs, such as the S2MU005. These 873 devices provide USB power supply information and also required 874 for USB OTG role switching. 875 876config CHARGER_SGM41542 877 tristate "SGM41542 charger driver" 878 depends on I2C 879 depends on GPIOLIB || COMPILE_TEST 880 depends on REGULATOR 881 select REGMAP_I2C 882 help 883 Say Y to enable support for the SGM41542 battery charger. 884 885config CHARGER_SMB347 886 tristate "Summit Microelectronics SMB3XX Battery Charger" 887 depends on I2C 888 depends on REGULATOR 889 select REGMAP_I2C 890 help 891 Say Y to include support for Summit Microelectronics SMB345, 892 SMB347 or SMB358 Battery Charger. 893 894config CHARGER_TPS65090 895 tristate "TPS65090 battery charger driver" 896 depends on MFD_TPS65090 897 help 898 Say Y here to enable support for battery charging with TPS65090 899 PMIC chips. 900 901config CHARGER_TPS65217 902 tristate "TPS65217 battery charger driver" 903 depends on MFD_TPS65217 904 help 905 Say Y here to enable support for battery charging with TPS65217 906 PMIC chips. 907 908config BATTERY_GAUGE_LTC2941 909 tristate "LTC2941/LTC2943 Battery Gauge Driver" 910 depends on I2C 911 help 912 Say Y here to include support for LTC2941 and LTC2943 Battery 913 Gauge IC. The driver reports the charge count continuously, and 914 measures the voltage and temperature every 10 seconds. 915 916config AB8500_BM 917 bool "AB8500 Battery Management Driver" 918 depends on AB8500_CORE && AB8500_GPADC && (IIO = y) && OF 919 select THERMAL 920 select THERMAL_OF 921 help 922 Say Y to include support for AB8500 battery management. 923 924config BATTERY_GOLDFISH 925 tristate "Goldfish battery driver" 926 depends on HAS_IOMEM 927 help 928 Say Y to enable support for the Goldfish battery and AC power 929 driver. Originated in the Android Studio Emulator (goldfish) it is 930 going to be used in other emulators. 931 932config BATTERY_RT5033 933 tristate "RT5033 fuel gauge support" 934 depends on I2C 935 select REGMAP_I2C 936 help 937 This adds support for battery fuel gauge in Richtek RT5033 PMIC. 938 The fuelgauge calculates and determines the battery state of charge 939 according to battery open circuit voltage. 940 941config CHARGER_RT5033 942 tristate "RT5033 battery charger support" 943 depends on MFD_RT5033 944 depends on EXTCON || !EXTCON 945 help 946 This adds support for battery charger in Richtek RT5033 PMIC. 947 The device supports pre-charge mode, fast charge mode and 948 constant voltage mode. 949 950config CHARGER_RT9455 951 tristate "Richtek RT9455 battery charger driver" 952 depends on I2C 953 depends on GPIOLIB || COMPILE_TEST 954 select REGMAP_I2C 955 help 956 Say Y to enable support for Richtek RT9455 battery charger. 957 958config CHARGER_RT9467 959 tristate "Richtek RT9467 Battery Charger Driver" 960 depends on I2C && GPIOLIB && REGULATOR 961 select REGMAP_I2C 962 select REGMAP_IRQ 963 select LINEAR_RANGES 964 help 965 Say Y here to enable RT9467 Battery Charger. 966 RT9467 is a switch-mode single cell Li-Ion/Li-Polymer battery charger 967 for portable applications. It integrates a synchronous PWM controller, 968 power MOSFETs, input current sensing and regulation, high-accuracy 969 voltage regulation, and charge termination. The charge current is 970 regulated through integrated sensing resistors. It also features 971 USB On-The-Go (OTG) support and integrates D+/D- pin for USB 972 host/charging port detection. 973 974 This driver can also be built as a module. If so, the module 975 will be called "rt9467-charger". 976 977config CHARGER_RT9471 978 tristate "Richtek RT9471 battery charger driver" 979 depends on I2C && GPIOLIB && REGULATOR 980 select REGMAP_I2C 981 select REGMAP_IRQ 982 select LINEAR_RANGES 983 help 984 This adds support for Richtek RT9471 battery charger. RT9471 is 985 highly-integrated switch mode battery charger which is system power 986 patch manageable device for single cell Li-Ion and Li-polymer battery. 987 It can support BC12 detection on DPDM, and current and voltage 988 regulation on both charging and boost mode. 989 990 This driver can also be built as a module. If so, the module will be 991 called rt9471. 992 993config CHARGER_RT9756 994 tristate "Richtek RT9756 smart cap divider charger driver" 995 depends on I2C 996 select REGMAP_I2C 997 select LINEAR_RANGES 998 help 999 This adds support for Richtek RT9756 smart cap divider charger driver. 1000 It's a high efficiency and high charge current charger. the device 1001 integrates smart cap divider topology with 9-channel high speed 1002 ADCs that can provide input and output voltage, current and 1003 temperature monitoring. 1004 1005 This driver can also be built as a module. If so, the module will be 1006 called rt9756. 1007 1008config CHARGER_CROS_USBPD 1009 tristate "ChromeOS EC based USBPD charger" 1010 depends on CROS_USBPD_NOTIFY 1011 help 1012 Say Y here to enable ChromeOS EC based USBPD charger 1013 driver. This driver gets various bits of information about 1014 what is connected to USB PD ports from the EC and converts 1015 that into power_supply properties. 1016 1017config CHARGER_CROS_PCHG 1018 tristate "ChromeOS EC based peripheral charger" 1019 depends on MFD_CROS_EC_DEV 1020 default MFD_CROS_EC_DEV 1021 help 1022 Say Y here to enable ChromeOS EC based peripheral charge driver. 1023 This driver gets various information about the devices connected to 1024 the peripheral charge ports from the EC and converts that into 1025 power_supply properties. 1026 1027config CHARGER_CROS_CONTROL 1028 tristate "ChromeOS EC based charge control" 1029 depends on MFD_CROS_EC_DEV 1030 depends on ACPI_BATTERY 1031 default MFD_CROS_EC_DEV 1032 help 1033 Say Y here to enable ChromeOS EC based battery charge control. 1034 This driver can manage charge thresholds and behaviour. 1035 1036 This driver can also be built as a module. If so, the module will be 1037 called cros_charge-control. 1038 1039config CHARGER_SC2731 1040 tristate "Spreadtrum SC2731 charger driver" 1041 depends on MFD_SC27XX_PMIC || COMPILE_TEST 1042 help 1043 Say Y here to enable support for battery charging with SC2731 1044 PMIC chips. 1045 1046config FUEL_GAUGE_SC27XX 1047 tristate "Spreadtrum SC27XX fuel gauge driver" 1048 depends on MFD_SC27XX_PMIC || COMPILE_TEST 1049 depends on IIO 1050 help 1051 Say Y here to enable support for fuel gauge with SC27XX 1052 PMIC chips. 1053 1054config FUEL_GAUGE_STC3117 1055 tristate "STMicroelectronics STC3117 fuel gauge driver" 1056 depends on CRC8 1057 depends on I2C 1058 select REGMAP_I2C 1059 help 1060 Say Y here to enable support for fuel gauge with STC3117 1061 chip. 1062 1063config CHARGER_UCS1002 1064 tristate "Microchip UCS1002 USB Port Power Controller" 1065 depends on I2C 1066 depends on OF 1067 depends on REGULATOR 1068 select REGMAP_I2C 1069 help 1070 Say Y to enable support for Microchip UCS1002 Programmable 1071 USB Port Power Controller with Charger Emulation. 1072 1073config CHARGER_BD71828 1074 tristate "Power-supply driver for ROHM BD71828 and BD71815 PMIC" 1075 depends on MFD_ROHM_BD71828 1076 help 1077 Say Y here to enable support for charger and battery 1078 in ROHM BD71815, BD71817, ROHM BD71828 power management 1079 ICs. This driver gets various bits of information about battery 1080 and charger states. 1081 1082config CHARGER_BD99954 1083 tristate "ROHM bd99954 charger driver" 1084 depends on I2C 1085 select LINEAR_RANGES 1086 help 1087 Say Y here to enable support for getting battery and charger 1088 information and altering charger configurations from the ROHM 1089 BD99954 charger IC. 1090 1091config CHARGER_WILCO 1092 tristate "Wilco EC based charger for ChromeOS" 1093 depends on WILCO_EC 1094 help 1095 Say Y here to enable control of the charging routines performed 1096 by the Embedded Controller on the Chromebook named Wilco. Further 1097 information can be found in 1098 Documentation/ABI/testing/sysfs-class-power-wilco 1099 1100config RN5T618_POWER 1101 tristate "RN5T618 charger/fuel gauge support" 1102 depends on MFD_RN5T618 1103 depends on RN5T618_ADC 1104 depends on IIO 1105 help 1106 Say Y here to have support for RN5T618 PMIC family fuel gauge and charger. 1107 This driver can also be built as a module. If so, the module will be 1108 called rn5t618_power. 1109 1110config BATTERY_ACER_A500 1111 tristate "Acer Iconia Tab A500 battery driver" 1112 depends on MFD_ACER_A500_EC 1113 help 1114 Say Y to include support for Acer Iconia Tab A500 battery fuel gauge. 1115 1116config BATTERY_SURFACE 1117 tristate "Battery driver for 7th-generation Microsoft Surface devices" 1118 depends on SURFACE_AGGREGATOR_REGISTRY 1119 help 1120 Driver for battery devices connected via/managed by the Surface System 1121 Aggregator Module (SSAM). 1122 1123 This driver provides battery-information and -status support for 1124 Surface devices where said data is not exposed via the standard ACPI 1125 devices. On those models (7th-generation), battery-information is 1126 instead handled directly via SSAM client devices and this driver. 1127 1128 Say M or Y here to include battery status support for 7th-generation 1129 Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3, 1130 Surface Book 3, and Surface Laptop Go. 1131 1132config CHARGER_SURFACE 1133 tristate "AC driver for 7th-generation Microsoft Surface devices" 1134 depends on SURFACE_AGGREGATOR_REGISTRY 1135 help 1136 Driver for AC devices connected via/managed by the Surface System 1137 Aggregator Module (SSAM). 1138 1139 This driver provides AC-information and -status support for Surface 1140 devices where said data is not exposed via the standard ACPI devices. 1141 On those models (7th-generation), AC-information is instead handled 1142 directly via a SSAM client device and this driver. 1143 1144 Say M or Y here to include AC status support for 7th-generation 1145 Microsoft Surface devices, i.e. Surface Pro 7, Surface Laptop 3, 1146 Surface Book 3, and Surface Laptop Go. 1147 1148config BATTERY_UG3105 1149 tristate "uPI uG3105 battery monitor driver" 1150 depends on I2C 1151 select ADC_BATTERY_HELPER 1152 help 1153 Battery monitor driver for the uPI uG3105 battery monitor. 1154 1155 Note the uG3105 is not a full-featured autonomous fuel-gauge. Instead 1156 it is expected to be use in combination with some always on 1157 microcontroller reading its coulomb-counter before it can wrap 1158 (it must be read every 400 seconds!). 1159 1160 Since Linux does not monitor coulomb-counter changes while the 1161 device is off or suspended, the functionality of this driver is 1162 limited to reporting capacity only. 1163 1164config BATTERY_CHARGER_SURFACE_RT 1165 tristate "Battery & Charger driver for Microsoft Surface RT" 1166 depends on I2C && GPIOLIB 1167 help 1168 UEFI/APX driver for the 1st-generation Microsoft Surface RT 1169 battery. Driver supports reading battery properties and 1170 charger status. 1171 1172 This driver can also be built as a module. If so, the module 1173 will be called surface-rt-ec. 1174 1175config CHARGER_QCOM_SMB2 1176 tristate "Qualcomm PMI8998 PMIC charger driver" 1177 depends on MFD_SPMI_PMIC 1178 depends on IIO 1179 help 1180 Say Y here to enable the Qualcomm PMIC Charger driver. This 1181 adds support for the SMB2 switch mode battery charger found 1182 in PMI8998 and related PMICs. 1183 1184config FUEL_GAUGE_MM8013 1185 tristate "Mitsumi MM8013 fuel gauge driver" 1186 depends on I2C 1187 select REGMAP_I2C 1188 help 1189 Say Y here to enable the Mitsumi MM8013 fuel gauge driver. 1190 It enables the monitoring of many battery parameters, including 1191 the state of charge, temperature, cycle count, actual and design 1192 capacity, etc. 1193 1194config MACSMC_POWER 1195 tristate "Apple SMC Battery and Power Driver" 1196 depends on MFD_MACSMC 1197 help 1198 This driver provides support for the battery and AC adapter on 1199 Apple Silicon machines. It exposes battery telemetry (voltage, 1200 current, health) and AC adapter status through the standard Linux 1201 power supply framework. 1202 1203 Say Y or M here if you have an Apple Silicon based Mac. 1204 1205endif # POWER_SUPPLY 1206