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