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