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"
194 What: /sys/class/power_supply/<supply_name>/precharge_current
196 Contact: linux-pm@vger.kernel.org
198 Reports the charging current applied during pre-charging phase
199 for a battery charge cycle.
202 Valid values: Represented in microamps
204 What: /sys/class/power_supply/<supply_name>/present
206 Contact: linux-pm@vger.kernel.org
208 Reports whether a battery is present or not in the system.
215 What: /sys/class/power_supply/<supply_name>/status
217 Contact: linux-pm@vger.kernel.org
219 Represents the charging status of the battery. Normally this
220 is read-only reporting although for some supplies this can be
221 used to enable/disable charging to the battery.
224 Valid values: "Unknown", "Charging", "Discharging",
225 "Not charging", "Full"
227 What: /sys/class/power_supply/<supply_name>/technology
229 Contact: linux-pm@vger.kernel.org
231 Describes the battery technology supported by the supply.
234 Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
237 What: /sys/class/power_supply/<supply_name>/temp
239 Contact: linux-pm@vger.kernel.org
241 Reports the current TBAT battery temperature reading.
244 Valid values: Represented in 1/10 Degrees Celsius
246 What: /sys/class/power_supply/<supply_name>/temp_alert_max
248 Contact: linux-pm@vger.kernel.org
250 Maximum TBAT temperature trip-wire value where the supply will
251 notify user-space of the event. This is normally used for the
252 battery charging scenario where user-space needs to know the
253 battery temperature has crossed an upper threshold so it can
254 take appropriate action (e.g. warning user that battery level is
255 critically high, and charging has stopped).
258 Valid values: Represented in 1/10 Degrees Celsius
260 What: /sys/class/power_supply/<supply_name>/temp_alert_min
262 Contact: linux-pm@vger.kernel.org
264 Minimum TBAT temperature trip-wire value where the supply will
265 notify user-space of the event. This is normally used for the
266 battery charging scenario where user-space needs to know the
267 battery temperature has crossed a lower threshold so it can take
268 appropriate action (e.g. warning user that battery level is
269 high, and charging current has been reduced accordingly to
270 remedy the situation).
273 Valid values: Represented in 1/10 Degrees Celsius
275 What: /sys/class/power_supply/<supply_name>/temp_max
277 Contact: linux-pm@vger.kernel.org
279 Reports the maximum allowed TBAT battery temperature for
283 Valid values: Represented in 1/10 Degrees Celsius
285 What: /sys/class/power_supply/<supply_name>/temp_min
287 Contact: linux-pm@vger.kernel.org
289 Reports the minimum allowed TBAT battery temperature for
293 Valid values: Represented in 1/10 Degrees Celsius
295 What: /sys/class/power_supply/<supply_name>/voltage_avg,
297 Contact: linux-pm@vger.kernel.org
299 Reports an average VBAT voltage reading for the battery, over a
300 fixed period. Normally devices will provide a fixed interval in
301 which they average readings to smooth out the reported value.
304 Valid values: Represented in microvolts
306 What: /sys/class/power_supply/<supply_name>/voltage_max,
308 Contact: linux-pm@vger.kernel.org
310 Reports the maximum safe VBAT voltage permitted for the battery,
314 Valid values: Represented in microvolts
316 What: /sys/class/power_supply/<supply_name>/voltage_min,
318 Contact: linux-pm@vger.kernel.org
320 Reports the minimum safe VBAT voltage permitted for the battery,
324 Valid values: Represented in microvolts
326 What: /sys/class/power_supply/<supply_name>/voltage_now,
328 Contact: linux-pm@vger.kernel.org
330 Reports an instant, single VBAT voltage reading for the battery.
331 This value is not averaged/smoothed.
334 Valid values: Represented in microvolts
336 ===== USB Properties =====
338 What: /sys/class/power_supply/<supply_name>/current_avg
340 Contact: linux-pm@vger.kernel.org
342 Reports an average IBUS current reading over a fixed period.
343 Normally devices will provide a fixed interval in which they
344 average readings to smooth out the reported value.
347 Valid values: Represented in microamps
350 What: /sys/class/power_supply/<supply_name>/current_max
352 Contact: linux-pm@vger.kernel.org
354 Reports the maximum IBUS current the supply can support.
357 Valid values: Represented in microamps
359 What: /sys/class/power_supply/<supply_name>/current_now
361 Contact: linux-pm@vger.kernel.org
363 Reports the IBUS current supplied now. This value is generally
364 read-only reporting, unless the 'online' state of the supply
365 is set to be programmable, in which case this value can be set
366 within the reported min/max range.
369 Valid values: Represented in microamps
371 What: /sys/class/power_supply/<supply_name>/input_current_limit
373 Contact: linux-pm@vger.kernel.org
375 Details the incoming IBUS current limit currently set in the
376 supply. Normally this is configured based on the type of
377 connection made (e.g. A configured SDP should output a maximum
378 of 500mA so the input current limit is set to the same value).
379 Use preferably input_power_limit, and for problems that can be
380 solved using power limit use input_current_limit.
383 Valid values: Represented in microamps
385 What: /sys/class/power_supply/<supply_name>/input_voltage_limit
387 Contact: linux-pm@vger.kernel.org
389 This entry configures the incoming VBUS voltage limit currently
390 set in the supply. Normally this is configured based on
391 system-level knowledge or user input (e.g. This is part of the
392 Pixel C's thermal management strategy to effectively limit the
393 input power to 5V when the screen is on to meet Google's skin
394 temperature targets). Note that this feature should not be
395 used for safety critical things.
396 Use preferably input_power_limit, and for problems that can be
397 solved using power limit use input_voltage_limit.
400 Valid values: Represented in microvolts
402 What: /sys/class/power_supply/<supply_name>/input_power_limit
404 Contact: linux-pm@vger.kernel.org
406 This entry configures the incoming power limit currently set
407 in the supply. Normally this is configured based on
408 system-level knowledge or user input. Use preferably this
409 feature to limit the incoming power and use current/voltage
410 limit only for problems that can be solved using power limit.
413 Valid values: Represented in microwatts
415 What: /sys/class/power_supply/<supply_name>/online,
417 Contact: linux-pm@vger.kernel.org
419 Indicates if VBUS is present for the supply. When the supply is
420 online, and the supply allows it, then it's possible to switch
421 between online states (e.g. Fixed -> Programmable for a PD_PPS
422 USB supply so voltage and current can be controlled).
427 1: Online Fixed - Fixed Voltage Supply
428 2: Online Programmable - Programmable Voltage Supply
430 What: /sys/class/power_supply/<supply_name>/temp
432 Contact: linux-pm@vger.kernel.org
434 Reports the current supply temperature reading. This would
435 normally be the internal temperature of the device itself (e.g
436 TJUNC temperature of an IC)
439 Valid values: Represented in 1/10 Degrees Celsius
441 What: /sys/class/power_supply/<supply_name>/temp_alert_max
443 Contact: linux-pm@vger.kernel.org
445 Maximum supply temperature trip-wire value where the supply will
446 notify user-space of the event. This is normally used for the
447 charging scenario where user-space needs to know the supply
448 temperature has crossed an upper threshold so it can take
449 appropriate action (e.g. warning user that the supply
450 temperature is critically high, and charging has stopped to
451 remedy the situation).
454 Valid values: Represented in 1/10 Degrees Celsius
456 What: /sys/class/power_supply/<supply_name>/temp_alert_min
458 Contact: linux-pm@vger.kernel.org
460 Minimum supply temperature trip-wire value where the supply will
461 notify user-space of the event. This is normally used for the
462 charging scenario where user-space needs to know the supply
463 temperature has crossed a lower threshold so it can take
464 appropriate action (e.g. warning user that the supply
465 temperature is high, and charging current has been reduced
466 accordingly to remedy the situation).
469 Valid values: Represented in 1/10 Degrees Celsius
471 What: /sys/class/power_supply/<supply_name>/temp_max
473 Contact: linux-pm@vger.kernel.org
475 Reports the maximum allowed supply temperature for operation.
478 Valid values: Represented in 1/10 Degrees Celsius
480 What: /sys/class/power_supply/<supply_name>/temp_min
482 Contact: linux-pm@vger.kernel.org
484 Reports the mainimum allowed supply temperature for operation.
487 Valid values: Represented in 1/10 Degrees Celsius
489 What: /sys/class/power_supply/<supply_name>/usb_type
491 Contact: linux-pm@vger.kernel.org
493 Reports what type of USB connection is currently active for
494 the supply, for example it can show if USB-PD capable source
498 Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
499 "PD_DRP", "PD_PPS", "BrickID"
501 What: /sys/class/power_supply/<supply_name>/voltage_max
503 Contact: linux-pm@vger.kernel.org
505 Reports the maximum VBUS voltage the supply can support.
508 Valid values: Represented in microvolts
510 What: /sys/class/power_supply/<supply_name>/voltage_min
512 Contact: linux-pm@vger.kernel.org
514 Reports the minimum VBUS voltage the supply can support.
517 Valid values: Represented in microvolts
519 What: /sys/class/power_supply/<supply_name>/voltage_now
521 Contact: linux-pm@vger.kernel.org
523 Reports the VBUS voltage supplied now. This value is generally
524 read-only reporting, unless the 'online' state of the supply
525 is set to be programmable, in which case this value can be set
526 within the reported min/max range.
529 Valid values: Represented in microvolts
531 ===== Device Specific Properties =====
533 What: /sys/class/power/ds2760-battery.*/charge_now
535 KernelVersion: 2.6.35
536 Contact: Daniel Mack <daniel@caiaq.de>
538 This file is writeable and can be used to set the current
539 coloumb counter value inside the battery monitor chip. This
540 is needed for unavoidable corrections of aging batteries.
541 A userspace daemon can monitor the battery charging logic
542 and once the counter drops out of considerable bounds, take
545 What: /sys/class/power/ds2760-battery.*/charge_full
547 KernelVersion: 2.6.35
548 Contact: Daniel Mack <daniel@caiaq.de>
550 This file is writeable and can be used to set the assumed
551 battery 'full level'. As batteries age, this value has to be
554 What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
556 KernelVersion: 3.18.0
557 Contact: Krzysztof Kozlowski <krzk@kernel.org>
559 This entry shows and sets the maximum time the max14577
560 charger operates in fast-charge mode. When the timer expires
561 the device will terminate fast-charge mode (charging current
562 will drop to 0 A) and will trigger interrupt.
568 What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
570 KernelVersion: 3.19.0
571 Contact: Krzysztof Kozlowski <krzk@kernel.org>
573 This entry shows and sets the maximum time the max77693
574 charger operates in fast-charge mode. When the timer expires
575 the device will terminate fast-charge mode (charging current
576 will drop to 0 A) and will trigger interrupt.
579 - 4 - 16 (hours), step by 2 (rounded down)
582 What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
584 KernelVersion: 3.19.0
585 Contact: Krzysztof Kozlowski <krzk@kernel.org>
587 This entry shows and sets the charging current threshold for
588 entering top-off charging mode. When charging current in fast
589 charge mode drops below this value, the charger will trigger
590 interrupt and start top-off charging mode.
593 - 100000 - 200000 (microamps), step by 25000 (rounded down)
594 - 200000 - 350000 (microamps), step by 50000 (rounded down)
597 What: /sys/class/power_supply/max77693-charger/device/top_off_timer
599 KernelVersion: 3.19.0
600 Contact: Krzysztof Kozlowski <krzk@kernel.org>
602 This entry shows and sets the maximum time the max77693
603 charger operates in top-off charge mode. When the timer expires
604 the device will terminate top-off charge mode (charging current
605 will drop to 0 A) and will trigger interrupt.
608 - 0 - 70 (minutes), step by 10 (rounded down)
610 What: /sys/class/power_supply/bq24257-charger/ovp_voltage
613 Contact: Andreas Dannenberg <dannenberg@ti.com>
615 This entry configures the overvoltage protection feature of bq24257-
616 type charger devices. This feature protects the device and other
617 components against damage from overvoltage on the input supply. See
618 device datasheet for details.
621 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
624 What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
627 Contact: Andreas Dannenberg <dannenberg@ti.com>
629 This entry configures the input dynamic power path management voltage of
630 bq24257-type charger devices. Once the supply drops to the configured
631 voltage, the input current limit is reduced down to prevent the further
632 drop of the supply. When the IC enters this mode, the charge current is
633 lower than the set value. See device datasheet for details.
636 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
639 What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
642 Contact: Andreas Dannenberg <dannenberg@ti.com>
644 This entry allows enabling the high-impedance mode of bq24257-type
645 charger devices. If enabled, it places the charger IC into low power
646 standby mode with the switch mode controller disabled. When disabled,
647 the charger operates normally. See device datasheet for details.
653 What: /sys/class/power_supply/bq24257-charger/sysoff_enable
656 Contact: Andreas Dannenberg <dannenberg@ti.com>
658 This entry allows enabling the sysoff mode of bq24257-type charger
659 devices. If enabled and the input is removed, the internal battery FET
660 is turned off in order to reduce the leakage from the BAT pin to less
661 than 1uA. Note that on some devices/systems this disconnects the battery
662 from the system. See device datasheet for details.