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
125 Valid values: "Unknown", "N/A", "Trickle", "Fast"
127 What: /sys/class/power_supply/<supply_name>/charge_term_current
129 Contact: linux-pm@vger.kernel.org
131 Reports the charging current value which is used to determine
132 when the battery is considered full and charging should end.
135 Valid values: Represented in microamps
137 What: /sys/class/power_supply/<supply_name>/health
139 Contact: linux-pm@vger.kernel.org
141 Reports the health of the battery or battery side of charger
145 Valid values: "Unknown", "Good", "Overheat", "Dead",
146 "Over voltage", "Unspecified failure", "Cold",
147 "Watchdog timer expire", "Safety timer expire"
149 What: /sys/class/power_supply/<supply_name>/precharge_current
151 Contact: linux-pm@vger.kernel.org
153 Reports the charging current applied during pre-charging phase
154 for a battery charge cycle.
157 Valid values: Represented in microamps
159 What: /sys/class/power_supply/<supply_name>/present
161 Contact: linux-pm@vger.kernel.org
163 Reports whether a battery is present or not in the system.
170 What: /sys/class/power_supply/<supply_name>/status
172 Contact: linux-pm@vger.kernel.org
174 Represents the charging status of the battery. Normally this
175 is read-only reporting although for some supplies this can be
176 used to enable/disable charging to the battery.
179 Valid values: "Unknown", "Charging", "Discharging",
180 "Not charging", "Full"
182 What: /sys/class/power_supply/<supply_name>/technology
184 Contact: linux-pm@vger.kernel.org
186 Describes the battery technology supported by the supply.
189 Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
192 What: /sys/class/power_supply/<supply_name>/temp
194 Contact: linux-pm@vger.kernel.org
196 Reports the current TBAT battery temperature reading.
199 Valid values: Represented in 1/10 Degrees Celsius
201 What: /sys/class/power_supply/<supply_name>/temp_alert_max
203 Contact: linux-pm@vger.kernel.org
205 Maximum TBAT temperature trip-wire value where the supply will
206 notify user-space of the event. This is normally used for the
207 battery charging scenario where user-space needs to know the
208 battery temperature has crossed an upper threshold so it can
209 take appropriate action (e.g. warning user that battery level is
210 critically high, and charging has stopped).
213 Valid values: Represented in 1/10 Degrees Celsius
215 What: /sys/class/power_supply/<supply_name>/temp_alert_min
217 Contact: linux-pm@vger.kernel.org
219 Minimum TBAT temperature trip-wire value where the supply will
220 notify user-space of the event. This is normally used for the
221 battery charging scenario where user-space needs to know the
222 battery temperature has crossed a lower threshold so it can take
223 appropriate action (e.g. warning user that battery level is
224 high, and charging current has been reduced accordingly to
225 remedy the situation).
228 Valid values: Represented in 1/10 Degrees Celsius
230 What: /sys/class/power_supply/<supply_name>/temp_max
232 Contact: linux-pm@vger.kernel.org
234 Reports the maximum allowed TBAT battery temperature for
238 Valid values: Represented in 1/10 Degrees Celsius
240 What: /sys/class/power_supply/<supply_name>/temp_min
242 Contact: linux-pm@vger.kernel.org
244 Reports the minimum allowed TBAT battery temperature for
248 Valid values: Represented in 1/10 Degrees Celsius
250 What: /sys/class/power_supply/<supply_name>/voltage_avg,
252 Contact: linux-pm@vger.kernel.org
254 Reports an average VBAT voltage reading for the battery, over a
255 fixed period. Normally devices will provide a fixed interval in
256 which they average readings to smooth out the reported value.
259 Valid values: Represented in microvolts
261 What: /sys/class/power_supply/<supply_name>/voltage_max,
263 Contact: linux-pm@vger.kernel.org
265 Reports the maximum safe VBAT voltage permitted for the battery,
269 Valid values: Represented in microvolts
271 What: /sys/class/power_supply/<supply_name>/voltage_min,
273 Contact: linux-pm@vger.kernel.org
275 Reports the minimum safe VBAT voltage permitted for the battery,
279 Valid values: Represented in microvolts
281 What: /sys/class/power_supply/<supply_name>/voltage_now,
283 Contact: linux-pm@vger.kernel.org
285 Reports an instant, single VBAT voltage reading for the battery.
286 This value is not averaged/smoothed.
289 Valid values: Represented in microvolts
291 ===== USB Properties =====
293 What: /sys/class/power_supply/<supply_name>/current_avg
295 Contact: linux-pm@vger.kernel.org
297 Reports an average IBUS current reading over a fixed period.
298 Normally devices will provide a fixed interval in which they
299 average readings to smooth out the reported value.
302 Valid values: Represented in microamps
305 What: /sys/class/power_supply/<supply_name>/current_max
307 Contact: linux-pm@vger.kernel.org
309 Reports the maximum IBUS current the supply can support.
312 Valid values: Represented in microamps
314 What: /sys/class/power_supply/<supply_name>/current_now
316 Contact: linux-pm@vger.kernel.org
318 Reports the IBUS current supplied now. This value is generally
319 read-only reporting, unless the 'online' state of the supply
320 is set to be programmable, in which case this value can be set
321 within the reported min/max range.
324 Valid values: Represented in microamps
326 What: /sys/class/power_supply/<supply_name>/input_current_limit
328 Contact: linux-pm@vger.kernel.org
330 Details the incoming IBUS current limit currently set in the
331 supply. Normally this is configured based on the type of
332 connection made (e.g. A configured SDP should output a maximum
333 of 500mA so the input current limit is set to the same value).
336 Valid values: Represented in microamps
338 What: /sys/class/power_supply/<supply_name>/online,
340 Contact: linux-pm@vger.kernel.org
342 Indicates if VBUS is present for the supply. When the supply is
343 online, and the supply allows it, then it's possible to switch
344 between online states (e.g. Fixed -> Programmable for a PD_PPS
345 USB supply so voltage and current can be controlled).
350 1: Online Fixed - Fixed Voltage Supply
351 2: Online Programmable - Programmable Voltage Supply
353 What: /sys/class/power_supply/<supply_name>/temp
355 Contact: linux-pm@vger.kernel.org
357 Reports the current supply temperature reading. This would
358 normally be the internal temperature of the device itself (e.g
359 TJUNC temperature of an IC)
362 Valid values: Represented in 1/10 Degrees Celsius
364 What: /sys/class/power_supply/<supply_name>/temp_alert_max
366 Contact: linux-pm@vger.kernel.org
368 Maximum supply temperature trip-wire value where the supply will
369 notify user-space of the event. This is normally used for the
370 charging scenario where user-space needs to know the supply
371 temperature has crossed an upper threshold so it can take
372 appropriate action (e.g. warning user that the supply
373 temperature is critically high, and charging has stopped to
374 remedy the situation).
377 Valid values: Represented in 1/10 Degrees Celsius
379 What: /sys/class/power_supply/<supply_name>/temp_alert_min
381 Contact: linux-pm@vger.kernel.org
383 Minimum supply temperature trip-wire value where the supply will
384 notify user-space of the event. This is normally used for the
385 charging scenario where user-space needs to know the supply
386 temperature has crossed a lower threshold so it can take
387 appropriate action (e.g. warning user that the supply
388 temperature is high, and charging current has been reduced
389 accordingly to remedy the situation).
392 Valid values: Represented in 1/10 Degrees Celsius
394 What: /sys/class/power_supply/<supply_name>/temp_max
396 Contact: linux-pm@vger.kernel.org
398 Reports the maximum allowed supply temperature for operation.
401 Valid values: Represented in 1/10 Degrees Celsius
403 What: /sys/class/power_supply/<supply_name>/temp_min
405 Contact: linux-pm@vger.kernel.org
407 Reports the mainimum allowed supply temperature for operation.
410 Valid values: Represented in 1/10 Degrees Celsius
412 What: /sys/class/power_supply/<supply_name>/usb_type
414 Contact: linux-pm@vger.kernel.org
416 Reports what type of USB connection is currently active for
417 the supply, for example it can show if USB-PD capable source
421 Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
422 "PD_DRP", "PD_PPS", "BrickID"
424 What: /sys/class/power_supply/<supply_name>/voltage_max
426 Contact: linux-pm@vger.kernel.org
428 Reports the maximum VBUS voltage the supply can support.
431 Valid values: Represented in microvolts
433 What: /sys/class/power_supply/<supply_name>/voltage_min
435 Contact: linux-pm@vger.kernel.org
437 Reports the minimum VBUS voltage the supply can support.
440 Valid values: Represented in microvolts
442 What: /sys/class/power_supply/<supply_name>/voltage_now
444 Contact: linux-pm@vger.kernel.org
446 Reports the VBUS voltage supplied now. This value is generally
447 read-only reporting, unless the 'online' state of the supply
448 is set to be programmable, in which case this value can be set
449 within the reported min/max range.
452 Valid values: Represented in microvolts
454 ===== Device Specific Properties =====
456 What: /sys/class/power/ds2760-battery.*/charge_now
458 KernelVersion: 2.6.35
459 Contact: Daniel Mack <daniel@caiaq.de>
461 This file is writeable and can be used to set the current
462 coloumb counter value inside the battery monitor chip. This
463 is needed for unavoidable corrections of aging batteries.
464 A userspace daemon can monitor the battery charging logic
465 and once the counter drops out of considerable bounds, take
468 What: /sys/class/power/ds2760-battery.*/charge_full
470 KernelVersion: 2.6.35
471 Contact: Daniel Mack <daniel@caiaq.de>
473 This file is writeable and can be used to set the assumed
474 battery 'full level'. As batteries age, this value has to be
477 What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
479 KernelVersion: 3.18.0
480 Contact: Krzysztof Kozlowski <krzk@kernel.org>
482 This entry shows and sets the maximum time the max14577
483 charger operates in fast-charge mode. When the timer expires
484 the device will terminate fast-charge mode (charging current
485 will drop to 0 A) and will trigger interrupt.
491 What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
493 KernelVersion: 3.19.0
494 Contact: Krzysztof Kozlowski <krzk@kernel.org>
496 This entry shows and sets the maximum time the max77693
497 charger operates in fast-charge mode. When the timer expires
498 the device will terminate fast-charge mode (charging current
499 will drop to 0 A) and will trigger interrupt.
502 - 4 - 16 (hours), step by 2 (rounded down)
505 What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
507 KernelVersion: 3.19.0
508 Contact: Krzysztof Kozlowski <krzk@kernel.org>
510 This entry shows and sets the charging current threshold for
511 entering top-off charging mode. When charging current in fast
512 charge mode drops below this value, the charger will trigger
513 interrupt and start top-off charging mode.
516 - 100000 - 200000 (microamps), step by 25000 (rounded down)
517 - 200000 - 350000 (microamps), step by 50000 (rounded down)
520 What: /sys/class/power_supply/max77693-charger/device/top_off_timer
522 KernelVersion: 3.19.0
523 Contact: Krzysztof Kozlowski <krzk@kernel.org>
525 This entry shows and sets the maximum time the max77693
526 charger operates in top-off charge mode. When the timer expires
527 the device will terminate top-off charge mode (charging current
528 will drop to 0 A) and will trigger interrupt.
531 - 0 - 70 (minutes), step by 10 (rounded down)
533 What: /sys/class/power_supply/bq24257-charger/ovp_voltage
536 Contact: Andreas Dannenberg <dannenberg@ti.com>
538 This entry configures the overvoltage protection feature of bq24257-
539 type charger devices. This feature protects the device and other
540 components against damage from overvoltage on the input supply. See
541 device datasheet for details.
544 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
547 What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
550 Contact: Andreas Dannenberg <dannenberg@ti.com>
552 This entry configures the input dynamic power path management voltage of
553 bq24257-type charger devices. Once the supply drops to the configured
554 voltage, the input current limit is reduced down to prevent the further
555 drop of the supply. When the IC enters this mode, the charge current is
556 lower than the set value. See device datasheet for details.
559 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
562 What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
565 Contact: Andreas Dannenberg <dannenberg@ti.com>
567 This entry allows enabling the high-impedance mode of bq24257-type
568 charger devices. If enabled, it places the charger IC into low power
569 standby mode with the switch mode controller disabled. When disabled,
570 the charger operates normally. See device datasheet for details.
576 What: /sys/class/power_supply/bq24257-charger/sysoff_enable
579 Contact: Andreas Dannenberg <dannenberg@ti.com>
581 This entry allows enabling the sysoff mode of bq24257-type charger
582 devices. If enabled and the input is removed, the internal battery FET
583 is turned off in order to reduce the leakage from the BAT pin to less
584 than 1uA. Note that on some devices/systems this disconnects the battery
585 from the system. See device datasheet for details.