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