1 ===== General Properties =====
3 What: /sys/class/power_supply/<supply_name>/manufacturer
5 Contact: linux-pm@vger.kernel.org
7 Reports the name of the device manufacturer.
10 Valid values: Represented as string
12 What: /sys/class/power_supply/<supply_name>/model_name
14 Contact: linux-pm@vger.kernel.org
16 Reports the name of the device model.
19 Valid values: Represented as string
21 What: /sys/class/power_supply/<supply_name>/serial_number
23 Contact: linux-pm@vger.kernel.org
25 Reports the serial number of the device.
28 Valid values: Represented as string
30 What: /sys/class/power_supply/<supply_name>/type
32 Contact: linux-pm@vger.kernel.org
34 Describes the main type of the supply.
37 Valid values: "Battery", "UPS", "Mains", "USB"
39 ===== Battery Properties =====
41 What: /sys/class/power_supply/<supply_name>/capacity
43 Contact: linux-pm@vger.kernel.org
45 Fine grain representation of battery capacity.
47 Valid values: 0 - 100 (percent)
49 What: /sys/class/power_supply/<supply_name>/capacity_alert_max
51 Contact: linux-pm@vger.kernel.org
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
61 Valid values: 0 - 100 (percent)
63 What: /sys/class/power_supply/<supply_name>/capacity_alert_min
65 Contact: linux-pm@vger.kernel.org
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
75 Valid values: 0 - 100 (percent)
77 What: /sys/class/power_supply/<supply_name>/capacity_level
79 Contact: linux-pm@vger.kernel.org
81 Coarse representation of battery capacity.
84 Valid values: "Unknown", "Critical", "Low", "Normal", "High",
87 What: /sys/class/power_supply/<supply_name>/current_avg
89 Contact: linux-pm@vger.kernel.org
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.
96 Valid values: Represented in microamps
98 What: /sys/class/power_supply/<supply_name>/current_max
100 Contact: linux-pm@vger.kernel.org
102 Reports the maximum IBAT current allowed into the battery.
105 Valid values: Represented in microamps
107 What: /sys/class/power_supply/<supply_name>/current_now
109 Contact: linux-pm@vger.kernel.org
111 Reports an instant, single IBAT current reading for the battery.
112 This value is not averaged/smoothed.
115 Valid values: Represented in microamps
117 What: /sys/class/power_supply/<supply_name>/charge_control_limit
119 Contact: linux-pm@vger.kernel.org
121 Maximum allowable charging current. Used for charge rate
122 throttling for thermal cooling or improving battery health.
125 Valid values: Represented in microamps
127 What: /sys/class/power_supply/<supply_name>/charge_control_limit_max
129 Contact: linux-pm@vger.kernel.org
131 Maximum legal value for the charge_control_limit property.
134 Valid values: Represented in microamps
136 What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold
138 Contact: linux-pm@vger.kernel.org
140 Represents a battery percentage level, below which charging will
144 Valid values: 0 - 100 (percent)
146 What: /sys/class/power_supply/<supply_name>/charge_control_end_threshold
148 Contact: linux-pm@vger.kernel.org
150 Represents a battery percentage level, above which charging will
154 Valid values: 0 - 100 (percent)
156 What: /sys/class/power_supply/<supply_name>/charge_type
158 Contact: linux-pm@vger.kernel.org
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
169 Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard",
172 What: /sys/class/power_supply/<supply_name>/charge_term_current
174 Contact: linux-pm@vger.kernel.org
176 Reports the charging current value which is used to determine
177 when the battery is considered full and charging should end.
180 Valid values: Represented in microamps
182 What: /sys/class/power_supply/<supply_name>/health
184 Contact: linux-pm@vger.kernel.org
186 Reports the health of the battery or battery side of charger
190 Valid values: "Unknown", "Good", "Overheat", "Dead",
191 "Over voltage", "Unspecified failure", "Cold",
192 "Watchdog timer expire", "Safety timer expire",
195 What: /sys/class/power_supply/<supply_name>/precharge_current
197 Contact: linux-pm@vger.kernel.org
199 Reports the charging current applied during pre-charging phase
200 for a battery charge cycle.
203 Valid values: Represented in microamps
205 What: /sys/class/power_supply/<supply_name>/present
207 Contact: linux-pm@vger.kernel.org
209 Reports whether a battery is present or not in the system.
216 What: /sys/class/power_supply/<supply_name>/status
218 Contact: linux-pm@vger.kernel.org
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.
225 Valid values: "Unknown", "Charging", "Discharging",
226 "Not charging", "Full"
228 What: /sys/class/power_supply/<supply_name>/technology
230 Contact: linux-pm@vger.kernel.org
232 Describes the battery technology supported by the supply.
235 Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
238 What: /sys/class/power_supply/<supply_name>/temp
240 Contact: linux-pm@vger.kernel.org
242 Reports the current TBAT battery temperature reading.
245 Valid values: Represented in 1/10 Degrees Celsius
247 What: /sys/class/power_supply/<supply_name>/temp_alert_max
249 Contact: linux-pm@vger.kernel.org
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).
259 Valid values: Represented in 1/10 Degrees Celsius
261 What: /sys/class/power_supply/<supply_name>/temp_alert_min
263 Contact: linux-pm@vger.kernel.org
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).
274 Valid values: Represented in 1/10 Degrees Celsius
276 What: /sys/class/power_supply/<supply_name>/temp_max
278 Contact: linux-pm@vger.kernel.org
280 Reports the maximum allowed TBAT battery temperature for
284 Valid values: Represented in 1/10 Degrees Celsius
286 What: /sys/class/power_supply/<supply_name>/temp_min
288 Contact: linux-pm@vger.kernel.org
290 Reports the minimum allowed TBAT battery temperature for
294 Valid values: Represented in 1/10 Degrees Celsius
296 What: /sys/class/power_supply/<supply_name>/voltage_avg,
298 Contact: linux-pm@vger.kernel.org
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.
305 Valid values: Represented in microvolts
307 What: /sys/class/power_supply/<supply_name>/voltage_max,
309 Contact: linux-pm@vger.kernel.org
311 Reports the maximum safe VBAT voltage permitted for the battery,
315 Valid values: Represented in microvolts
317 What: /sys/class/power_supply/<supply_name>/voltage_min,
319 Contact: linux-pm@vger.kernel.org
321 Reports the minimum safe VBAT voltage permitted for the battery,
325 Valid values: Represented in microvolts
327 What: /sys/class/power_supply/<supply_name>/voltage_now,
329 Contact: linux-pm@vger.kernel.org
331 Reports an instant, single VBAT voltage reading for the battery.
332 This value is not averaged/smoothed.
335 Valid values: Represented in microvolts
337 ===== USB Properties =====
339 What: /sys/class/power_supply/<supply_name>/current_avg
341 Contact: linux-pm@vger.kernel.org
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.
348 Valid values: Represented in microamps
351 What: /sys/class/power_supply/<supply_name>/current_max
353 Contact: linux-pm@vger.kernel.org
355 Reports the maximum IBUS current the supply can support.
358 Valid values: Represented in microamps
360 What: /sys/class/power_supply/<supply_name>/current_now
362 Contact: linux-pm@vger.kernel.org
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.
370 Valid values: Represented in microamps
372 What: /sys/class/power_supply/<supply_name>/input_current_limit
374 Contact: linux-pm@vger.kernel.org
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.
384 Valid values: Represented in microamps
386 What: /sys/class/power_supply/<supply_name>/input_voltage_limit
388 Contact: linux-pm@vger.kernel.org
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.
401 Valid values: Represented in microvolts
403 What: /sys/class/power_supply/<supply_name>/input_power_limit
405 Contact: linux-pm@vger.kernel.org
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.
414 Valid values: Represented in microwatts
416 What: /sys/class/power_supply/<supply_name>/online,
418 Contact: linux-pm@vger.kernel.org
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).
428 1: Online Fixed - Fixed Voltage Supply
429 2: Online Programmable - Programmable Voltage Supply
431 What: /sys/class/power_supply/<supply_name>/temp
433 Contact: linux-pm@vger.kernel.org
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)
440 Valid values: Represented in 1/10 Degrees Celsius
442 What: /sys/class/power_supply/<supply_name>/temp_alert_max
444 Contact: linux-pm@vger.kernel.org
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).
455 Valid values: Represented in 1/10 Degrees Celsius
457 What: /sys/class/power_supply/<supply_name>/temp_alert_min
459 Contact: linux-pm@vger.kernel.org
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).
470 Valid values: Represented in 1/10 Degrees Celsius
472 What: /sys/class/power_supply/<supply_name>/temp_max
474 Contact: linux-pm@vger.kernel.org
476 Reports the maximum allowed supply temperature for operation.
479 Valid values: Represented in 1/10 Degrees Celsius
481 What: /sys/class/power_supply/<supply_name>/temp_min
483 Contact: linux-pm@vger.kernel.org
485 Reports the mainimum allowed supply temperature for operation.
488 Valid values: Represented in 1/10 Degrees Celsius
490 What: /sys/class/power_supply/<supply_name>/usb_type
492 Contact: linux-pm@vger.kernel.org
494 Reports what type of USB connection is currently active for
495 the supply, for example it can show if USB-PD capable source
499 Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
500 "PD_DRP", "PD_PPS", "BrickID"
502 What: /sys/class/power_supply/<supply_name>/voltage_max
504 Contact: linux-pm@vger.kernel.org
506 Reports the maximum VBUS voltage the supply can support.
509 Valid values: Represented in microvolts
511 What: /sys/class/power_supply/<supply_name>/voltage_min
513 Contact: linux-pm@vger.kernel.org
515 Reports the minimum VBUS voltage the supply can support.
518 Valid values: Represented in microvolts
520 What: /sys/class/power_supply/<supply_name>/voltage_now
522 Contact: linux-pm@vger.kernel.org
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.
530 Valid values: Represented in microvolts
532 ===== Device Specific Properties =====
534 What: /sys/class/power/ds2760-battery.*/charge_now
536 KernelVersion: 2.6.35
537 Contact: Daniel Mack <daniel@caiaq.de>
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
546 What: /sys/class/power/ds2760-battery.*/charge_full
548 KernelVersion: 2.6.35
549 Contact: Daniel Mack <daniel@caiaq.de>
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
555 What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
557 KernelVersion: 3.18.0
558 Contact: Krzysztof Kozlowski <krzk@kernel.org>
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.
569 What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
571 KernelVersion: 3.19.0
572 Contact: Krzysztof Kozlowski <krzk@kernel.org>
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.
580 - 4 - 16 (hours), step by 2 (rounded down)
583 What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
585 KernelVersion: 3.19.0
586 Contact: Krzysztof Kozlowski <krzk@kernel.org>
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.
594 - 100000 - 200000 (microamps), step by 25000 (rounded down)
595 - 200000 - 350000 (microamps), step by 50000 (rounded down)
598 What: /sys/class/power_supply/max77693-charger/device/top_off_timer
600 KernelVersion: 3.19.0
601 Contact: Krzysztof Kozlowski <krzk@kernel.org>
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.
609 - 0 - 70 (minutes), step by 10 (rounded down)
611 What: /sys/class/power_supply/bq24257-charger/ovp_voltage
614 Contact: Andreas Dannenberg <dannenberg@ti.com>
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.
622 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
625 What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
628 Contact: Andreas Dannenberg <dannenberg@ti.com>
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.
637 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
640 What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
643 Contact: Andreas Dannenberg <dannenberg@ti.com>
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.
654 What: /sys/class/power_supply/bq24257-charger/sysoff_enable
657 Contact: Andreas Dannenberg <dannenberg@ti.com>
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.