Kconfig 31 KB

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