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