1**General Properties** 2 3What: /sys/class/power_supply/<supply_name>/manufacturer 4Date: May 2007 5Contact: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 33Description: 34 Describes the main type of the supply. 35 36 Access: Read 37 Valid values: "Battery", "UPS", "Mains", "USB", "Wireless" 38 39**Battery and USB properties** 40 41What: /sys/class/power_supply/<supply_name>/current_avg 42Date: May 2007 43Contact: [email protected] 44Description: 45 Battery: 46 47 Reports an average IBAT current reading for the battery, over 48 a fixed period. Normally devices will provide a fixed interval 49 in which they average readings to smooth out the reported 50 value. 51 52 USB: 53 54 Reports an average IBUS current reading over a fixed period. 55 Normally devices will provide a fixed interval in which they 56 average readings to smooth out the reported value. 57 58 Access: Read 59 60 Valid values: Represented in microamps. Negative values are 61 used for discharging batteries, positive values for charging 62 batteries and for USB IBUS current. 63 64What: /sys/class/power_supply/<supply_name>/current_max 65Date: October 2010 66Contact: [email protected] 67Description: 68 Battery: 69 70 Reports the maximum IBAT current allowed into the battery. 71 72 USB: 73 74 Reports the maximum IBUS current the supply can support. 75 76 Access: Read 77 Valid values: Represented in microamps 78 79What: /sys/class/power_supply/<supply_name>/current_now 80Date: May 2007 81Contact: [email protected] 82Description: 83 84 Battery: 85 86 Reports an instant, single IBAT current reading for the 87 battery. This value is not averaged/smoothed. 88 89 Access: Read 90 91 USB: 92 93 Reports the IBUS current supplied now. This value is generally 94 read-only reporting, unless the 'online' state of the supply 95 is set to be programmable, in which case this value can be set 96 within the reported min/max range. 97 98 Access: Read, Write 99 100 Valid values: Represented in microamps. Negative values are 101 used for discharging batteries, positive values for charging 102 batteries and for USB IBUS current. 103 104What: /sys/class/power_supply/<supply_name>/temp 105Date: May 2007 106Contact: [email protected] 107Description: 108 Battery: 109 110 Reports the current TBAT battery temperature reading. 111 112 USB: 113 114 Reports the current supply temperature reading. This would 115 normally be the internal temperature of the device itself 116 (e.g TJUNC temperature of an IC) 117 118 Access: Read 119 120 Valid values: Represented in 1/10 Degrees Celsius 121 122What: /sys/class/power_supply/<supply_name>/temp_alert_max 123Date: July 2012 124Contact: [email protected] 125Description: 126 Battery: 127 128 Maximum TBAT temperature trip-wire value where the supply will 129 notify user-space of the event. 130 131 USB: 132 133 Maximum supply temperature trip-wire value where the supply 134 will notify user-space of the event. 135 136 This is normally used for the charging scenario where 137 user-space needs to know if the temperature has crossed an 138 upper threshold so it can take appropriate action (e.g. warning 139 user that the temperature is critically high, and charging has 140 stopped). 141 142 Access: Read 143 144 Valid values: Represented in 1/10 Degrees Celsius 145 146What: /sys/class/power_supply/<supply_name>/temp_alert_min 147Date: July 2012 148Contact: [email protected] 149Description: 150 151 Battery: 152 153 Minimum TBAT temperature trip-wire value where the supply will 154 notify user-space of the event. 155 156 USB: 157 158 Minimum supply temperature trip-wire value where the supply 159 will notify user-space of the event. 160 161 This is normally used for the charging scenario where user-space 162 needs to know if the temperature has crossed a lower threshold 163 so it can take appropriate action (e.g. warning user that 164 temperature level is high, and charging current has been 165 reduced accordingly to remedy the situation). 166 167 Access: Read 168 169 Valid values: Represented in 1/10 Degrees Celsius 170 171What: /sys/class/power_supply/<supply_name>/temp_max 172Date: July 2014 173Contact: [email protected] 174Description: 175 Battery: 176 177 Reports the maximum allowed TBAT battery temperature for 178 charging. 179 180 USB: 181 182 Reports the maximum allowed supply temperature for operation. 183 184 Access: Read 185 186 Valid values: Represented in 1/10 Degrees Celsius 187 188What: /sys/class/power_supply/<supply_name>/temp_min 189Date: July 2014 190Contact: [email protected] 191Description: 192 Battery: 193 194 Reports the minimum allowed TBAT battery temperature for 195 charging. 196 197 USB: 198 199 Reports the minimum allowed supply temperature for operation. 200 201 Access: Read 202 203 Valid values: Represented in 1/10 Degrees Celsius 204 205What: /sys/class/power_supply/<supply_name>/voltage_max, 206Date: January 2008 207Contact: [email protected] 208Description: 209 Battery: 210 211 Reports the maximum safe VBAT voltage permitted for the 212 battery, during charging. 213 214 USB: 215 216 Reports the maximum VBUS voltage the supply can support. 217 218 Access: Read 219 220 Valid values: Represented in microvolts 221 222What: /sys/class/power_supply/<supply_name>/voltage_min, 223Date: January 2008 224Contact: [email protected] 225Description: 226 Battery: 227 228 Reports the minimum safe VBAT voltage permitted for the 229 battery, during discharging. 230 231 USB: 232 233 Reports the minimum VBUS voltage the supply can support. 234 235 Access: Read 236 237 Valid values: Represented in microvolts 238 239What: /sys/class/power_supply/<supply_name>/voltage_now, 240Date: May 2007 241Contact: [email protected] 242Description: 243 Battery: 244 245 Reports an instant, single VBAT voltage reading for the 246 battery. This value is not averaged/smoothed. 247 248 Access: Read 249 250 USB: 251 252 Reports the VBUS voltage supplied now. This value is generally 253 read-only reporting, unless the 'online' state of the supply 254 is set to be programmable, in which case this value can be set 255 within the reported min/max range. 256 257 Access: Read, Write 258 259 Valid values: Represented in microvolts 260 261**Battery Properties** 262 263What: /sys/class/power_supply/<supply_name>/capacity 264Date: May 2007 265Contact: [email protected] 266Description: 267 Fine grain representation of battery capacity. 268 269 Access: Read 270 271 Valid values: 0 - 100 (percent) 272 273What: /sys/class/power_supply/<supply_name>/capacity_alert_max 274Date: July 2012 275Contact: [email protected] 276Description: 277 Maximum battery capacity trip-wire value where the supply will 278 notify user-space of the event. This is normally used for the 279 battery discharging scenario where user-space needs to know the 280 battery has dropped to an upper level so it can take 281 appropriate action (e.g. warning user that battery level is 282 low). 283 284 Access: Read, Write 285 286 Valid values: 0 - 100 (percent) 287 288What: /sys/class/power_supply/<supply_name>/capacity_alert_min 289Date: July 2012 290Contact: [email protected] 291Description: 292 Minimum battery capacity trip-wire value where the supply will 293 notify user-space of the event. This is normally used for the 294 battery discharging scenario where user-space needs to know the 295 battery has dropped to a lower level so it can take 296 appropriate action (e.g. warning user that battery level is 297 critically low). 298 299 Access: Read, Write 300 301 Valid values: 0 - 100 (percent) 302 303What: /sys/class/power_supply/<supply_name>/capacity_error_margin 304Date: April 2019 305Contact: [email protected] 306Description: 307 Battery capacity measurement becomes unreliable without 308 recalibration. This values provides the maximum error 309 margin expected to exist by the fuel gauge in percent. 310 Values close to 0% will be returned after (re-)calibration 311 has happened. Over time the error margin will increase. 312 100% means, that the capacity related values are basically 313 completely useless. 314 315 Access: Read 316 317 Valid values: 0 - 100 (percent) 318 319What: /sys/class/power_supply/<supply_name>/capacity_level 320Date: June 2009 321Contact: [email protected] 322Description: 323 Coarse representation of battery capacity. 324 325 Access: Read 326 327 Valid values: 328 "Unknown", "Critical", "Low", "Normal", "High", 329 "Full" 330 331What: /sys/class/power_supply/<supply_name>/charge_control_limit 332Date: Oct 2012 333Contact: [email protected] 334Description: 335 Maximum allowable charging current. Used for charge rate 336 throttling for thermal cooling or improving battery health. 337 338 Access: Read, Write 339 340 Valid values: Represented in microamps 341 342What: /sys/class/power_supply/<supply_name>/charge_control_limit_max 343Date: Oct 2012 344Contact: [email protected] 345Description: 346 Maximum legal value for the charge_control_limit property. 347 348 Access: Read 349 350 Valid values: Represented in microamps 351 352What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold 353Date: April 2019 354Contact: [email protected] 355Description: 356 Represents a battery percentage level, below which charging will 357 begin. 358 359 Access: Read, Write 360 Valid values: 0 - 100 (percent) 361 362What: /sys/class/power_supply/<supply_name>/charge_control_end_threshold 363Date: April 2019 364Contact: [email protected] 365Description: 366 Represents a battery percentage level, above which charging will 367 stop. Not all hardware is capable of setting this to an arbitrary 368 percentage. Drivers will round written values to the nearest 369 supported value. Reading back the value will show the actual 370 threshold set by the driver. 371 372 Access: Read, Write 373 374 Valid values: 0 - 100 (percent) 375 376What: /sys/class/power_supply/<supply_name>/charge_type 377Date: July 2009 378Contact: [email protected] 379Description: 380 Select the charging algorithm to use for a battery. 381 382 Standard: 383 Fully charge the battery at a moderate rate. 384 Fast: 385 Quickly charge the battery using fast-charge 386 technology. This is typically harder on the battery 387 than standard charging and may lower its lifespan. 388 Trickle: 389 Users who primarily operate the system while 390 plugged into an external power source can extend 391 battery life with this mode. Vendor tooling may 392 call this "Primarily AC Use". 393 Adaptive: 394 Automatically optimize battery charge rate based 395 on typical usage pattern. 396 Custom: 397 Use the charge_control_* properties to determine 398 when to start and stop charging. Advanced users 399 can use this to drastically extend battery life. 400 Long Life: 401 The charger reduces its charging rate in order to 402 prolong the battery health. 403 Bypass: 404 The charger bypasses the charging path around the 405 integrated converter allowing for a "smart" wall 406 adaptor to perform the power conversion externally. 407 408 Access: Read, Write 409 410 Reading this returns the current active value, e.g. 'Standard'. 411 Check charge_types to get the values supported by the battery. 412 413 Valid values: 414 "Unknown", "N/A", "Trickle", "Fast", "Standard", 415 "Adaptive", "Custom", "Long Life", "Bypass" 416 417What: /sys/class/power_supply/<supply_name>/charge_types 418Date: December 2024 419Contact: [email protected] 420Description: 421 Identical to charge_type but reading returns a list of supported 422 charge-types with the currently active type surrounded by square 423 brackets, e.g.: "Fast [Standard] Long_Life". 424 425 power_supply class devices may support both charge_type and 426 charge_types for backward compatibility. In this case both will 427 always have the same active value and the active value can be 428 changed by writing either property. 429 430 Note charge-types which contain a space such as "Long Life" will 431 have the space replaced by a '_' resulting in e.g. "Long_Life". 432 When writing charge-types both variants are accepted. 433 434What: /sys/class/power_supply/<supply_name>/charge_term_current 435Date: July 2014 436Contact: [email protected] 437Description: 438 Reports the charging current value which is used to determine 439 when the battery is considered full and charging should end. 440 441 Access: Read 442 443 Valid values: Represented in microamps 444 445What: /sys/class/power_supply/<supply_name>/health 446Date: May 2007 447Contact: [email protected] 448Description: 449 Reports the health of the battery or battery side of charger 450 functionality. 451 452 Access: Read 453 454 Valid values: 455 "Unknown", "Good", "Overheat", "Dead", 456 "Over voltage", "Under voltage", "Unspecified failure", "Cold", 457 "Watchdog timer expire", "Safety timer expire", 458 "Over current", "Calibration required", "Warm", 459 "Cool", "Hot", "No battery" 460 461What: /sys/class/power_supply/<supply_name>/precharge_current 462Date: June 2017 463Contact: [email protected] 464Description: 465 Reports the charging current applied during pre-charging phase 466 for a battery charge cycle. 467 468 Access: Read 469 470 Valid values: Represented in microamps 471 472What: /sys/class/power_supply/<supply_name>/present 473Date: May 2007 474Contact: [email protected] 475Description: 476 Reports whether a battery is present or not in the system. If the 477 property does not exist, the battery is considered to be present. 478 479 Access: Read 480 481 Valid values: 482 483 == ======= 484 0: Absent 485 1: Present 486 == ======= 487 488What: /sys/class/power_supply/<supply_name>/status 489Date: May 2007 490Contact: [email protected] 491Description: 492 Represents the charging status of the battery. Normally this 493 is read-only reporting although for some supplies this can be 494 used to enable/disable charging to the battery. 495 496 Access: Read, Write 497 498 Valid values: 499 "Unknown", "Charging", "Discharging", 500 "Not charging", "Full" 501 502What: /sys/class/power_supply/<supply_name>/charge_behaviour 503Date: November 2021 504Contact: [email protected] 505Description: 506 Represents the charging behaviour. 507 508 Access: Read, Write 509 510 Valid values: 511 ================ ==================================== 512 auto: Charge normally, respect thresholds 513 inhibit-charge: Do not charge while AC is attached 514 force-discharge: Force discharge while AC is attached 515 ================ ==================================== 516 517What: /sys/class/power_supply/<supply_name>/technology 518Date: May 2007 519Contact: [email protected] 520Description: 521 Describes the battery technology supported by the supply. 522 523 Access: Read 524 525 Valid values: 526 "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", 527 "NiCd", "LiMn" 528 529 530What: /sys/class/power_supply/<supply_name>/voltage_avg, 531Date: May 2007 532Contact: [email protected] 533Description: 534 Reports an average VBAT voltage reading for the battery, over a 535 fixed period. Normally devices will provide a fixed interval in 536 which they average readings to smooth out the reported value. 537 538 Access: Read 539 540 Valid values: Represented in microvolts 541 542What: /sys/class/power_supply/<supply_name>/cycle_count 543Date: January 2010 544Contact: [email protected] 545Description: 546 Reports the number of full charge + discharge cycles the 547 battery has undergone. 548 549 Access: Read 550 551 Valid values: 552 Integer > 0: representing full cycles 553 Integer = 0: cycle_count info is not available 554 555**USB Properties** 556 557What: /sys/class/power_supply/<supply_name>/input_current_limit 558Date: July 2014 559Contact: [email protected] 560Description: 561 Details the incoming IBUS current limit currently set in the 562 supply. Normally this is configured based on the type of 563 connection made (e.g. A configured SDP should output a maximum 564 of 500mA so the input current limit is set to the same value). 565 Use preferably input_power_limit, and for problems that can be 566 solved using power limit use input_current_limit. 567 568 Access: Read, Write 569 570 Valid values: Represented in microamps 571 572What: /sys/class/power_supply/<supply_name>/input_voltage_limit 573Date: May 2019 574Contact: [email protected] 575Description: 576 This entry configures the incoming VBUS voltage limit currently 577 set in the supply. Normally this is configured based on 578 system-level knowledge or user input (e.g. This is part of the 579 Pixel C's thermal management strategy to effectively limit the 580 input power to 5V when the screen is on to meet Google's skin 581 temperature targets). Note that this feature should not be 582 used for safety critical things. 583 Use preferably input_power_limit, and for problems that can be 584 solved using power limit use input_voltage_limit. 585 586 Access: Read, Write 587 588 Valid values: Represented in microvolts 589 590What: /sys/class/power_supply/<supply_name>/input_power_limit 591Date: May 2019 592Contact: [email protected] 593Description: 594 This entry configures the incoming power limit currently set 595 in the supply. Normally this is configured based on 596 system-level knowledge or user input. Use preferably this 597 feature to limit the incoming power and use current/voltage 598 limit only for problems that can be solved using power limit. 599 600 Access: Read, Write 601 602 Valid values: Represented in microwatts 603 604What: /sys/class/power_supply/<supply_name>/online, 605Date: May 2007 606Contact: [email protected] 607Description: 608 Indicates if VBUS is present for the supply. When the supply is 609 online, and the supply allows it, then it's possible to switch 610 between online states (e.g. Fixed -> Programmable for a PD_PPS 611 USB supply so voltage and current can be controlled). 612 613 Access: Read, Write 614 615 Valid values: 616 617 == ================================================== 618 0: Offline 619 1: Online Fixed - Fixed Voltage Supply 620 2: Online Programmable - Programmable Voltage Supply 621 == ================================================== 622 623What: /sys/class/power_supply/<supply_name>/usb_type 624Date: March 2018 625Contact: [email protected] 626Description: 627 Reports what type of USB connection is currently active for 628 the supply, for example it can show if USB-PD capable source 629 is attached. 630 631 Access: For power-supplies which consume USB power such 632 as battery charger chips, this indicates the type of 633 the connected USB power source and is Read-Only. 634 635 For power-supplies which act as a USB power-source such as 636 e.g. the UCS1002 USB Port Power Controller this is writable. 637 638 Valid values: 639 "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD", 640 "PD_DRP", "PD_PPS", "BrickID" 641 642**Device Specific Properties** 643 644What: /sys/class/power/ds2760-battery.*/charge_now 645Date: May 2010 646KernelVersion: 2.6.35 647Contact: Daniel Mack <[email protected]> 648Description: 649 This file is writeable and can be used to set the current 650 coloumb counter value inside the battery monitor chip. This 651 is needed for unavoidable corrections of aging batteries. 652 A userspace daemon can monitor the battery charging logic 653 and once the counter drops out of considerable bounds, take 654 appropriate action. 655 656What: /sys/class/power/ds2760-battery.*/charge_full 657Date: May 2010 658KernelVersion: 2.6.35 659Contact: Daniel Mack <[email protected]> 660Description: 661 This file is writeable and can be used to set the assumed 662 battery 'full level'. As batteries age, this value has to be 663 amended over time. 664 665What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer 666Date: October 2014 667KernelVersion: 3.18.0 668Contact: Krzysztof Kozlowski <[email protected]> 669Description: 670 This entry shows and sets the maximum time the max14577 671 charger operates in fast-charge mode. When the timer expires 672 the device will terminate fast-charge mode (charging current 673 will drop to 0 A) and will trigger interrupt. 674 675 Valid values: 676 677 - 5, 6 or 7 (hours), 678 - 0: disabled. 679 680What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer 681Date: January 2015 682KernelVersion: 3.19.0 683Contact: Krzysztof Kozlowski <[email protected]> 684Description: 685 This entry shows and sets the maximum time the max77693 686 charger operates in fast-charge mode. When the timer expires 687 the device will terminate fast-charge mode (charging current 688 will drop to 0 A) and will trigger interrupt. 689 690 Valid values: 691 692 - 4 - 16 (hours), step by 2 (rounded down) 693 - 0: disabled. 694 695What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current 696Date: January 2015 697KernelVersion: 3.19.0 698Contact: Krzysztof Kozlowski <[email protected]> 699Description: 700 This entry shows and sets the charging current threshold for 701 entering top-off charging mode. When charging current in fast 702 charge mode drops below this value, the charger will trigger 703 interrupt and start top-off charging mode. 704 705 Valid values: 706 707 - 100000 - 200000 (microamps), step by 25000 (rounded down) 708 - 200000 - 350000 (microamps), step by 50000 (rounded down) 709 - 0: disabled. 710 711What: /sys/class/power_supply/max77693-charger/device/top_off_timer 712Date: January 2015 713KernelVersion: 3.19.0 714Contact: Krzysztof Kozlowski <[email protected]> 715Description: 716 This entry shows and sets the maximum time the max77693 717 charger operates in top-off charge mode. When the timer expires 718 the device will terminate top-off charge mode (charging current 719 will drop to 0 A) and will trigger interrupt. 720 721 Valid values: 722 723 - 0 - 70 (minutes), step by 10 (rounded down) 724 725What: /sys/class/power_supply/bq24257-charger/ovp_voltage 726Date: October 2015 727KernelVersion: 4.4.0 728Contact: Andreas Dannenberg <[email protected]> 729Description: 730 This entry configures the overvoltage protection feature of bq24257- 731 type charger devices. This feature protects the device and other 732 components against damage from overvoltage on the input supply. See 733 device datasheet for details. 734 735 Valid values: 736 737 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, 738 10500000 (all uV) 739 740What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage 741Date: October 2015 742KernelVersion: 4.4.0 743Contact: Andreas Dannenberg <[email protected]> 744Description: 745 This entry configures the input dynamic power path management voltage of 746 bq24257-type charger devices. Once the supply drops to the configured 747 voltage, the input current limit is reduced down to prevent the further 748 drop of the supply. When the IC enters this mode, the charge current is 749 lower than the set value. See device datasheet for details. 750 751 Valid values: 752 753 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, 754 4760000 (all uV) 755 756What: /sys/class/power_supply/bq24257-charger/high_impedance_enable 757Date: October 2015 758KernelVersion: 4.4.0 759Contact: Andreas Dannenberg <[email protected]> 760Description: 761 This entry allows enabling the high-impedance mode of bq24257-type 762 charger devices. If enabled, it places the charger IC into low power 763 standby mode with the switch mode controller disabled. When disabled, 764 the charger operates normally. See device datasheet for details. 765 766 Valid values: 767 768 - 1: enabled 769 - 0: disabled 770 771What: /sys/class/power_supply/bq24257-charger/sysoff_enable 772Date: October 2015 773KernelVersion: 4.4.0 774Contact: Andreas Dannenberg <[email protected]> 775Description: 776 This entry allows enabling the sysoff mode of bq24257-type charger 777 devices. If enabled and the input is removed, the internal battery FET 778 is turned off in order to reduce the leakage from the BAT pin to less 779 than 1uA. Note that on some devices/systems this disconnects the battery 780 from the system. See device datasheet for details. 781 782 Valid values: 783 784 - 1: enabled 785 - 0: disabled 786 787What: /sys/class/power_supply/<supply_name>/manufacture_year 788Date: January 2020 789Contact: [email protected] 790Description: 791 Reports the year (following Gregorian calendar) when the device has been 792 manufactured. 793 794 Access: Read 795 796 Valid values: Reported as integer 797 798What: /sys/class/power_supply/<supply_name>/manufacture_month 799Date: January 2020 800Contact: [email protected] 801Description: 802 Reports the month when the device has been manufactured. 803 804 Access: Read 805 806 Valid values: 1-12 807 808What: /sys/class/power_supply/<supply_name>/manufacture_day 809Date: January 2020 810Contact: [email protected] 811Description: 812 Reports the day of month when the device has been manufactured. 813 814 Access: Read 815 Valid values: 1-31 816 817What: /sys/class/power_supply/<supply_name>/extensions/<extension_name> 818Date: March 2025 819Contact: [email protected] 820Description: 821 Reports the extensions registered to the power supply. 822 Each entry is a link to the device which registered the extension. 823 824 Access: Read 825