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