1===== General Properties ===== 2 3What: /sys/class/power_supply/<supply_name>/manufacturer 4Date: May 2007 5Contact: linux-pm@vger.kernel.org 6Description: 7 Reports the name of the device manufacturer. 8 9 Access: Read 10 Valid values: Represented as string 11 12What: /sys/class/power_supply/<supply_name>/model_name 13Date: May 2007 14Contact: linux-pm@vger.kernel.org 15Description: 16 Reports the name of the device model. 17 18 Access: Read 19 Valid values: Represented as string 20 21What: /sys/class/power_supply/<supply_name>/serial_number 22Date: January 2008 23Contact: linux-pm@vger.kernel.org 24Description: 25 Reports the serial number of the device. 26 27 Access: Read 28 Valid values: Represented as string 29 30What: /sys/class/power_supply/<supply_name>/type 31Date: May 2010 32Contact: linux-pm@vger.kernel.org 33Description: 34 Describes the main type of the supply. 35 36 Access: Read 37 Valid values: "Battery", "UPS", "Mains", "USB" 38 39===== Battery Properties ===== 40 41What: /sys/class/power_supply/<supply_name>/capacity 42Date: May 2007 43Contact: linux-pm@vger.kernel.org 44Description: 45 Fine grain representation of battery capacity. 46 Access: Read 47 Valid values: 0 - 100 (percent) 48 49What: /sys/class/power_supply/<supply_name>/capacity_alert_max 50Date: July 2012 51Contact: linux-pm@vger.kernel.org 52Description: 53 Maximum battery capacity trip-wire value where the supply will 54 notify user-space of the event. This is normally used for the 55 battery discharging scenario where user-space needs to know the 56 battery has dropped to an upper level so it can take 57 appropriate action (e.g. warning user that battery level is 58 low). 59 60 Access: Read, Write 61 Valid values: 0 - 100 (percent) 62 63What: /sys/class/power_supply/<supply_name>/capacity_alert_min 64Date: July 2012 65Contact: linux-pm@vger.kernel.org 66Description: 67 Minimum battery capacity trip-wire value where the supply will 68 notify user-space of the event. This is normally used for the 69 battery discharging scenario where user-space needs to know the 70 battery has dropped to a lower level so it can take 71 appropriate action (e.g. warning user that battery level is 72 critically low). 73 74 Access: Read, Write 75 Valid values: 0 - 100 (percent) 76 77What: /sys/class/power_supply/<supply_name>/capacity_level 78Date: June 2009 79Contact: linux-pm@vger.kernel.org 80Description: 81 Coarse representation of battery capacity. 82 83 Access: Read 84 Valid values: "Unknown", "Critical", "Low", "Normal", "High", 85 "Full" 86 87What: /sys/class/power_supply/<supply_name>/current_avg 88Date: May 2007 89Contact: linux-pm@vger.kernel.org 90Description: 91 Reports an average IBAT current reading for the battery, over a 92 fixed period. Normally devices will provide a fixed interval in 93 which they average readings to smooth out the reported value. 94 95 Access: Read 96 Valid values: Represented in microamps 97 98What: /sys/class/power_supply/<supply_name>/current_max 99Date: October 2010 100Contact: linux-pm@vger.kernel.org 101Description: 102 Reports the maximum IBAT current allowed into the battery. 103 104 Access: Read 105 Valid values: Represented in microamps 106 107What: /sys/class/power_supply/<supply_name>/current_now 108Date: May 2007 109Contact: linux-pm@vger.kernel.org 110Description: 111 Reports an instant, single IBAT current reading for the battery. 112 This value is not averaged/smoothed. 113 114 Access: Read 115 Valid values: Represented in microamps 116 117What: /sys/class/power_supply/<supply_name>/charge_control_limit 118Date: Oct 2012 119Contact: linux-pm@vger.kernel.org 120Description: 121 Maximum allowable charging current. Used for charge rate 122 throttling for thermal cooling or improving battery health. 123 124 Access: Read, Write 125 Valid values: Represented in microamps 126 127What: /sys/class/power_supply/<supply_name>/charge_control_limit_max 128Date: Oct 2012 129Contact: linux-pm@vger.kernel.org 130Description: 131 Maximum legal value for the charge_control_limit property. 132 133 Access: Read 134 Valid values: Represented in microamps 135 136What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold 137Date: April 2019 138Contact: linux-pm@vger.kernel.org 139Description: 140 Represents a battery percentage level, below which charging will 141 begin. 142 143 Access: Read, Write 144 Valid values: 0 - 100 (percent) 145 146What: /sys/class/power_supply/<supply_name>/charge_control_end_threshold 147Date: April 2019 148Contact: linux-pm@vger.kernel.org 149Description: 150 Represents a battery percentage level, above which charging will 151 stop. 152 153 Access: Read, Write 154 Valid values: 0 - 100 (percent) 155 156What: /sys/class/power_supply/<supply_name>/charge_type 157Date: July 2009 158Contact: linux-pm@vger.kernel.org 159Description: 160 Represents the type of charging currently being applied to the 161 battery. "Trickle", "Fast", and "Standard" all mean different 162 charging speeds. "Adaptive" means that the charger uses some 163 algorithm to adjust the charge rate dynamically, without 164 any user configuration required. "Custom" means that the charger 165 uses the charge_control_* properties as configuration for some 166 different algorithm. 167 168 Access: Read, Write 169 Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard", 170 "Adaptive", "Custom" 171 172What: /sys/class/power_supply/<supply_name>/charge_term_current 173Date: July 2014 174Contact: linux-pm@vger.kernel.org 175Description: 176 Reports the charging current value which is used to determine 177 when the battery is considered full and charging should end. 178 179 Access: Read 180 Valid values: Represented in microamps 181 182What: /sys/class/power_supply/<supply_name>/health 183Date: May 2007 184Contact: linux-pm@vger.kernel.org 185Description: 186 Reports the health of the battery or battery side of charger 187 functionality. 188 189 Access: Read 190 Valid values: "Unknown", "Good", "Overheat", "Dead", 191 "Over voltage", "Unspecified failure", "Cold", 192 "Watchdog timer expire", "Safety timer expire" 193 194What: /sys/class/power_supply/<supply_name>/precharge_current 195Date: June 2017 196Contact: linux-pm@vger.kernel.org 197Description: 198 Reports the charging current applied during pre-charging phase 199 for a battery charge cycle. 200 201 Access: Read 202 Valid values: Represented in microamps 203 204What: /sys/class/power_supply/<supply_name>/present 205Date: May 2007 206Contact: linux-pm@vger.kernel.org 207Description: 208 Reports whether a battery is present or not in the system. 209 210 Access: Read 211 Valid values: 212 0: Absent 213 1: Present 214 215What: /sys/class/power_supply/<supply_name>/status 216Date: May 2007 217Contact: linux-pm@vger.kernel.org 218Description: 219 Represents the charging status of the battery. Normally this 220 is read-only reporting although for some supplies this can be 221 used to enable/disable charging to the battery. 222 223 Access: Read, Write 224 Valid values: "Unknown", "Charging", "Discharging", 225 "Not charging", "Full" 226 227What: /sys/class/power_supply/<supply_name>/technology 228Date: May 2007 229Contact: linux-pm@vger.kernel.org 230Description: 231 Describes the battery technology supported by the supply. 232 233 Access: Read 234 Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", 235 "NiCd", "LiMn" 236 237What: /sys/class/power_supply/<supply_name>/temp 238Date: May 2007 239Contact: linux-pm@vger.kernel.org 240Description: 241 Reports the current TBAT battery temperature reading. 242 243 Access: Read 244 Valid values: Represented in 1/10 Degrees Celsius 245 246What: /sys/class/power_supply/<supply_name>/temp_alert_max 247Date: July 2012 248Contact: linux-pm@vger.kernel.org 249Description: 250 Maximum TBAT temperature trip-wire value where the supply will 251 notify user-space of the event. This is normally used for the 252 battery charging scenario where user-space needs to know the 253 battery temperature has crossed an upper threshold so it can 254 take appropriate action (e.g. warning user that battery level is 255 critically high, and charging has stopped). 256 257 Access: Read 258 Valid values: Represented in 1/10 Degrees Celsius 259 260What: /sys/class/power_supply/<supply_name>/temp_alert_min 261Date: July 2012 262Contact: linux-pm@vger.kernel.org 263Description: 264 Minimum TBAT temperature trip-wire value where the supply will 265 notify user-space of the event. This is normally used for the 266 battery charging scenario where user-space needs to know the 267 battery temperature has crossed a lower threshold so it can take 268 appropriate action (e.g. warning user that battery level is 269 high, and charging current has been reduced accordingly to 270 remedy the situation). 271 272 Access: Read 273 Valid values: Represented in 1/10 Degrees Celsius 274 275What: /sys/class/power_supply/<supply_name>/temp_max 276Date: July 2014 277Contact: linux-pm@vger.kernel.org 278Description: 279 Reports the maximum allowed TBAT battery temperature for 280 charging. 281 282 Access: Read 283 Valid values: Represented in 1/10 Degrees Celsius 284 285What: /sys/class/power_supply/<supply_name>/temp_min 286Date: July 2014 287Contact: linux-pm@vger.kernel.org 288Description: 289 Reports the minimum allowed TBAT battery temperature for 290 charging. 291 292 Access: Read 293 Valid values: Represented in 1/10 Degrees Celsius 294 295What: /sys/class/power_supply/<supply_name>/voltage_avg, 296Date: May 2007 297Contact: linux-pm@vger.kernel.org 298Description: 299 Reports an average VBAT voltage reading for the battery, over a 300 fixed period. Normally devices will provide a fixed interval in 301 which they average readings to smooth out the reported value. 302 303 Access: Read 304 Valid values: Represented in microvolts 305 306What: /sys/class/power_supply/<supply_name>/voltage_max, 307Date: January 2008 308Contact: linux-pm@vger.kernel.org 309Description: 310 Reports the maximum safe VBAT voltage permitted for the battery, 311 during charging. 312 313 Access: Read 314 Valid values: Represented in microvolts 315 316What: /sys/class/power_supply/<supply_name>/voltage_min, 317Date: January 2008 318Contact: linux-pm@vger.kernel.org 319Description: 320 Reports the minimum safe VBAT voltage permitted for the battery, 321 during discharging. 322 323 Access: Read 324 Valid values: Represented in microvolts 325 326What: /sys/class/power_supply/<supply_name>/voltage_now, 327Date: May 2007 328Contact: linux-pm@vger.kernel.org 329Description: 330 Reports an instant, single VBAT voltage reading for the battery. 331 This value is not averaged/smoothed. 332 333 Access: Read 334 Valid values: Represented in microvolts 335 336===== USB Properties ===== 337 338What: /sys/class/power_supply/<supply_name>/current_avg 339Date: May 2007 340Contact: linux-pm@vger.kernel.org 341Description: 342 Reports an average IBUS current reading over a fixed period. 343 Normally devices will provide a fixed interval in which they 344 average readings to smooth out the reported value. 345 346 Access: Read 347 Valid values: Represented in microamps 348 349 350What: /sys/class/power_supply/<supply_name>/current_max 351Date: October 2010 352Contact: linux-pm@vger.kernel.org 353Description: 354 Reports the maximum IBUS current the supply can support. 355 356 Access: Read 357 Valid values: Represented in microamps 358 359What: /sys/class/power_supply/<supply_name>/current_now 360Date: May 2007 361Contact: linux-pm@vger.kernel.org 362Description: 363 Reports the IBUS current supplied now. This value is generally 364 read-only reporting, unless the 'online' state of the supply 365 is set to be programmable, in which case this value can be set 366 within the reported min/max range. 367 368 Access: Read, Write 369 Valid values: Represented in microamps 370 371What: /sys/class/power_supply/<supply_name>/input_current_limit 372Date: July 2014 373Contact: linux-pm@vger.kernel.org 374Description: 375 Details the incoming IBUS current limit currently set in the 376 supply. Normally this is configured based on the type of 377 connection made (e.g. A configured SDP should output a maximum 378 of 500mA so the input current limit is set to the same value). 379 380 Access: Read, Write 381 Valid values: Represented in microamps 382 383What: /sys/class/power_supply/<supply_name>/online, 384Date: May 2007 385Contact: linux-pm@vger.kernel.org 386Description: 387 Indicates if VBUS is present for the supply. When the supply is 388 online, and the supply allows it, then it's possible to switch 389 between online states (e.g. Fixed -> Programmable for a PD_PPS 390 USB supply so voltage and current can be controlled). 391 392 Access: Read, Write 393 Valid values: 394 0: Offline 395 1: Online Fixed - Fixed Voltage Supply 396 2: Online Programmable - Programmable Voltage Supply 397 398What: /sys/class/power_supply/<supply_name>/temp 399Date: May 2007 400Contact: linux-pm@vger.kernel.org 401Description: 402 Reports the current supply temperature reading. This would 403 normally be the internal temperature of the device itself (e.g 404 TJUNC temperature of an IC) 405 406 Access: Read 407 Valid values: Represented in 1/10 Degrees Celsius 408 409What: /sys/class/power_supply/<supply_name>/temp_alert_max 410Date: July 2012 411Contact: linux-pm@vger.kernel.org 412Description: 413 Maximum supply temperature trip-wire value where the supply will 414 notify user-space of the event. This is normally used for the 415 charging scenario where user-space needs to know the supply 416 temperature has crossed an upper threshold so it can take 417 appropriate action (e.g. warning user that the supply 418 temperature is critically high, and charging has stopped to 419 remedy the situation). 420 421 Access: Read 422 Valid values: Represented in 1/10 Degrees Celsius 423 424What: /sys/class/power_supply/<supply_name>/temp_alert_min 425Date: July 2012 426Contact: linux-pm@vger.kernel.org 427Description: 428 Minimum supply temperature trip-wire value where the supply will 429 notify user-space of the event. This is normally used for the 430 charging scenario where user-space needs to know the supply 431 temperature has crossed a lower threshold so it can take 432 appropriate action (e.g. warning user that the supply 433 temperature is high, and charging current has been reduced 434 accordingly to remedy the situation). 435 436 Access: Read 437 Valid values: Represented in 1/10 Degrees Celsius 438 439What: /sys/class/power_supply/<supply_name>/temp_max 440Date: July 2014 441Contact: linux-pm@vger.kernel.org 442Description: 443 Reports the maximum allowed supply temperature for operation. 444 445 Access: Read 446 Valid values: Represented in 1/10 Degrees Celsius 447 448What: /sys/class/power_supply/<supply_name>/temp_min 449Date: July 2014 450Contact: linux-pm@vger.kernel.org 451Description: 452 Reports the mainimum allowed supply temperature for operation. 453 454 Access: Read 455 Valid values: Represented in 1/10 Degrees Celsius 456 457What: /sys/class/power_supply/<supply_name>/usb_type 458Date: March 2018 459Contact: linux-pm@vger.kernel.org 460Description: 461 Reports what type of USB connection is currently active for 462 the supply, for example it can show if USB-PD capable source 463 is attached. 464 465 Access: Read-Only 466 Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD", 467 "PD_DRP", "PD_PPS", "BrickID" 468 469What: /sys/class/power_supply/<supply_name>/voltage_max 470Date: January 2008 471Contact: linux-pm@vger.kernel.org 472Description: 473 Reports the maximum VBUS voltage the supply can support. 474 475 Access: Read 476 Valid values: Represented in microvolts 477 478What: /sys/class/power_supply/<supply_name>/voltage_min 479Date: January 2008 480Contact: linux-pm@vger.kernel.org 481Description: 482 Reports the minimum VBUS voltage the supply can support. 483 484 Access: Read 485 Valid values: Represented in microvolts 486 487What: /sys/class/power_supply/<supply_name>/voltage_now 488Date: May 2007 489Contact: linux-pm@vger.kernel.org 490Description: 491 Reports the VBUS voltage supplied now. This value is generally 492 read-only reporting, unless the 'online' state of the supply 493 is set to be programmable, in which case this value can be set 494 within the reported min/max range. 495 496 Access: Read, Write 497 Valid values: Represented in microvolts 498 499===== Device Specific Properties ===== 500 501What: /sys/class/power/ds2760-battery.*/charge_now 502Date: May 2010 503KernelVersion: 2.6.35 504Contact: Daniel Mack <daniel@caiaq.de> 505Description: 506 This file is writeable and can be used to set the current 507 coloumb counter value inside the battery monitor chip. This 508 is needed for unavoidable corrections of aging batteries. 509 A userspace daemon can monitor the battery charging logic 510 and once the counter drops out of considerable bounds, take 511 appropriate action. 512 513What: /sys/class/power/ds2760-battery.*/charge_full 514Date: May 2010 515KernelVersion: 2.6.35 516Contact: Daniel Mack <daniel@caiaq.de> 517Description: 518 This file is writeable and can be used to set the assumed 519 battery 'full level'. As batteries age, this value has to be 520 amended over time. 521 522What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer 523Date: October 2014 524KernelVersion: 3.18.0 525Contact: Krzysztof Kozlowski <krzk@kernel.org> 526Description: 527 This entry shows and sets the maximum time the max14577 528 charger operates in fast-charge mode. When the timer expires 529 the device will terminate fast-charge mode (charging current 530 will drop to 0 A) and will trigger interrupt. 531 532 Valid values: 533 - 5, 6 or 7 (hours), 534 - 0: disabled. 535 536What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer 537Date: January 2015 538KernelVersion: 3.19.0 539Contact: Krzysztof Kozlowski <krzk@kernel.org> 540Description: 541 This entry shows and sets the maximum time the max77693 542 charger operates in fast-charge mode. When the timer expires 543 the device will terminate fast-charge mode (charging current 544 will drop to 0 A) and will trigger interrupt. 545 546 Valid values: 547 - 4 - 16 (hours), step by 2 (rounded down) 548 - 0: disabled. 549 550What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current 551Date: January 2015 552KernelVersion: 3.19.0 553Contact: Krzysztof Kozlowski <krzk@kernel.org> 554Description: 555 This entry shows and sets the charging current threshold for 556 entering top-off charging mode. When charging current in fast 557 charge mode drops below this value, the charger will trigger 558 interrupt and start top-off charging mode. 559 560 Valid values: 561 - 100000 - 200000 (microamps), step by 25000 (rounded down) 562 - 200000 - 350000 (microamps), step by 50000 (rounded down) 563 - 0: disabled. 564 565What: /sys/class/power_supply/max77693-charger/device/top_off_timer 566Date: January 2015 567KernelVersion: 3.19.0 568Contact: Krzysztof Kozlowski <krzk@kernel.org> 569Description: 570 This entry shows and sets the maximum time the max77693 571 charger operates in top-off charge mode. When the timer expires 572 the device will terminate top-off charge mode (charging current 573 will drop to 0 A) and will trigger interrupt. 574 575 Valid values: 576 - 0 - 70 (minutes), step by 10 (rounded down) 577 578What: /sys/class/power_supply/bq24257-charger/ovp_voltage 579Date: October 2015 580KernelVersion: 4.4.0 581Contact: Andreas Dannenberg <dannenberg@ti.com> 582Description: 583 This entry configures the overvoltage protection feature of bq24257- 584 type charger devices. This feature protects the device and other 585 components against damage from overvoltage on the input supply. See 586 device datasheet for details. 587 588 Valid values: 589 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, 590 10500000 (all uV) 591 592What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage 593Date: October 2015 594KernelVersion: 4.4.0 595Contact: Andreas Dannenberg <dannenberg@ti.com> 596Description: 597 This entry configures the input dynamic power path management voltage of 598 bq24257-type charger devices. Once the supply drops to the configured 599 voltage, the input current limit is reduced down to prevent the further 600 drop of the supply. When the IC enters this mode, the charge current is 601 lower than the set value. See device datasheet for details. 602 603 Valid values: 604 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, 605 4760000 (all uV) 606 607What: /sys/class/power_supply/bq24257-charger/high_impedance_enable 608Date: October 2015 609KernelVersion: 4.4.0 610Contact: Andreas Dannenberg <dannenberg@ti.com> 611Description: 612 This entry allows enabling the high-impedance mode of bq24257-type 613 charger devices. If enabled, it places the charger IC into low power 614 standby mode with the switch mode controller disabled. When disabled, 615 the charger operates normally. See device datasheet for details. 616 617 Valid values: 618 - 1: enabled 619 - 0: disabled 620 621What: /sys/class/power_supply/bq24257-charger/sysoff_enable 622Date: October 2015 623KernelVersion: 4.4.0 624Contact: Andreas Dannenberg <dannenberg@ti.com> 625Description: 626 This entry allows enabling the sysoff mode of bq24257-type charger 627 devices. If enabled and the input is removed, the internal battery FET 628 is turned off in order to reduce the leakage from the BAT pin to less 629 than 1uA. Note that on some devices/systems this disconnects the battery 630 from the system. See device datasheet for details. 631 632 Valid values: 633 - 1: enabled 634 - 0: disabled 635