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_type
119 Contact: linux-pm@vger.kernel.org
121 Represents the type of charging currently being applied to the
122 battery. "Trickle", "Fast", and "Standard" all mean different
123 charging speeds. "Adaptive" means that the charger uses some
124 algorithm to adjust the charge rate dynamically, without
125 any user configuration required. "Custom" means that the charger
126 uses the charge_control_* properties as configuration for some
130 Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard",
133 What: /sys/class/power_supply/<supply_name>/charge_term_current
135 Contact: linux-pm@vger.kernel.org
137 Reports the charging current value which is used to determine
138 when the battery is considered full and charging should end.
141 Valid values: Represented in microamps
143 What: /sys/class/power_supply/<supply_name>/health
145 Contact: linux-pm@vger.kernel.org
147 Reports the health of the battery or battery side of charger
151 Valid values: "Unknown", "Good", "Overheat", "Dead",
152 "Over voltage", "Unspecified failure", "Cold",
153 "Watchdog timer expire", "Safety timer expire"
155 What: /sys/class/power_supply/<supply_name>/precharge_current
157 Contact: linux-pm@vger.kernel.org
159 Reports the charging current applied during pre-charging phase
160 for a battery charge cycle.
163 Valid values: Represented in microamps
165 What: /sys/class/power_supply/<supply_name>/present
167 Contact: linux-pm@vger.kernel.org
169 Reports whether a battery is present or not in the system.
176 What: /sys/class/power_supply/<supply_name>/status
178 Contact: linux-pm@vger.kernel.org
180 Represents the charging status of the battery. Normally this
181 is read-only reporting although for some supplies this can be
182 used to enable/disable charging to the battery.
185 Valid values: "Unknown", "Charging", "Discharging",
186 "Not charging", "Full"
188 What: /sys/class/power_supply/<supply_name>/technology
190 Contact: linux-pm@vger.kernel.org
192 Describes the battery technology supported by the supply.
195 Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
198 What: /sys/class/power_supply/<supply_name>/temp
200 Contact: linux-pm@vger.kernel.org
202 Reports the current TBAT battery temperature reading.
205 Valid values: Represented in 1/10 Degrees Celsius
207 What: /sys/class/power_supply/<supply_name>/temp_alert_max
209 Contact: linux-pm@vger.kernel.org
211 Maximum TBAT temperature trip-wire value where the supply will
212 notify user-space of the event. This is normally used for the
213 battery charging scenario where user-space needs to know the
214 battery temperature has crossed an upper threshold so it can
215 take appropriate action (e.g. warning user that battery level is
216 critically high, and charging has stopped).
219 Valid values: Represented in 1/10 Degrees Celsius
221 What: /sys/class/power_supply/<supply_name>/temp_alert_min
223 Contact: linux-pm@vger.kernel.org
225 Minimum TBAT temperature trip-wire value where the supply will
226 notify user-space of the event. This is normally used for the
227 battery charging scenario where user-space needs to know the
228 battery temperature has crossed a lower threshold so it can take
229 appropriate action (e.g. warning user that battery level is
230 high, and charging current has been reduced accordingly to
231 remedy the situation).
234 Valid values: Represented in 1/10 Degrees Celsius
236 What: /sys/class/power_supply/<supply_name>/temp_max
238 Contact: linux-pm@vger.kernel.org
240 Reports the maximum allowed TBAT battery temperature for
244 Valid values: Represented in 1/10 Degrees Celsius
246 What: /sys/class/power_supply/<supply_name>/temp_min
248 Contact: linux-pm@vger.kernel.org
250 Reports the minimum allowed TBAT battery temperature for
254 Valid values: Represented in 1/10 Degrees Celsius
256 What: /sys/class/power_supply/<supply_name>/voltage_avg,
258 Contact: linux-pm@vger.kernel.org
260 Reports an average VBAT voltage reading for the battery, over a
261 fixed period. Normally devices will provide a fixed interval in
262 which they average readings to smooth out the reported value.
265 Valid values: Represented in microvolts
267 What: /sys/class/power_supply/<supply_name>/voltage_max,
269 Contact: linux-pm@vger.kernel.org
271 Reports the maximum safe VBAT voltage permitted for the battery,
275 Valid values: Represented in microvolts
277 What: /sys/class/power_supply/<supply_name>/voltage_min,
279 Contact: linux-pm@vger.kernel.org
281 Reports the minimum safe VBAT voltage permitted for the battery,
285 Valid values: Represented in microvolts
287 What: /sys/class/power_supply/<supply_name>/voltage_now,
289 Contact: linux-pm@vger.kernel.org
291 Reports an instant, single VBAT voltage reading for the battery.
292 This value is not averaged/smoothed.
295 Valid values: Represented in microvolts
297 ===== USB Properties =====
299 What: /sys/class/power_supply/<supply_name>/current_avg
301 Contact: linux-pm@vger.kernel.org
303 Reports an average IBUS current reading over a fixed period.
304 Normally devices will provide a fixed interval in which they
305 average readings to smooth out the reported value.
308 Valid values: Represented in microamps
311 What: /sys/class/power_supply/<supply_name>/current_max
313 Contact: linux-pm@vger.kernel.org
315 Reports the maximum IBUS current the supply can support.
318 Valid values: Represented in microamps
320 What: /sys/class/power_supply/<supply_name>/current_now
322 Contact: linux-pm@vger.kernel.org
324 Reports the IBUS current supplied now. This value is generally
325 read-only reporting, unless the 'online' state of the supply
326 is set to be programmable, in which case this value can be set
327 within the reported min/max range.
330 Valid values: Represented in microamps
332 What: /sys/class/power_supply/<supply_name>/input_current_limit
334 Contact: linux-pm@vger.kernel.org
336 Details the incoming IBUS current limit currently set in the
337 supply. Normally this is configured based on the type of
338 connection made (e.g. A configured SDP should output a maximum
339 of 500mA so the input current limit is set to the same value).
342 Valid values: Represented in microamps
344 What: /sys/class/power_supply/<supply_name>/online,
346 Contact: linux-pm@vger.kernel.org
348 Indicates if VBUS is present for the supply. When the supply is
349 online, and the supply allows it, then it's possible to switch
350 between online states (e.g. Fixed -> Programmable for a PD_PPS
351 USB supply so voltage and current can be controlled).
356 1: Online Fixed - Fixed Voltage Supply
357 2: Online Programmable - Programmable Voltage Supply
359 What: /sys/class/power_supply/<supply_name>/temp
361 Contact: linux-pm@vger.kernel.org
363 Reports the current supply temperature reading. This would
364 normally be the internal temperature of the device itself (e.g
365 TJUNC temperature of an IC)
368 Valid values: Represented in 1/10 Degrees Celsius
370 What: /sys/class/power_supply/<supply_name>/temp_alert_max
372 Contact: linux-pm@vger.kernel.org
374 Maximum supply temperature trip-wire value where the supply will
375 notify user-space of the event. This is normally used for the
376 charging scenario where user-space needs to know the supply
377 temperature has crossed an upper threshold so it can take
378 appropriate action (e.g. warning user that the supply
379 temperature is critically high, and charging has stopped to
380 remedy the situation).
383 Valid values: Represented in 1/10 Degrees Celsius
385 What: /sys/class/power_supply/<supply_name>/temp_alert_min
387 Contact: linux-pm@vger.kernel.org
389 Minimum supply temperature trip-wire value where the supply will
390 notify user-space of the event. This is normally used for the
391 charging scenario where user-space needs to know the supply
392 temperature has crossed a lower threshold so it can take
393 appropriate action (e.g. warning user that the supply
394 temperature is high, and charging current has been reduced
395 accordingly to remedy the situation).
398 Valid values: Represented in 1/10 Degrees Celsius
400 What: /sys/class/power_supply/<supply_name>/temp_max
402 Contact: linux-pm@vger.kernel.org
404 Reports the maximum allowed supply temperature for operation.
407 Valid values: Represented in 1/10 Degrees Celsius
409 What: /sys/class/power_supply/<supply_name>/temp_min
411 Contact: linux-pm@vger.kernel.org
413 Reports the mainimum allowed supply temperature for operation.
416 Valid values: Represented in 1/10 Degrees Celsius
418 What: /sys/class/power_supply/<supply_name>/usb_type
420 Contact: linux-pm@vger.kernel.org
422 Reports what type of USB connection is currently active for
423 the supply, for example it can show if USB-PD capable source
427 Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
428 "PD_DRP", "PD_PPS", "BrickID"
430 What: /sys/class/power_supply/<supply_name>/voltage_max
432 Contact: linux-pm@vger.kernel.org
434 Reports the maximum VBUS voltage the supply can support.
437 Valid values: Represented in microvolts
439 What: /sys/class/power_supply/<supply_name>/voltage_min
441 Contact: linux-pm@vger.kernel.org
443 Reports the minimum VBUS voltage the supply can support.
446 Valid values: Represented in microvolts
448 What: /sys/class/power_supply/<supply_name>/voltage_now
450 Contact: linux-pm@vger.kernel.org
452 Reports the VBUS voltage supplied now. This value is generally
453 read-only reporting, unless the 'online' state of the supply
454 is set to be programmable, in which case this value can be set
455 within the reported min/max range.
458 Valid values: Represented in microvolts
460 ===== Device Specific Properties =====
462 What: /sys/class/power/ds2760-battery.*/charge_now
464 KernelVersion: 2.6.35
465 Contact: Daniel Mack <daniel@caiaq.de>
467 This file is writeable and can be used to set the current
468 coloumb counter value inside the battery monitor chip. This
469 is needed for unavoidable corrections of aging batteries.
470 A userspace daemon can monitor the battery charging logic
471 and once the counter drops out of considerable bounds, take
474 What: /sys/class/power/ds2760-battery.*/charge_full
476 KernelVersion: 2.6.35
477 Contact: Daniel Mack <daniel@caiaq.de>
479 This file is writeable and can be used to set the assumed
480 battery 'full level'. As batteries age, this value has to be
483 What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
485 KernelVersion: 3.18.0
486 Contact: Krzysztof Kozlowski <krzk@kernel.org>
488 This entry shows and sets the maximum time the max14577
489 charger operates in fast-charge mode. When the timer expires
490 the device will terminate fast-charge mode (charging current
491 will drop to 0 A) and will trigger interrupt.
497 What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
499 KernelVersion: 3.19.0
500 Contact: Krzysztof Kozlowski <krzk@kernel.org>
502 This entry shows and sets the maximum time the max77693
503 charger operates in fast-charge mode. When the timer expires
504 the device will terminate fast-charge mode (charging current
505 will drop to 0 A) and will trigger interrupt.
508 - 4 - 16 (hours), step by 2 (rounded down)
511 What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
513 KernelVersion: 3.19.0
514 Contact: Krzysztof Kozlowski <krzk@kernel.org>
516 This entry shows and sets the charging current threshold for
517 entering top-off charging mode. When charging current in fast
518 charge mode drops below this value, the charger will trigger
519 interrupt and start top-off charging mode.
522 - 100000 - 200000 (microamps), step by 25000 (rounded down)
523 - 200000 - 350000 (microamps), step by 50000 (rounded down)
526 What: /sys/class/power_supply/max77693-charger/device/top_off_timer
528 KernelVersion: 3.19.0
529 Contact: Krzysztof Kozlowski <krzk@kernel.org>
531 This entry shows and sets the maximum time the max77693
532 charger operates in top-off charge mode. When the timer expires
533 the device will terminate top-off charge mode (charging current
534 will drop to 0 A) and will trigger interrupt.
537 - 0 - 70 (minutes), step by 10 (rounded down)
539 What: /sys/class/power_supply/bq24257-charger/ovp_voltage
542 Contact: Andreas Dannenberg <dannenberg@ti.com>
544 This entry configures the overvoltage protection feature of bq24257-
545 type charger devices. This feature protects the device and other
546 components against damage from overvoltage on the input supply. See
547 device datasheet for details.
550 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
553 What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
556 Contact: Andreas Dannenberg <dannenberg@ti.com>
558 This entry configures the input dynamic power path management voltage of
559 bq24257-type charger devices. Once the supply drops to the configured
560 voltage, the input current limit is reduced down to prevent the further
561 drop of the supply. When the IC enters this mode, the charge current is
562 lower than the set value. See device datasheet for details.
565 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
568 What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
571 Contact: Andreas Dannenberg <dannenberg@ti.com>
573 This entry allows enabling the high-impedance mode of bq24257-type
574 charger devices. If enabled, it places the charger IC into low power
575 standby mode with the switch mode controller disabled. When disabled,
576 the charger operates normally. See device datasheet for details.
582 What: /sys/class/power_supply/bq24257-charger/sysoff_enable
585 Contact: Andreas Dannenberg <dannenberg@ti.com>
587 This entry allows enabling the sysoff mode of bq24257-type charger
588 devices. If enabled and the input is removed, the internal battery FET
589 is turned off in order to reduce the leakage from the BAT pin to less
590 than 1uA. Note that on some devices/systems this disconnects the battery
591 from the system. See device datasheet for details.