796 lines · plain
1**General Properties**2 3What: /sys/class/power_supply/<supply_name>/manufacturer4Date: May 20075Contact: linux-pm@vger.kernel.org6Description:7 Reports the name of the device manufacturer.8 9 Access: Read10 Valid values: Represented as string11 12What: /sys/class/power_supply/<supply_name>/model_name13Date: May 200714Contact: linux-pm@vger.kernel.org15Description:16 Reports the name of the device model.17 18 Access: Read19 Valid values: Represented as string20 21What: /sys/class/power_supply/<supply_name>/serial_number22Date: January 200823Contact: linux-pm@vger.kernel.org24Description:25 Reports the serial number of the device.26 27 Access: Read28 Valid values: Represented as string29 30What: /sys/class/power_supply/<supply_name>/type31Date: May 201032Contact: linux-pm@vger.kernel.org33Description:34 Describes the main type of the supply.35 36 Access: Read37 Valid values: "Battery", "UPS", "Mains", "USB", "Wireless"38 39**Battery and USB properties**40 41What: /sys/class/power_supply/<supply_name>/current_avg42Date: May 200743Contact: linux-pm@vger.kernel.org44Description:45 Battery:46 47 Reports an average IBAT current reading for the battery, over48 a fixed period. Normally devices will provide a fixed interval49 in which they average readings to smooth out the reported50 value.51 52 USB:53 54 Reports an average IBUS current reading over a fixed period.55 Normally devices will provide a fixed interval in which they56 average readings to smooth out the reported value.57 58 Access: Read59 60 Valid values: Represented in microamps. Negative values are61 used for discharging batteries, positive values for charging62 batteries and for USB IBUS current.63 64What: /sys/class/power_supply/<supply_name>/current_max65Date: October 201066Contact: linux-pm@vger.kernel.org67Description:68 Battery:69 70 Reports the maximum IBAT current allowed into the battery.71 72 USB:73 74 Reports the maximum IBUS current the supply can support.75 76 Access: Read77 Valid values: Represented in microamps78 79What: /sys/class/power_supply/<supply_name>/current_now80Date: May 200781Contact: linux-pm@vger.kernel.org82Description:83 84 Battery:85 86 Reports an instant, single IBAT current reading for the87 battery. This value is not averaged/smoothed.88 89 Access: Read90 91 USB:92 93 Reports the IBUS current supplied now. This value is generally94 read-only reporting, unless the 'online' state of the supply95 is set to be programmable, in which case this value can be set96 within the reported min/max range.97 98 Access: Read, Write99 100 Valid values: Represented in microamps. Negative values are101 used for discharging batteries, positive values for charging102 batteries and for USB IBUS current.103 104What: /sys/class/power_supply/<supply_name>/temp105Date: May 2007106Contact: linux-pm@vger.kernel.org107Description:108 Battery:109 110 Reports the current TBAT battery temperature reading.111 112 USB:113 114 Reports the current supply temperature reading. This would115 normally be the internal temperature of the device itself116 (e.g TJUNC temperature of an IC)117 118 Access: Read119 120 Valid values: Represented in 1/10 Degrees Celsius121 122What: /sys/class/power_supply/<supply_name>/temp_alert_max123Date: July 2012124Contact: linux-pm@vger.kernel.org125Description:126 Battery:127 128 Maximum TBAT temperature trip-wire value where the supply will129 notify user-space of the event.130 131 USB:132 133 Maximum supply temperature trip-wire value where the supply134 will notify user-space of the event.135 136 This is normally used for the charging scenario where137 user-space needs to know if the temperature has crossed an138 upper threshold so it can take appropriate action (e.g. warning139 user that the temperature is critically high, and charging has140 stopped).141 142 Access: Read143 144 Valid values: Represented in 1/10 Degrees Celsius145 146What: /sys/class/power_supply/<supply_name>/temp_alert_min147Date: July 2012148Contact: linux-pm@vger.kernel.org149Description:150 151 Battery:152 153 Minimum TBAT temperature trip-wire value where the supply will154 notify user-space of the event.155 156 USB:157 158 Minimum supply temperature trip-wire value where the supply159 will notify user-space of the event.160 161 This is normally used for the charging scenario where user-space162 needs to know if the temperature has crossed a lower threshold163 so it can take appropriate action (e.g. warning user that164 temperature level is high, and charging current has been165 reduced accordingly to remedy the situation).166 167 Access: Read168 169 Valid values: Represented in 1/10 Degrees Celsius170 171What: /sys/class/power_supply/<supply_name>/temp_max172Date: July 2014173Contact: linux-pm@vger.kernel.org174Description:175 Battery:176 177 Reports the maximum allowed TBAT battery temperature for178 charging.179 180 USB:181 182 Reports the maximum allowed supply temperature for operation.183 184 Access: Read185 186 Valid values: Represented in 1/10 Degrees Celsius187 188What: /sys/class/power_supply/<supply_name>/temp_min189Date: July 2014190Contact: linux-pm@vger.kernel.org191Description:192 Battery:193 194 Reports the minimum allowed TBAT battery temperature for195 charging.196 197 USB:198 199 Reports the minimum allowed supply temperature for operation.200 201 Access: Read202 203 Valid values: Represented in 1/10 Degrees Celsius204 205What: /sys/class/power_supply/<supply_name>/voltage_max,206Date: January 2008207Contact: linux-pm@vger.kernel.org208Description:209 Battery:210 211 Reports the maximum safe VBAT voltage permitted for the212 battery, during charging.213 214 USB:215 216 Reports the maximum VBUS voltage the supply can support.217 218 Access: Read219 220 Valid values: Represented in microvolts221 222What: /sys/class/power_supply/<supply_name>/voltage_min,223Date: January 2008224Contact: linux-pm@vger.kernel.org225Description:226 Battery:227 228 Reports the minimum safe VBAT voltage permitted for the229 battery, during discharging.230 231 USB:232 233 Reports the minimum VBUS voltage the supply can support.234 235 Access: Read236 237 Valid values: Represented in microvolts238 239What: /sys/class/power_supply/<supply_name>/voltage_now,240Date: May 2007241Contact: linux-pm@vger.kernel.org242Description:243 Battery:244 245 Reports an instant, single VBAT voltage reading for the246 battery. This value is not averaged/smoothed.247 248 Access: Read249 250 USB:251 252 Reports the VBUS voltage supplied now. This value is generally253 read-only reporting, unless the 'online' state of the supply254 is set to be programmable, in which case this value can be set255 within the reported min/max range.256 257 Access: Read, Write258 259 Valid values: Represented in microvolts260 261**Battery Properties**262 263What: /sys/class/power_supply/<supply_name>/capacity264Date: May 2007265Contact: linux-pm@vger.kernel.org266Description:267 Fine grain representation of battery capacity.268 269 Access: Read270 271 Valid values: 0 - 100 (percent)272 273What: /sys/class/power_supply/<supply_name>/capacity_alert_max274Date: July 2012275Contact: linux-pm@vger.kernel.org276Description:277 Maximum battery capacity trip-wire value where the supply will278 notify user-space of the event. This is normally used for the279 battery discharging scenario where user-space needs to know the280 battery has dropped to an upper level so it can take281 appropriate action (e.g. warning user that battery level is282 low).283 284 Access: Read, Write285 286 Valid values: 0 - 100 (percent)287 288What: /sys/class/power_supply/<supply_name>/capacity_alert_min289Date: July 2012290Contact: linux-pm@vger.kernel.org291Description:292 Minimum battery capacity trip-wire value where the supply will293 notify user-space of the event. This is normally used for the294 battery discharging scenario where user-space needs to know the295 battery has dropped to a lower level so it can take296 appropriate action (e.g. warning user that battery level is297 critically low).298 299 Access: Read, Write300 301 Valid values: 0 - 100 (percent)302 303What: /sys/class/power_supply/<supply_name>/capacity_error_margin304Date: April 2019305Contact: linux-pm@vger.kernel.org306Description:307 Battery capacity measurement becomes unreliable without308 recalibration. This values provides the maximum error309 margin expected to exist by the fuel gauge in percent.310 Values close to 0% will be returned after (re-)calibration311 has happened. Over time the error margin will increase.312 100% means, that the capacity related values are basically313 completely useless.314 315 Access: Read316 317 Valid values: 0 - 100 (percent)318 319What: /sys/class/power_supply/<supply_name>/capacity_level320Date: June 2009321Contact: linux-pm@vger.kernel.org322Description:323 Coarse representation of battery capacity.324 325 Access: Read326 327 Valid values:328 "Unknown", "Critical", "Low", "Normal", "High",329 "Full"330 331What: /sys/class/power_supply/<supply_name>/charge_control_limit332Date: Oct 2012333Contact: linux-pm@vger.kernel.org334Description:335 Maximum allowable charging current. Used for charge rate336 throttling for thermal cooling or improving battery health.337 338 Access: Read, Write339 340 Valid values: Represented in microamps341 342What: /sys/class/power_supply/<supply_name>/charge_control_limit_max343Date: Oct 2012344Contact: linux-pm@vger.kernel.org345Description:346 Maximum legal value for the charge_control_limit property.347 348 Access: Read349 350 Valid values: Represented in microamps351 352What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold353Date: April 2019354Contact: linux-pm@vger.kernel.org355Description:356 Represents a battery percentage level, below which charging will357 begin.358 359 Access: Read, Write360 Valid values: 0 - 100 (percent)361 362What: /sys/class/power_supply/<supply_name>/charge_control_end_threshold363Date: April 2019364Contact: linux-pm@vger.kernel.org365Description:366 Represents a battery percentage level, above which charging will367 stop. Not all hardware is capable of setting this to an arbitrary368 percentage. Drivers will round written values to the nearest369 supported value. Reading back the value will show the actual370 threshold set by the driver.371 372 Access: Read, Write373 374 Valid values: 0 - 100 (percent)375 376What: /sys/class/power_supply/<supply_name>/charge_type377Date: July 2009378Contact: linux-pm@vger.kernel.org379Description:380 Select the charging algorithm to use for a battery.381 382 Standard:383 Fully charge the battery at a moderate rate.384 Fast:385 Quickly charge the battery using fast-charge386 technology. This is typically harder on the battery387 than standard charging and may lower its lifespan.388 Trickle:389 Users who primarily operate the system while390 plugged into an external power source can extend391 battery life with this mode. Vendor tooling may392 call this "Primarily AC Use".393 Adaptive:394 Automatically optimize battery charge rate based395 on typical usage pattern.396 Custom:397 Use the charge_control_* properties to determine398 when to start and stop charging. Advanced users399 can use this to drastically extend battery life.400 Long Life:401 The charger reduces its charging rate in order to402 prolong the battery health.403 Bypass:404 The charger bypasses the charging path around the405 integrated converter allowing for a "smart" wall406 adaptor to perform the power conversion externally.407 408 Access: Read, Write409 410 Valid values:411 "Unknown", "N/A", "Trickle", "Fast", "Standard",412 "Adaptive", "Custom", "Long Life", "Bypass"413 414What: /sys/class/power_supply/<supply_name>/charge_term_current415Date: July 2014416Contact: linux-pm@vger.kernel.org417Description:418 Reports the charging current value which is used to determine419 when the battery is considered full and charging should end.420 421 Access: Read422 423 Valid values: Represented in microamps424 425What: /sys/class/power_supply/<supply_name>/health426Date: May 2007427Contact: linux-pm@vger.kernel.org428Description:429 Reports the health of the battery or battery side of charger430 functionality.431 432 Access: Read433 434 Valid values:435 "Unknown", "Good", "Overheat", "Dead",436 "Over voltage", "Unspecified failure", "Cold",437 "Watchdog timer expire", "Safety timer expire",438 "Over current", "Calibration required", "Warm",439 "Cool", "Hot", "No battery"440 441What: /sys/class/power_supply/<supply_name>/precharge_current442Date: June 2017443Contact: linux-pm@vger.kernel.org444Description:445 Reports the charging current applied during pre-charging phase446 for a battery charge cycle.447 448 Access: Read449 450 Valid values: Represented in microamps451 452What: /sys/class/power_supply/<supply_name>/present453Date: May 2007454Contact: linux-pm@vger.kernel.org455Description:456 Reports whether a battery is present or not in the system. If the457 property does not exist, the battery is considered to be present.458 459 Access: Read460 461 Valid values:462 463 == =======464 0: Absent465 1: Present466 == =======467 468What: /sys/class/power_supply/<supply_name>/status469Date: May 2007470Contact: linux-pm@vger.kernel.org471Description:472 Represents the charging status of the battery. Normally this473 is read-only reporting although for some supplies this can be474 used to enable/disable charging to the battery.475 476 Access: Read, Write477 478 Valid values:479 "Unknown", "Charging", "Discharging",480 "Not charging", "Full"481 482What: /sys/class/power_supply/<supply_name>/charge_behaviour483Date: November 2021484Contact: linux-pm@vger.kernel.org485Description:486 Represents the charging behaviour.487 488 Access: Read, Write489 490 Valid values:491 ================ ====================================492 auto: Charge normally, respect thresholds493 inhibit-charge: Do not charge while AC is attached494 force-discharge: Force discharge while AC is attached495 ================ ====================================496 497What: /sys/class/power_supply/<supply_name>/technology498Date: May 2007499Contact: linux-pm@vger.kernel.org500Description:501 Describes the battery technology supported by the supply.502 503 Access: Read504 505 Valid values:506 "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",507 "NiCd", "LiMn"508 509 510What: /sys/class/power_supply/<supply_name>/voltage_avg,511Date: May 2007512Contact: linux-pm@vger.kernel.org513Description:514 Reports an average VBAT voltage reading for the battery, over a515 fixed period. Normally devices will provide a fixed interval in516 which they average readings to smooth out the reported value.517 518 Access: Read519 520 Valid values: Represented in microvolts521 522What: /sys/class/power_supply/<supply_name>/cycle_count523Date: January 2010524Contact: linux-pm@vger.kernel.org525Description:526 Reports the number of full charge + discharge cycles the527 battery has undergone.528 529 Access: Read530 531 Valid values:532 Integer > 0: representing full cycles533 Integer = 0: cycle_count info is not available534 535**USB Properties**536 537What: /sys/class/power_supply/<supply_name>/input_current_limit538Date: July 2014539Contact: linux-pm@vger.kernel.org540Description:541 Details the incoming IBUS current limit currently set in the542 supply. Normally this is configured based on the type of543 connection made (e.g. A configured SDP should output a maximum544 of 500mA so the input current limit is set to the same value).545 Use preferably input_power_limit, and for problems that can be546 solved using power limit use input_current_limit.547 548 Access: Read, Write549 550 Valid values: Represented in microamps551 552What: /sys/class/power_supply/<supply_name>/input_voltage_limit553Date: May 2019554Contact: linux-pm@vger.kernel.org555Description:556 This entry configures the incoming VBUS voltage limit currently557 set in the supply. Normally this is configured based on558 system-level knowledge or user input (e.g. This is part of the559 Pixel C's thermal management strategy to effectively limit the560 input power to 5V when the screen is on to meet Google's skin561 temperature targets). Note that this feature should not be562 used for safety critical things.563 Use preferably input_power_limit, and for problems that can be564 solved using power limit use input_voltage_limit.565 566 Access: Read, Write567 568 Valid values: Represented in microvolts569 570What: /sys/class/power_supply/<supply_name>/input_power_limit571Date: May 2019572Contact: linux-pm@vger.kernel.org573Description:574 This entry configures the incoming power limit currently set575 in the supply. Normally this is configured based on576 system-level knowledge or user input. Use preferably this577 feature to limit the incoming power and use current/voltage578 limit only for problems that can be solved using power limit.579 580 Access: Read, Write581 582 Valid values: Represented in microwatts583 584What: /sys/class/power_supply/<supply_name>/online,585Date: May 2007586Contact: linux-pm@vger.kernel.org587Description:588 Indicates if VBUS is present for the supply. When the supply is589 online, and the supply allows it, then it's possible to switch590 between online states (e.g. Fixed -> Programmable for a PD_PPS591 USB supply so voltage and current can be controlled).592 593 Access: Read, Write594 595 Valid values:596 597 == ==================================================598 0: Offline599 1: Online Fixed - Fixed Voltage Supply600 2: Online Programmable - Programmable Voltage Supply601 == ==================================================602 603What: /sys/class/power_supply/<supply_name>/usb_type604Date: March 2018605Contact: linux-pm@vger.kernel.org606Description:607 Reports what type of USB connection is currently active for608 the supply, for example it can show if USB-PD capable source609 is attached.610 611 Access: For power-supplies which consume USB power such612 as battery charger chips, this indicates the type of613 the connected USB power source and is Read-Only.614 615 For power-supplies which act as a USB power-source such as616 e.g. the UCS1002 USB Port Power Controller this is writable.617 618 Valid values:619 "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",620 "PD_DRP", "PD_PPS", "BrickID"621 622**Device Specific Properties**623 624What: /sys/class/power/ds2760-battery.*/charge_now625Date: May 2010626KernelVersion: 2.6.35627Contact: Daniel Mack <daniel@caiaq.de>628Description:629 This file is writeable and can be used to set the current630 coloumb counter value inside the battery monitor chip. This631 is needed for unavoidable corrections of aging batteries.632 A userspace daemon can monitor the battery charging logic633 and once the counter drops out of considerable bounds, take634 appropriate action.635 636What: /sys/class/power/ds2760-battery.*/charge_full637Date: May 2010638KernelVersion: 2.6.35639Contact: Daniel Mack <daniel@caiaq.de>640Description:641 This file is writeable and can be used to set the assumed642 battery 'full level'. As batteries age, this value has to be643 amended over time.644 645What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer646Date: October 2014647KernelVersion: 3.18.0648Contact: Krzysztof Kozlowski <krzk@kernel.org>649Description:650 This entry shows and sets the maximum time the max14577651 charger operates in fast-charge mode. When the timer expires652 the device will terminate fast-charge mode (charging current653 will drop to 0 A) and will trigger interrupt.654 655 Valid values:656 657 - 5, 6 or 7 (hours),658 - 0: disabled.659 660What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer661Date: January 2015662KernelVersion: 3.19.0663Contact: Krzysztof Kozlowski <krzk@kernel.org>664Description:665 This entry shows and sets the maximum time the max77693666 charger operates in fast-charge mode. When the timer expires667 the device will terminate fast-charge mode (charging current668 will drop to 0 A) and will trigger interrupt.669 670 Valid values:671 672 - 4 - 16 (hours), step by 2 (rounded down)673 - 0: disabled.674 675What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current676Date: January 2015677KernelVersion: 3.19.0678Contact: Krzysztof Kozlowski <krzk@kernel.org>679Description:680 This entry shows and sets the charging current threshold for681 entering top-off charging mode. When charging current in fast682 charge mode drops below this value, the charger will trigger683 interrupt and start top-off charging mode.684 685 Valid values:686 687 - 100000 - 200000 (microamps), step by 25000 (rounded down)688 - 200000 - 350000 (microamps), step by 50000 (rounded down)689 - 0: disabled.690 691What: /sys/class/power_supply/max77693-charger/device/top_off_timer692Date: January 2015693KernelVersion: 3.19.0694Contact: Krzysztof Kozlowski <krzk@kernel.org>695Description:696 This entry shows and sets the maximum time the max77693697 charger operates in top-off charge mode. When the timer expires698 the device will terminate top-off charge mode (charging current699 will drop to 0 A) and will trigger interrupt.700 701 Valid values:702 703 - 0 - 70 (minutes), step by 10 (rounded down)704 705What: /sys/class/power_supply/bq24257-charger/ovp_voltage706Date: October 2015707KernelVersion: 4.4.0708Contact: Andreas Dannenberg <dannenberg@ti.com>709Description:710 This entry configures the overvoltage protection feature of bq24257-711 type charger devices. This feature protects the device and other712 components against damage from overvoltage on the input supply. See713 device datasheet for details.714 715 Valid values:716 717 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,718 10500000 (all uV)719 720What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage721Date: October 2015722KernelVersion: 4.4.0723Contact: Andreas Dannenberg <dannenberg@ti.com>724Description:725 This entry configures the input dynamic power path management voltage of726 bq24257-type charger devices. Once the supply drops to the configured727 voltage, the input current limit is reduced down to prevent the further728 drop of the supply. When the IC enters this mode, the charge current is729 lower than the set value. See device datasheet for details.730 731 Valid values:732 733 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,734 4760000 (all uV)735 736What: /sys/class/power_supply/bq24257-charger/high_impedance_enable737Date: October 2015738KernelVersion: 4.4.0739Contact: Andreas Dannenberg <dannenberg@ti.com>740Description:741 This entry allows enabling the high-impedance mode of bq24257-type742 charger devices. If enabled, it places the charger IC into low power743 standby mode with the switch mode controller disabled. When disabled,744 the charger operates normally. See device datasheet for details.745 746 Valid values:747 748 - 1: enabled749 - 0: disabled750 751What: /sys/class/power_supply/bq24257-charger/sysoff_enable752Date: October 2015753KernelVersion: 4.4.0754Contact: Andreas Dannenberg <dannenberg@ti.com>755Description:756 This entry allows enabling the sysoff mode of bq24257-type charger757 devices. If enabled and the input is removed, the internal battery FET758 is turned off in order to reduce the leakage from the BAT pin to less759 than 1uA. Note that on some devices/systems this disconnects the battery760 from the system. See device datasheet for details.761 762 Valid values:763 764 - 1: enabled765 - 0: disabled766 767What: /sys/class/power_supply/<supply_name>/manufacture_year768Date: January 2020769Contact: linux-pm@vger.kernel.org770Description:771 Reports the year (following Gregorian calendar) when the device has been772 manufactured.773 774 Access: Read775 776 Valid values: Reported as integer777 778What: /sys/class/power_supply/<supply_name>/manufacture_month779Date: January 2020780Contact: linux-pm@vger.kernel.org781Description:782 Reports the month when the device has been manufactured.783 784 Access: Read785 786 Valid values: 1-12787 788What: /sys/class/power_supply/<supply_name>/manufacture_day789Date: January 2020790Contact: linux-pm@vger.kernel.org791Description:792 Reports the day of month when the device has been manufactured.793 794 Access: Read795 Valid values: 1-31796