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_start_threshold
119 Contact: linux-pm@vger.kernel.org
121 Represents a battery percentage level, below which charging will
125 Valid values: 0 - 100 (percent)
127 What: /sys/class/power_supply/<supply_name>/charge_control_end_threshold
129 Contact: linux-pm@vger.kernel.org
131 Represents a battery percentage level, above which charging will
135 Valid values: 0 - 100 (percent)
137 What: /sys/class/power_supply/<supply_name>/charge_type
139 Contact: linux-pm@vger.kernel.org
141 Represents the type of charging currently being applied to the
142 battery. "Trickle", "Fast", and "Standard" all mean different
143 charging speeds. "Adaptive" means that the charger uses some
144 algorithm to adjust the charge rate dynamically, without
145 any user configuration required. "Custom" means that the charger
146 uses the charge_control_* properties as configuration for some
150 Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard",
153 What: /sys/class/power_supply/<supply_name>/charge_term_current
155 Contact: linux-pm@vger.kernel.org
157 Reports the charging current value which is used to determine
158 when the battery is considered full and charging should end.
161 Valid values: Represented in microamps
163 What: /sys/class/power_supply/<supply_name>/health
165 Contact: linux-pm@vger.kernel.org
167 Reports the health of the battery or battery side of charger
171 Valid values: "Unknown", "Good", "Overheat", "Dead",
172 "Over voltage", "Unspecified failure", "Cold",
173 "Watchdog timer expire", "Safety timer expire"
175 What: /sys/class/power_supply/<supply_name>/precharge_current
177 Contact: linux-pm@vger.kernel.org
179 Reports the charging current applied during pre-charging phase
180 for a battery charge cycle.
183 Valid values: Represented in microamps
185 What: /sys/class/power_supply/<supply_name>/present
187 Contact: linux-pm@vger.kernel.org
189 Reports whether a battery is present or not in the system.
196 What: /sys/class/power_supply/<supply_name>/status
198 Contact: linux-pm@vger.kernel.org
200 Represents the charging status of the battery. Normally this
201 is read-only reporting although for some supplies this can be
202 used to enable/disable charging to the battery.
205 Valid values: "Unknown", "Charging", "Discharging",
206 "Not charging", "Full"
208 What: /sys/class/power_supply/<supply_name>/technology
210 Contact: linux-pm@vger.kernel.org
212 Describes the battery technology supported by the supply.
215 Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
218 What: /sys/class/power_supply/<supply_name>/temp
220 Contact: linux-pm@vger.kernel.org
222 Reports the current TBAT battery temperature reading.
225 Valid values: Represented in 1/10 Degrees Celsius
227 What: /sys/class/power_supply/<supply_name>/temp_alert_max
229 Contact: linux-pm@vger.kernel.org
231 Maximum TBAT temperature trip-wire value where the supply will
232 notify user-space of the event. This is normally used for the
233 battery charging scenario where user-space needs to know the
234 battery temperature has crossed an upper threshold so it can
235 take appropriate action (e.g. warning user that battery level is
236 critically high, and charging has stopped).
239 Valid values: Represented in 1/10 Degrees Celsius
241 What: /sys/class/power_supply/<supply_name>/temp_alert_min
243 Contact: linux-pm@vger.kernel.org
245 Minimum TBAT temperature trip-wire value where the supply will
246 notify user-space of the event. This is normally used for the
247 battery charging scenario where user-space needs to know the
248 battery temperature has crossed a lower threshold so it can take
249 appropriate action (e.g. warning user that battery level is
250 high, and charging current has been reduced accordingly to
251 remedy the situation).
254 Valid values: Represented in 1/10 Degrees Celsius
256 What: /sys/class/power_supply/<supply_name>/temp_max
258 Contact: linux-pm@vger.kernel.org
260 Reports the maximum allowed TBAT battery temperature for
264 Valid values: Represented in 1/10 Degrees Celsius
266 What: /sys/class/power_supply/<supply_name>/temp_min
268 Contact: linux-pm@vger.kernel.org
270 Reports the minimum allowed TBAT battery temperature for
274 Valid values: Represented in 1/10 Degrees Celsius
276 What: /sys/class/power_supply/<supply_name>/voltage_avg,
278 Contact: linux-pm@vger.kernel.org
280 Reports an average VBAT voltage reading for the battery, over a
281 fixed period. Normally devices will provide a fixed interval in
282 which they average readings to smooth out the reported value.
285 Valid values: Represented in microvolts
287 What: /sys/class/power_supply/<supply_name>/voltage_max,
289 Contact: linux-pm@vger.kernel.org
291 Reports the maximum safe VBAT voltage permitted for the battery,
295 Valid values: Represented in microvolts
297 What: /sys/class/power_supply/<supply_name>/voltage_min,
299 Contact: linux-pm@vger.kernel.org
301 Reports the minimum safe VBAT voltage permitted for the battery,
305 Valid values: Represented in microvolts
307 What: /sys/class/power_supply/<supply_name>/voltage_now,
309 Contact: linux-pm@vger.kernel.org
311 Reports an instant, single VBAT voltage reading for the battery.
312 This value is not averaged/smoothed.
315 Valid values: Represented in microvolts
317 ===== USB Properties =====
319 What: /sys/class/power_supply/<supply_name>/current_avg
321 Contact: linux-pm@vger.kernel.org
323 Reports an average IBUS current reading over a fixed period.
324 Normally devices will provide a fixed interval in which they
325 average readings to smooth out the reported value.
328 Valid values: Represented in microamps
331 What: /sys/class/power_supply/<supply_name>/current_max
333 Contact: linux-pm@vger.kernel.org
335 Reports the maximum IBUS current the supply can support.
338 Valid values: Represented in microamps
340 What: /sys/class/power_supply/<supply_name>/current_now
342 Contact: linux-pm@vger.kernel.org
344 Reports the IBUS current supplied now. This value is generally
345 read-only reporting, unless the 'online' state of the supply
346 is set to be programmable, in which case this value can be set
347 within the reported min/max range.
350 Valid values: Represented in microamps
352 What: /sys/class/power_supply/<supply_name>/input_current_limit
354 Contact: linux-pm@vger.kernel.org
356 Details the incoming IBUS current limit currently set in the
357 supply. Normally this is configured based on the type of
358 connection made (e.g. A configured SDP should output a maximum
359 of 500mA so the input current limit is set to the same value).
362 Valid values: Represented in microamps
364 What: /sys/class/power_supply/<supply_name>/online,
366 Contact: linux-pm@vger.kernel.org
368 Indicates if VBUS is present for the supply. When the supply is
369 online, and the supply allows it, then it's possible to switch
370 between online states (e.g. Fixed -> Programmable for a PD_PPS
371 USB supply so voltage and current can be controlled).
376 1: Online Fixed - Fixed Voltage Supply
377 2: Online Programmable - Programmable Voltage Supply
379 What: /sys/class/power_supply/<supply_name>/temp
381 Contact: linux-pm@vger.kernel.org
383 Reports the current supply temperature reading. This would
384 normally be the internal temperature of the device itself (e.g
385 TJUNC temperature of an IC)
388 Valid values: Represented in 1/10 Degrees Celsius
390 What: /sys/class/power_supply/<supply_name>/temp_alert_max
392 Contact: linux-pm@vger.kernel.org
394 Maximum supply temperature trip-wire value where the supply will
395 notify user-space of the event. This is normally used for the
396 charging scenario where user-space needs to know the supply
397 temperature has crossed an upper threshold so it can take
398 appropriate action (e.g. warning user that the supply
399 temperature is critically high, and charging has stopped to
400 remedy the situation).
403 Valid values: Represented in 1/10 Degrees Celsius
405 What: /sys/class/power_supply/<supply_name>/temp_alert_min
407 Contact: linux-pm@vger.kernel.org
409 Minimum supply temperature trip-wire value where the supply will
410 notify user-space of the event. This is normally used for the
411 charging scenario where user-space needs to know the supply
412 temperature has crossed a lower threshold so it can take
413 appropriate action (e.g. warning user that the supply
414 temperature is high, and charging current has been reduced
415 accordingly to remedy the situation).
418 Valid values: Represented in 1/10 Degrees Celsius
420 What: /sys/class/power_supply/<supply_name>/temp_max
422 Contact: linux-pm@vger.kernel.org
424 Reports the maximum allowed supply temperature for operation.
427 Valid values: Represented in 1/10 Degrees Celsius
429 What: /sys/class/power_supply/<supply_name>/temp_min
431 Contact: linux-pm@vger.kernel.org
433 Reports the mainimum allowed supply temperature for operation.
436 Valid values: Represented in 1/10 Degrees Celsius
438 What: /sys/class/power_supply/<supply_name>/usb_type
440 Contact: linux-pm@vger.kernel.org
442 Reports what type of USB connection is currently active for
443 the supply, for example it can show if USB-PD capable source
447 Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
448 "PD_DRP", "PD_PPS", "BrickID"
450 What: /sys/class/power_supply/<supply_name>/voltage_max
452 Contact: linux-pm@vger.kernel.org
454 Reports the maximum VBUS voltage the supply can support.
457 Valid values: Represented in microvolts
459 What: /sys/class/power_supply/<supply_name>/voltage_min
461 Contact: linux-pm@vger.kernel.org
463 Reports the minimum VBUS voltage the supply can support.
466 Valid values: Represented in microvolts
468 What: /sys/class/power_supply/<supply_name>/voltage_now
470 Contact: linux-pm@vger.kernel.org
472 Reports the VBUS voltage supplied now. This value is generally
473 read-only reporting, unless the 'online' state of the supply
474 is set to be programmable, in which case this value can be set
475 within the reported min/max range.
478 Valid values: Represented in microvolts
480 ===== Device Specific Properties =====
482 What: /sys/class/power/ds2760-battery.*/charge_now
484 KernelVersion: 2.6.35
485 Contact: Daniel Mack <daniel@caiaq.de>
487 This file is writeable and can be used to set the current
488 coloumb counter value inside the battery monitor chip. This
489 is needed for unavoidable corrections of aging batteries.
490 A userspace daemon can monitor the battery charging logic
491 and once the counter drops out of considerable bounds, take
494 What: /sys/class/power/ds2760-battery.*/charge_full
496 KernelVersion: 2.6.35
497 Contact: Daniel Mack <daniel@caiaq.de>
499 This file is writeable and can be used to set the assumed
500 battery 'full level'. As batteries age, this value has to be
503 What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
505 KernelVersion: 3.18.0
506 Contact: Krzysztof Kozlowski <krzk@kernel.org>
508 This entry shows and sets the maximum time the max14577
509 charger operates in fast-charge mode. When the timer expires
510 the device will terminate fast-charge mode (charging current
511 will drop to 0 A) and will trigger interrupt.
517 What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
519 KernelVersion: 3.19.0
520 Contact: Krzysztof Kozlowski <krzk@kernel.org>
522 This entry shows and sets the maximum time the max77693
523 charger operates in fast-charge mode. When the timer expires
524 the device will terminate fast-charge mode (charging current
525 will drop to 0 A) and will trigger interrupt.
528 - 4 - 16 (hours), step by 2 (rounded down)
531 What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
533 KernelVersion: 3.19.0
534 Contact: Krzysztof Kozlowski <krzk@kernel.org>
536 This entry shows and sets the charging current threshold for
537 entering top-off charging mode. When charging current in fast
538 charge mode drops below this value, the charger will trigger
539 interrupt and start top-off charging mode.
542 - 100000 - 200000 (microamps), step by 25000 (rounded down)
543 - 200000 - 350000 (microamps), step by 50000 (rounded down)
546 What: /sys/class/power_supply/max77693-charger/device/top_off_timer
548 KernelVersion: 3.19.0
549 Contact: Krzysztof Kozlowski <krzk@kernel.org>
551 This entry shows and sets the maximum time the max77693
552 charger operates in top-off charge mode. When the timer expires
553 the device will terminate top-off charge mode (charging current
554 will drop to 0 A) and will trigger interrupt.
557 - 0 - 70 (minutes), step by 10 (rounded down)
559 What: /sys/class/power_supply/bq24257-charger/ovp_voltage
562 Contact: Andreas Dannenberg <dannenberg@ti.com>
564 This entry configures the overvoltage protection feature of bq24257-
565 type charger devices. This feature protects the device and other
566 components against damage from overvoltage on the input supply. See
567 device datasheet for details.
570 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
573 What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
576 Contact: Andreas Dannenberg <dannenberg@ti.com>
578 This entry configures the input dynamic power path management voltage of
579 bq24257-type charger devices. Once the supply drops to the configured
580 voltage, the input current limit is reduced down to prevent the further
581 drop of the supply. When the IC enters this mode, the charge current is
582 lower than the set value. See device datasheet for details.
585 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
588 What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
591 Contact: Andreas Dannenberg <dannenberg@ti.com>
593 This entry allows enabling the high-impedance mode of bq24257-type
594 charger devices. If enabled, it places the charger IC into low power
595 standby mode with the switch mode controller disabled. When disabled,
596 the charger operates normally. See device datasheet for details.
602 What: /sys/class/power_supply/bq24257-charger/sysoff_enable
605 Contact: Andreas Dannenberg <dannenberg@ti.com>
607 This entry allows enabling the sysoff mode of bq24257-type charger
608 devices. If enabled and the input is removed, the internal battery FET
609 is turned off in order to reduce the leakage from the BAT pin to less
610 than 1uA. Note that on some devices/systems this disconnects the battery
611 from the system. See device datasheet for details.