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