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", "Wireless" 38 39**Battery and USB properties** 40 41What: /sys/class/power_supply/<supply_name>/current_avg 42Date: May 2007 43Contact: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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: linux-pm@vger.kernel.org 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 Valid values: 411 "Unknown", "N/A", "Trickle", "Fast", "Standard", 412 "Adaptive", "Custom", "Long Life", "Bypass" 413 414What: /sys/class/power_supply/<supply_name>/charge_term_current 415Date: July 2014 416Contact: linux-pm@vger.kernel.org 417Description: 418 Reports the charging current value which is used to determine 419 when the battery is considered full and charging should end. 420 421 Access: Read 422 423 Valid values: Represented in microamps 424 425What: /sys/class/power_supply/<supply_name>/health 426Date: May 2007 427Contact: linux-pm@vger.kernel.org 428Description: 429 Reports the health of the battery or battery side of charger 430 functionality. 431 432 Access: Read 433 434 Valid values: 435 "Unknown", "Good", "Overheat", "Dead", 436 "Over voltage", "Unspecified failure", "Cold", 437 "Watchdog timer expire", "Safety timer expire", 438 "Over current", "Calibration required", "Warm", 439 "Cool", "Hot", "No battery" 440 441What: /sys/class/power_supply/<supply_name>/precharge_current 442Date: June 2017 443Contact: linux-pm@vger.kernel.org 444Description: 445 Reports the charging current applied during pre-charging phase 446 for a battery charge cycle. 447 448 Access: Read 449 450 Valid values: Represented in microamps 451 452What: /sys/class/power_supply/<supply_name>/present 453Date: May 2007 454Contact: linux-pm@vger.kernel.org 455Description: 456 Reports whether a battery is present or not in the system. If the 457 property does not exist, the battery is considered to be present. 458 459 Access: Read 460 461 Valid values: 462 463 == ======= 464 0: Absent 465 1: Present 466 == ======= 467 468What: /sys/class/power_supply/<supply_name>/status 469Date: May 2007 470Contact: linux-pm@vger.kernel.org 471Description: 472 Represents the charging status of the battery. Normally this 473 is read-only reporting although for some supplies this can be 474 used to enable/disable charging to the battery. 475 476 Access: Read, Write 477 478 Valid values: 479 "Unknown", "Charging", "Discharging", 480 "Not charging", "Full" 481 482What: /sys/class/power_supply/<supply_name>/charge_behaviour 483Date: November 2021 484Contact: linux-pm@vger.kernel.org 485Description: 486 Represents the charging behaviour. 487 488 Access: Read, Write 489 490 Valid values: 491 ================ ==================================== 492 auto: Charge normally, respect thresholds 493 inhibit-charge: Do not charge while AC is attached 494 force-discharge: Force discharge while AC is attached 495 ================ ==================================== 496 497What: /sys/class/power_supply/<supply_name>/technology 498Date: May 2007 499Contact: linux-pm@vger.kernel.org 500Description: 501 Describes the battery technology supported by the supply. 502 503 Access: Read 504 505 Valid values: 506 "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", 507 "NiCd", "LiMn" 508 509 510What: /sys/class/power_supply/<supply_name>/voltage_avg, 511Date: May 2007 512Contact: linux-pm@vger.kernel.org 513Description: 514 Reports an average VBAT voltage reading for the battery, over a 515 fixed period. Normally devices will provide a fixed interval in 516 which they average readings to smooth out the reported value. 517 518 Access: Read 519 520 Valid values: Represented in microvolts 521 522What: /sys/class/power_supply/<supply_name>/cycle_count 523Date: January 2010 524Contact: linux-pm@vger.kernel.org 525Description: 526 Reports the number of full charge + discharge cycles the 527 battery has undergone. 528 529 Access: Read 530 531 Valid values: 532 Integer > 0: representing full cycles 533 Integer = 0: cycle_count info is not available 534 535**USB Properties** 536 537What: /sys/class/power_supply/<supply_name>/input_current_limit 538Date: July 2014 539Contact: linux-pm@vger.kernel.org 540Description: 541 Details the incoming IBUS current limit currently set in the 542 supply. Normally this is configured based on the type of 543 connection made (e.g. A configured SDP should output a maximum 544 of 500mA so the input current limit is set to the same value). 545 Use preferably input_power_limit, and for problems that can be 546 solved using power limit use input_current_limit. 547 548 Access: Read, Write 549 550 Valid values: Represented in microamps 551 552What: /sys/class/power_supply/<supply_name>/input_voltage_limit 553Date: May 2019 554Contact: linux-pm@vger.kernel.org 555Description: 556 This entry configures the incoming VBUS voltage limit currently 557 set in the supply. Normally this is configured based on 558 system-level knowledge or user input (e.g. This is part of the 559 Pixel C's thermal management strategy to effectively limit the 560 input power to 5V when the screen is on to meet Google's skin 561 temperature targets). Note that this feature should not be 562 used for safety critical things. 563 Use preferably input_power_limit, and for problems that can be 564 solved using power limit use input_voltage_limit. 565 566 Access: Read, Write 567 568 Valid values: Represented in microvolts 569 570What: /sys/class/power_supply/<supply_name>/input_power_limit 571Date: May 2019 572Contact: linux-pm@vger.kernel.org 573Description: 574 This entry configures the incoming power limit currently set 575 in the supply. Normally this is configured based on 576 system-level knowledge or user input. Use preferably this 577 feature to limit the incoming power and use current/voltage 578 limit only for problems that can be solved using power limit. 579 580 Access: Read, Write 581 582 Valid values: Represented in microwatts 583 584What: /sys/class/power_supply/<supply_name>/online, 585Date: May 2007 586Contact: linux-pm@vger.kernel.org 587Description: 588 Indicates if VBUS is present for the supply. When the supply is 589 online, and the supply allows it, then it's possible to switch 590 between online states (e.g. Fixed -> Programmable for a PD_PPS 591 USB supply so voltage and current can be controlled). 592 593 Access: Read, Write 594 595 Valid values: 596 597 == ================================================== 598 0: Offline 599 1: Online Fixed - Fixed Voltage Supply 600 2: Online Programmable - Programmable Voltage Supply 601 == ================================================== 602 603What: /sys/class/power_supply/<supply_name>/usb_type 604Date: March 2018 605Contact: linux-pm@vger.kernel.org 606Description: 607 Reports what type of USB connection is currently active for 608 the supply, for example it can show if USB-PD capable source 609 is attached. 610 611 Access: For power-supplies which consume USB power such 612 as battery charger chips, this indicates the type of 613 the connected USB power source and is Read-Only. 614 615 For power-supplies which act as a USB power-source such as 616 e.g. the UCS1002 USB Port Power Controller this is writable. 617 618 Valid values: 619 "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD", 620 "PD_DRP", "PD_PPS", "BrickID" 621 622**Device Specific Properties** 623 624What: /sys/class/power/ds2760-battery.*/charge_now 625Date: May 2010 626KernelVersion: 2.6.35 627Contact: Daniel Mack <daniel@caiaq.de> 628Description: 629 This file is writeable and can be used to set the current 630 coloumb counter value inside the battery monitor chip. This 631 is needed for unavoidable corrections of aging batteries. 632 A userspace daemon can monitor the battery charging logic 633 and once the counter drops out of considerable bounds, take 634 appropriate action. 635 636What: /sys/class/power/ds2760-battery.*/charge_full 637Date: May 2010 638KernelVersion: 2.6.35 639Contact: Daniel Mack <daniel@caiaq.de> 640Description: 641 This file is writeable and can be used to set the assumed 642 battery 'full level'. As batteries age, this value has to be 643 amended over time. 644 645What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer 646Date: October 2014 647KernelVersion: 3.18.0 648Contact: Krzysztof Kozlowski <krzk@kernel.org> 649Description: 650 This entry shows and sets the maximum time the max14577 651 charger operates in fast-charge mode. When the timer expires 652 the device will terminate fast-charge mode (charging current 653 will drop to 0 A) and will trigger interrupt. 654 655 Valid values: 656 657 - 5, 6 or 7 (hours), 658 - 0: disabled. 659 660What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer 661Date: January 2015 662KernelVersion: 3.19.0 663Contact: Krzysztof Kozlowski <krzk@kernel.org> 664Description: 665 This entry shows and sets the maximum time the max77693 666 charger operates in fast-charge mode. When the timer expires 667 the device will terminate fast-charge mode (charging current 668 will drop to 0 A) and will trigger interrupt. 669 670 Valid values: 671 672 - 4 - 16 (hours), step by 2 (rounded down) 673 - 0: disabled. 674 675What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current 676Date: January 2015 677KernelVersion: 3.19.0 678Contact: Krzysztof Kozlowski <krzk@kernel.org> 679Description: 680 This entry shows and sets the charging current threshold for 681 entering top-off charging mode. When charging current in fast 682 charge mode drops below this value, the charger will trigger 683 interrupt and start top-off charging mode. 684 685 Valid values: 686 687 - 100000 - 200000 (microamps), step by 25000 (rounded down) 688 - 200000 - 350000 (microamps), step by 50000 (rounded down) 689 - 0: disabled. 690 691What: /sys/class/power_supply/max77693-charger/device/top_off_timer 692Date: January 2015 693KernelVersion: 3.19.0 694Contact: Krzysztof Kozlowski <krzk@kernel.org> 695Description: 696 This entry shows and sets the maximum time the max77693 697 charger operates in top-off charge mode. When the timer expires 698 the device will terminate top-off charge mode (charging current 699 will drop to 0 A) and will trigger interrupt. 700 701 Valid values: 702 703 - 0 - 70 (minutes), step by 10 (rounded down) 704 705What: /sys/class/power_supply/bq24257-charger/ovp_voltage 706Date: October 2015 707KernelVersion: 4.4.0 708Contact: Andreas Dannenberg <dannenberg@ti.com> 709Description: 710 This entry configures the overvoltage protection feature of bq24257- 711 type charger devices. This feature protects the device and other 712 components against damage from overvoltage on the input supply. See 713 device datasheet for details. 714 715 Valid values: 716 717 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, 718 10500000 (all uV) 719 720What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage 721Date: October 2015 722KernelVersion: 4.4.0 723Contact: Andreas Dannenberg <dannenberg@ti.com> 724Description: 725 This entry configures the input dynamic power path management voltage of 726 bq24257-type charger devices. Once the supply drops to the configured 727 voltage, the input current limit is reduced down to prevent the further 728 drop of the supply. When the IC enters this mode, the charge current is 729 lower than the set value. See device datasheet for details. 730 731 Valid values: 732 733 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, 734 4760000 (all uV) 735 736What: /sys/class/power_supply/bq24257-charger/high_impedance_enable 737Date: October 2015 738KernelVersion: 4.4.0 739Contact: Andreas Dannenberg <dannenberg@ti.com> 740Description: 741 This entry allows enabling the high-impedance mode of bq24257-type 742 charger devices. If enabled, it places the charger IC into low power 743 standby mode with the switch mode controller disabled. When disabled, 744 the charger operates normally. See device datasheet for details. 745 746 Valid values: 747 748 - 1: enabled 749 - 0: disabled 750 751What: /sys/class/power_supply/bq24257-charger/sysoff_enable 752Date: October 2015 753KernelVersion: 4.4.0 754Contact: Andreas Dannenberg <dannenberg@ti.com> 755Description: 756 This entry allows enabling the sysoff mode of bq24257-type charger 757 devices. If enabled and the input is removed, the internal battery FET 758 is turned off in order to reduce the leakage from the BAT pin to less 759 than 1uA. Note that on some devices/systems this disconnects the battery 760 from the system. See device datasheet for details. 761 762 Valid values: 763 764 - 1: enabled 765 - 0: disabled 766 767What: /sys/class/power_supply/<supply_name>/manufacture_year 768Date: January 2020 769Contact: linux-pm@vger.kernel.org 770Description: 771 Reports the year (following Gregorian calendar) when the device has been 772 manufactured. 773 774 Access: Read 775 776 Valid values: Reported as integer 777 778What: /sys/class/power_supply/<supply_name>/manufacture_month 779Date: January 2020 780Contact: linux-pm@vger.kernel.org 781Description: 782 Reports the month when the device has been manufactured. 783 784 Access: Read 785 786 Valid values: 1-12 787 788What: /sys/class/power_supply/<supply_name>/manufacture_day 789Date: January 2020 790Contact: linux-pm@vger.kernel.org 791Description: 792 Reports the day of month when the device has been manufactured. 793 794 Access: Read 795 Valid values: 1-31 796