Loading...
1**General Properties**
2
3What: /sys/class/power_supply/<supply_name>/manufacturer
4Date: May 2007
5Contact: linux-pm@vger.kernel.org
6Description:
7 Reports the name of the device manufacturer.
8
9 Access: Read
10 Valid values: Represented as string
11
12What: /sys/class/power_supply/<supply_name>/model_name
13Date: May 2007
14Contact: linux-pm@vger.kernel.org
15Description:
16 Reports the name of the device model.
17
18 Access: Read
19 Valid values: Represented as string
20
21What: /sys/class/power_supply/<supply_name>/serial_number
22Date: January 2008
23Contact: linux-pm@vger.kernel.org
24Description:
25 Reports the serial number of the device.
26
27 Access: Read
28 Valid values: Represented as string
29
30What: /sys/class/power_supply/<supply_name>/type
31Date: May 2010
32Contact: linux-pm@vger.kernel.org
33Description:
34 Describes the main type of the supply.
35
36 Access: Read
37 Valid values: "Battery", "UPS", "Mains", "USB", "Wireless"
38
39**Battery and USB properties**
40
41What: /sys/class/power_supply/<supply_name>/current_avg
42Date: May 2007
43Contact: linux-pm@vger.kernel.org
44Description:
45 Battery:
46
47 Reports an average IBAT current reading for the battery, over
48 a fixed period. Normally devices will provide a fixed interval
49 in which they average readings to smooth out the reported
50 value.
51
52 USB:
53
54 Reports an average IBUS current reading over a fixed period.
55 Normally devices will provide a fixed interval in which they
56 average readings to smooth out the reported value.
57
58 Access: Read
59
60 Valid values: Represented in microamps. Negative values are
61 used for discharging batteries, positive values for charging
62 batteries and for USB IBUS current.
63
64What: /sys/class/power_supply/<supply_name>/current_max
65Date: October 2010
66Contact: linux-pm@vger.kernel.org
67Description:
68 Battery:
69
70 Reports the maximum IBAT current allowed into the battery.
71
72 USB:
73
74 Reports the maximum IBUS current the supply can support.
75
76 Access: Read
77 Valid values: Represented in microamps
78
79What: /sys/class/power_supply/<supply_name>/current_now
80Date: May 2007
81Contact: linux-pm@vger.kernel.org
82Description:
83
84 Battery:
85
86 Reports an instant, single IBAT current reading for the
87 battery. This value is not averaged/smoothed.
88
89 Access: Read
90
91 USB:
92
93 Reports the IBUS current supplied now. This value is generally
94 read-only reporting, unless the 'online' state of the supply
95 is set to be programmable, in which case this value can be set
96 within the reported min/max range.
97
98 Access: Read, Write
99
100 Valid values: Represented in microamps. Negative values are
101 used for discharging batteries, positive values for charging
102 batteries and for USB IBUS current.
103
104What: /sys/class/power_supply/<supply_name>/temp
105Date: May 2007
106Contact: linux-pm@vger.kernel.org
107Description:
108 Battery:
109
110 Reports the current TBAT battery temperature reading.
111
112 USB:
113
114 Reports the current supply temperature reading. This would
115 normally be the internal temperature of the device itself
116 (e.g TJUNC temperature of an IC)
117
118 Access: Read
119
120 Valid values: Represented in 1/10 Degrees Celsius
121
122What: /sys/class/power_supply/<supply_name>/temp_alert_max
123Date: July 2012
124Contact: linux-pm@vger.kernel.org
125Description:
126 Battery:
127
128 Maximum TBAT temperature trip-wire value where the supply will
129 notify user-space of the event.
130
131 USB:
132
133 Maximum supply temperature trip-wire value where the supply
134 will notify user-space of the event.
135
136 This is normally used for the charging scenario where
137 user-space needs to know if the temperature has crossed an
138 upper threshold so it can take appropriate action (e.g. warning
139 user that the temperature is critically high, and charging has
140 stopped).
141
142 Access: Read
143
144 Valid values: Represented in 1/10 Degrees Celsius
145
146What: /sys/class/power_supply/<supply_name>/temp_alert_min
147Date: July 2012
148Contact: linux-pm@vger.kernel.org
149Description:
150
151 Battery:
152
153 Minimum TBAT temperature trip-wire value where the supply will
154 notify user-space of the event.
155
156 USB:
157
158 Minimum supply temperature trip-wire value where the supply
159 will notify user-space of the event.
160
161 This is normally used for the charging scenario where user-space
162 needs to know if the temperature has crossed a lower threshold
163 so it can take appropriate action (e.g. warning user that
164 temperature level is high, and charging current has been
165 reduced accordingly to remedy the situation).
166
167 Access: Read
168
169 Valid values: Represented in 1/10 Degrees Celsius
170
171What: /sys/class/power_supply/<supply_name>/temp_max
172Date: July 2014
173Contact: linux-pm@vger.kernel.org
174Description:
175 Battery:
176
177 Reports the maximum allowed TBAT battery temperature for
178 charging.
179
180 USB:
181
182 Reports the maximum allowed supply temperature for operation.
183
184 Access: Read
185
186 Valid values: Represented in 1/10 Degrees Celsius
187
188What: /sys/class/power_supply/<supply_name>/temp_min
189Date: July 2014
190Contact: linux-pm@vger.kernel.org
191Description:
192 Battery:
193
194 Reports the minimum allowed TBAT battery temperature for
195 charging.
196
197 USB:
198
199 Reports the minimum allowed supply temperature for operation.
200
201 Access: Read
202
203 Valid values: Represented in 1/10 Degrees Celsius
204
205What: /sys/class/power_supply/<supply_name>/voltage_max,
206Date: January 2008
207Contact: linux-pm@vger.kernel.org
208Description:
209 Battery:
210
211 Reports the maximum safe VBAT voltage permitted for the
212 battery, during charging.
213
214 USB:
215
216 Reports the maximum VBUS voltage the supply can support.
217
218 Access: Read
219
220 Valid values: Represented in microvolts
221
222What: /sys/class/power_supply/<supply_name>/voltage_min,
223Date: January 2008
224Contact: linux-pm@vger.kernel.org
225Description:
226 Battery:
227
228 Reports the minimum safe VBAT voltage permitted for the
229 battery, during discharging.
230
231 USB:
232
233 Reports the minimum VBUS voltage the supply can support.
234
235 Access: Read
236
237 Valid values: Represented in microvolts
238
239What: /sys/class/power_supply/<supply_name>/voltage_now,
240Date: May 2007
241Contact: linux-pm@vger.kernel.org
242Description:
243 Battery:
244
245 Reports an instant, single VBAT voltage reading for the
246 battery. This value is not averaged/smoothed.
247
248 Access: Read
249
250 USB:
251
252 Reports the VBUS voltage supplied now. This value is generally
253 read-only reporting, unless the 'online' state of the supply
254 is set to be programmable, in which case this value can be set
255 within the reported min/max range.
256
257 Access: Read, Write
258
259 Valid values: Represented in microvolts
260
261**Battery Properties**
262
263What: /sys/class/power_supply/<supply_name>/capacity
264Date: May 2007
265Contact: linux-pm@vger.kernel.org
266Description:
267 Fine grain representation of battery capacity.
268
269 Access: Read
270
271 Valid values: 0 - 100 (percent)
272
273What: /sys/class/power_supply/<supply_name>/capacity_alert_max
274Date: July 2012
275Contact: linux-pm@vger.kernel.org
276Description:
277 Maximum battery capacity trip-wire value where the supply will
278 notify user-space of the event. This is normally used for the
279 battery discharging scenario where user-space needs to know the
280 battery has dropped to an upper level so it can take
281 appropriate action (e.g. warning user that battery level is
282 low).
283
284 Access: Read, Write
285
286 Valid values: 0 - 100 (percent)
287
288What: /sys/class/power_supply/<supply_name>/capacity_alert_min
289Date: July 2012
290Contact: linux-pm@vger.kernel.org
291Description:
292 Minimum battery capacity trip-wire value where the supply will
293 notify user-space of the event. This is normally used for the
294 battery discharging scenario where user-space needs to know the
295 battery has dropped to a lower level so it can take
296 appropriate action (e.g. warning user that battery level is
297 critically low).
298
299 Access: Read, Write
300
301 Valid values: 0 - 100 (percent)
302
303What: /sys/class/power_supply/<supply_name>/capacity_error_margin
304Date: April 2019
305Contact: linux-pm@vger.kernel.org
306Description:
307 Battery capacity measurement becomes unreliable without
308 recalibration. This values provides the maximum error
309 margin expected to exist by the fuel gauge in percent.
310 Values close to 0% will be returned after (re-)calibration
311 has happened. Over time the error margin will increase.
312 100% means, that the capacity related values are basically
313 completely useless.
314
315 Access: Read
316
317 Valid values: 0 - 100 (percent)
318
319What: /sys/class/power_supply/<supply_name>/capacity_level
320Date: June 2009
321Contact: linux-pm@vger.kernel.org
322Description:
323 Coarse representation of battery capacity.
324
325 Access: Read
326
327 Valid values:
328 "Unknown", "Critical", "Low", "Normal", "High",
329 "Full"
330
331What: /sys/class/power_supply/<supply_name>/charge_control_limit
332Date: Oct 2012
333Contact: linux-pm@vger.kernel.org
334Description:
335 Maximum allowable charging current. Used for charge rate
336 throttling for thermal cooling or improving battery health.
337
338 Access: Read, Write
339
340 Valid values: Represented in microamps
341
342What: /sys/class/power_supply/<supply_name>/charge_control_limit_max
343Date: Oct 2012
344Contact: linux-pm@vger.kernel.org
345Description:
346 Maximum legal value for the charge_control_limit property.
347
348 Access: Read
349
350 Valid values: Represented in microamps
351
352What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold
353Date: April 2019
354Contact: linux-pm@vger.kernel.org
355Description:
356 Represents a battery percentage level, below which charging will
357 begin.
358
359 Access: Read, Write
360 Valid values: 0 - 100 (percent)
361
362What: /sys/class/power_supply/<supply_name>/charge_control_end_threshold
363Date: April 2019
364Contact: linux-pm@vger.kernel.org
365Description:
366 Represents a battery percentage level, above which charging will
367 stop. Not all hardware is capable of setting this to an arbitrary
368 percentage. Drivers will round written values to the nearest
369 supported value. Reading back the value will show the actual
370 threshold set by the driver.
371
372 Access: Read, Write
373
374 Valid values: 0 - 100 (percent)
375
376What: /sys/class/power_supply/<supply_name>/charge_type
377Date: July 2009
378Contact: linux-pm@vger.kernel.org
379Description:
380 Represents the type of charging currently being applied to the
381 battery. "Trickle", "Fast", and "Standard" all mean different
382 charging speeds. "Adaptive" means that the charger uses some
383 algorithm to adjust the charge rate dynamically, without
384 any user configuration required. "Custom" means that the charger
385 uses the charge_control_* properties as configuration for some
386 different algorithm. "Long Life" means the charger reduces its
387 charging rate in order to prolong the battery health. "Bypass"
388 means the charger bypasses the charging path around the
389 integrated converter allowing for a "smart" wall adaptor to
390 perform the power conversion externally.
391
392 Access: Read, Write
393
394 Valid values:
395 "Unknown", "N/A", "Trickle", "Fast", "Standard",
396 "Adaptive", "Custom", "Long Life", "Bypass"
397
398What: /sys/class/power_supply/<supply_name>/charge_term_current
399Date: July 2014
400Contact: linux-pm@vger.kernel.org
401Description:
402 Reports the charging current value which is used to determine
403 when the battery is considered full and charging should end.
404
405 Access: Read
406
407 Valid values: Represented in microamps
408
409What: /sys/class/power_supply/<supply_name>/health
410Date: May 2007
411Contact: linux-pm@vger.kernel.org
412Description:
413 Reports the health of the battery or battery side of charger
414 functionality.
415
416 Access: Read
417
418 Valid values:
419 "Unknown", "Good", "Overheat", "Dead",
420 "Over voltage", "Unspecified failure", "Cold",
421 "Watchdog timer expire", "Safety timer expire",
422 "Over current", "Calibration required", "Warm",
423 "Cool", "Hot", "No battery"
424
425What: /sys/class/power_supply/<supply_name>/precharge_current
426Date: June 2017
427Contact: linux-pm@vger.kernel.org
428Description:
429 Reports the charging current applied during pre-charging phase
430 for a battery charge cycle.
431
432 Access: Read
433
434 Valid values: Represented in microamps
435
436What: /sys/class/power_supply/<supply_name>/present
437Date: May 2007
438Contact: linux-pm@vger.kernel.org
439Description:
440 Reports whether a battery is present or not in the system.
441
442 Access: Read
443
444 Valid values:
445
446 == =======
447 0: Absent
448 1: Present
449 == =======
450
451What: /sys/class/power_supply/<supply_name>/status
452Date: May 2007
453Contact: linux-pm@vger.kernel.org
454Description:
455 Represents the charging status of the battery. Normally this
456 is read-only reporting although for some supplies this can be
457 used to enable/disable charging to the battery.
458
459 Access: Read, Write
460
461 Valid values:
462 "Unknown", "Charging", "Discharging",
463 "Not charging", "Full"
464
465What: /sys/class/power_supply/<supply_name>/charge_behaviour
466Date: November 2021
467Contact: linux-pm@vger.kernel.org
468Description:
469 Represents the charging behaviour.
470
471 Access: Read, Write
472
473 Valid values:
474 ================ ====================================
475 auto: Charge normally, respect thresholds
476 inhibit-charge: Do not charge while AC is attached
477 force-discharge: Force discharge while AC is attached
478 ================ ====================================
479
480What: /sys/class/power_supply/<supply_name>/technology
481Date: May 2007
482Contact: linux-pm@vger.kernel.org
483Description:
484 Describes the battery technology supported by the supply.
485
486 Access: Read
487
488 Valid values:
489 "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
490 "NiCd", "LiMn"
491
492
493What: /sys/class/power_supply/<supply_name>/voltage_avg,
494Date: May 2007
495Contact: linux-pm@vger.kernel.org
496Description:
497 Reports an average VBAT voltage reading for the battery, over a
498 fixed period. Normally devices will provide a fixed interval in
499 which they average readings to smooth out the reported value.
500
501 Access: Read
502
503 Valid values: Represented in microvolts
504
505What: /sys/class/power_supply/<supply_name>/cycle_count
506Date: January 2010
507Contact: linux-pm@vger.kernel.org
508Description:
509 Reports the number of full charge + discharge cycles the
510 battery has undergone.
511
512 Access: Read
513
514 Valid values:
515 Integer > 0: representing full cycles
516 Integer = 0: cycle_count info is not available
517
518**USB Properties**
519
520What: /sys/class/power_supply/<supply_name>/input_current_limit
521Date: July 2014
522Contact: linux-pm@vger.kernel.org
523Description:
524 Details the incoming IBUS current limit currently set in the
525 supply. Normally this is configured based on the type of
526 connection made (e.g. A configured SDP should output a maximum
527 of 500mA so the input current limit is set to the same value).
528 Use preferably input_power_limit, and for problems that can be
529 solved using power limit use input_current_limit.
530
531 Access: Read, Write
532
533 Valid values: Represented in microamps
534
535What: /sys/class/power_supply/<supply_name>/input_voltage_limit
536Date: May 2019
537Contact: linux-pm@vger.kernel.org
538Description:
539 This entry configures the incoming VBUS voltage limit currently
540 set in the supply. Normally this is configured based on
541 system-level knowledge or user input (e.g. This is part of the
542 Pixel C's thermal management strategy to effectively limit the
543 input power to 5V when the screen is on to meet Google's skin
544 temperature targets). Note that this feature should not be
545 used for safety critical things.
546 Use preferably input_power_limit, and for problems that can be
547 solved using power limit use input_voltage_limit.
548
549 Access: Read, Write
550
551 Valid values: Represented in microvolts
552
553What: /sys/class/power_supply/<supply_name>/input_power_limit
554Date: May 2019
555Contact: linux-pm@vger.kernel.org
556Description:
557 This entry configures the incoming power limit currently set
558 in the supply. Normally this is configured based on
559 system-level knowledge or user input. Use preferably this
560 feature to limit the incoming power and use current/voltage
561 limit only for problems that can be solved using power limit.
562
563 Access: Read, Write
564
565 Valid values: Represented in microwatts
566
567What: /sys/class/power_supply/<supply_name>/online,
568Date: May 2007
569Contact: linux-pm@vger.kernel.org
570Description:
571 Indicates if VBUS is present for the supply. When the supply is
572 online, and the supply allows it, then it's possible to switch
573 between online states (e.g. Fixed -> Programmable for a PD_PPS
574 USB supply so voltage and current can be controlled).
575
576 Access: Read, Write
577
578 Valid values:
579
580 == ==================================================
581 0: Offline
582 1: Online Fixed - Fixed Voltage Supply
583 2: Online Programmable - Programmable Voltage Supply
584 == ==================================================
585
586What: /sys/class/power_supply/<supply_name>/usb_type
587Date: March 2018
588Contact: linux-pm@vger.kernel.org
589Description:
590 Reports what type of USB connection is currently active for
591 the supply, for example it can show if USB-PD capable source
592 is attached.
593
594 Access: Read-Only
595
596 Valid values:
597 "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
598 "PD_DRP", "PD_PPS", "BrickID"
599
600**Device Specific Properties**
601
602What: /sys/class/power/ds2760-battery.*/charge_now
603Date: May 2010
604KernelVersion: 2.6.35
605Contact: Daniel Mack <daniel@caiaq.de>
606Description:
607 This file is writeable and can be used to set the current
608 coloumb counter value inside the battery monitor chip. This
609 is needed for unavoidable corrections of aging batteries.
610 A userspace daemon can monitor the battery charging logic
611 and once the counter drops out of considerable bounds, take
612 appropriate action.
613
614What: /sys/class/power/ds2760-battery.*/charge_full
615Date: May 2010
616KernelVersion: 2.6.35
617Contact: Daniel Mack <daniel@caiaq.de>
618Description:
619 This file is writeable and can be used to set the assumed
620 battery 'full level'. As batteries age, this value has to be
621 amended over time.
622
623What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
624Date: October 2014
625KernelVersion: 3.18.0
626Contact: Krzysztof Kozlowski <krzk@kernel.org>
627Description:
628 This entry shows and sets the maximum time the max14577
629 charger operates in fast-charge mode. When the timer expires
630 the device will terminate fast-charge mode (charging current
631 will drop to 0 A) and will trigger interrupt.
632
633 Valid values:
634
635 - 5, 6 or 7 (hours),
636 - 0: disabled.
637
638What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
639Date: January 2015
640KernelVersion: 3.19.0
641Contact: Krzysztof Kozlowski <krzk@kernel.org>
642Description:
643 This entry shows and sets the maximum time the max77693
644 charger operates in fast-charge mode. When the timer expires
645 the device will terminate fast-charge mode (charging current
646 will drop to 0 A) and will trigger interrupt.
647
648 Valid values:
649
650 - 4 - 16 (hours), step by 2 (rounded down)
651 - 0: disabled.
652
653What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
654Date: January 2015
655KernelVersion: 3.19.0
656Contact: Krzysztof Kozlowski <krzk@kernel.org>
657Description:
658 This entry shows and sets the charging current threshold for
659 entering top-off charging mode. When charging current in fast
660 charge mode drops below this value, the charger will trigger
661 interrupt and start top-off charging mode.
662
663 Valid values:
664
665 - 100000 - 200000 (microamps), step by 25000 (rounded down)
666 - 200000 - 350000 (microamps), step by 50000 (rounded down)
667 - 0: disabled.
668
669What: /sys/class/power_supply/max77693-charger/device/top_off_timer
670Date: January 2015
671KernelVersion: 3.19.0
672Contact: Krzysztof Kozlowski <krzk@kernel.org>
673Description:
674 This entry shows and sets the maximum time the max77693
675 charger operates in top-off charge mode. When the timer expires
676 the device will terminate top-off charge mode (charging current
677 will drop to 0 A) and will trigger interrupt.
678
679 Valid values:
680
681 - 0 - 70 (minutes), step by 10 (rounded down)
682
683What: /sys/class/power_supply/bq24257-charger/ovp_voltage
684Date: October 2015
685KernelVersion: 4.4.0
686Contact: Andreas Dannenberg <dannenberg@ti.com>
687Description:
688 This entry configures the overvoltage protection feature of bq24257-
689 type charger devices. This feature protects the device and other
690 components against damage from overvoltage on the input supply. See
691 device datasheet for details.
692
693 Valid values:
694
695 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
696 10500000 (all uV)
697
698What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
699Date: October 2015
700KernelVersion: 4.4.0
701Contact: Andreas Dannenberg <dannenberg@ti.com>
702Description:
703 This entry configures the input dynamic power path management voltage of
704 bq24257-type charger devices. Once the supply drops to the configured
705 voltage, the input current limit is reduced down to prevent the further
706 drop of the supply. When the IC enters this mode, the charge current is
707 lower than the set value. See device datasheet for details.
708
709 Valid values:
710
711 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
712 4760000 (all uV)
713
714What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
715Date: October 2015
716KernelVersion: 4.4.0
717Contact: Andreas Dannenberg <dannenberg@ti.com>
718Description:
719 This entry allows enabling the high-impedance mode of bq24257-type
720 charger devices. If enabled, it places the charger IC into low power
721 standby mode with the switch mode controller disabled. When disabled,
722 the charger operates normally. See device datasheet for details.
723
724 Valid values:
725
726 - 1: enabled
727 - 0: disabled
728
729What: /sys/class/power_supply/bq24257-charger/sysoff_enable
730Date: October 2015
731KernelVersion: 4.4.0
732Contact: Andreas Dannenberg <dannenberg@ti.com>
733Description:
734 This entry allows enabling the sysoff mode of bq24257-type charger
735 devices. If enabled and the input is removed, the internal battery FET
736 is turned off in order to reduce the leakage from the BAT pin to less
737 than 1uA. Note that on some devices/systems this disconnects the battery
738 from the system. See device datasheet for details.
739
740 Valid values:
741
742 - 1: enabled
743 - 0: disabled
744
745What: /sys/class/power_supply/<supply_name>/manufacture_year
746Date: January 2020
747Contact: linux-pm@vger.kernel.org
748Description:
749 Reports the year (following Gregorian calendar) when the device has been
750 manufactured.
751
752 Access: Read
753
754 Valid values: Reported as integer
755
756What: /sys/class/power_supply/<supply_name>/manufacture_month
757Date: January 2020
758Contact: linux-pm@vger.kernel.org
759Description:
760 Reports the month when the device has been manufactured.
761
762 Access: Read
763
764 Valid values: 1-12
765
766What: /sys/class/power_supply/<supply_name>/manufacture_day
767Date: January 2020
768Contact: linux-pm@vger.kernel.org
769Description:
770 Reports the day of month when the device has been manufactured.
771
772 Access: Read
773 Valid values: 1-31
1===== General Properties =====
2
3What: /sys/class/power_supply/<supply_name>/manufacturer
4Date: May 2007
5Contact: linux-pm@vger.kernel.org
6Description:
7 Reports the name of the device manufacturer.
8
9 Access: Read
10 Valid values: Represented as string
11
12What: /sys/class/power_supply/<supply_name>/model_name
13Date: May 2007
14Contact: linux-pm@vger.kernel.org
15Description:
16 Reports the name of the device model.
17
18 Access: Read
19 Valid values: Represented as string
20
21What: /sys/class/power_supply/<supply_name>/serial_number
22Date: January 2008
23Contact: linux-pm@vger.kernel.org
24Description:
25 Reports the serial number of the device.
26
27 Access: Read
28 Valid values: Represented as string
29
30What: /sys/class/power_supply/<supply_name>/type
31Date: May 2010
32Contact: linux-pm@vger.kernel.org
33Description:
34 Describes the main type of the supply.
35
36 Access: Read
37 Valid values: "Battery", "UPS", "Mains", "USB"
38
39===== Battery Properties =====
40
41What: /sys/class/power_supply/<supply_name>/capacity
42Date: May 2007
43Contact: linux-pm@vger.kernel.org
44Description:
45 Fine grain representation of battery capacity.
46 Access: Read
47 Valid values: 0 - 100 (percent)
48
49What: /sys/class/power_supply/<supply_name>/capacity_alert_max
50Date: July 2012
51Contact: linux-pm@vger.kernel.org
52Description:
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
58 low).
59
60 Access: Read, Write
61 Valid values: 0 - 100 (percent)
62
63What: /sys/class/power_supply/<supply_name>/capacity_alert_min
64Date: July 2012
65Contact: linux-pm@vger.kernel.org
66Description:
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
72 critically low).
73
74 Access: Read, Write
75 Valid values: 0 - 100 (percent)
76
77What: /sys/class/power_supply/<supply_name>/capacity_error_margin
78Date: April 2019
79Contact: linux-pm@vger.kernel.org
80Description:
81 Battery capacity measurement becomes unreliable without
82 recalibration. This values provides the maximum error
83 margin expected to exist by the fuel gauge in percent.
84 Values close to 0% will be returned after (re-)calibration
85 has happened. Over time the error margin will increase.
86 100% means, that the capacity related values are basically
87 completely useless.
88
89 Access: Read
90 Valid values: 0 - 100 (percent)
91
92What: /sys/class/power_supply/<supply_name>/capacity_level
93Date: June 2009
94Contact: linux-pm@vger.kernel.org
95Description:
96 Coarse representation of battery capacity.
97
98 Access: Read
99 Valid values: "Unknown", "Critical", "Low", "Normal", "High",
100 "Full"
101
102What: /sys/class/power_supply/<supply_name>/current_avg
103Date: May 2007
104Contact: linux-pm@vger.kernel.org
105Description:
106 Reports an average IBAT current reading for the battery, over a
107 fixed period. Normally devices will provide a fixed interval in
108 which they average readings to smooth out the reported value.
109
110 Access: Read
111 Valid values: Represented in microamps
112
113What: /sys/class/power_supply/<supply_name>/current_max
114Date: October 2010
115Contact: linux-pm@vger.kernel.org
116Description:
117 Reports the maximum IBAT current allowed into the battery.
118
119 Access: Read
120 Valid values: Represented in microamps
121
122What: /sys/class/power_supply/<supply_name>/current_now
123Date: May 2007
124Contact: linux-pm@vger.kernel.org
125Description:
126 Reports an instant, single IBAT current reading for the battery.
127 This value is not averaged/smoothed.
128
129 Access: Read
130 Valid values: Represented in microamps
131
132What: /sys/class/power_supply/<supply_name>/charge_control_limit
133Date: Oct 2012
134Contact: linux-pm@vger.kernel.org
135Description:
136 Maximum allowable charging current. Used for charge rate
137 throttling for thermal cooling or improving battery health.
138
139 Access: Read, Write
140 Valid values: Represented in microamps
141
142What: /sys/class/power_supply/<supply_name>/charge_control_limit_max
143Date: Oct 2012
144Contact: linux-pm@vger.kernel.org
145Description:
146 Maximum legal value for the charge_control_limit property.
147
148 Access: Read
149 Valid values: Represented in microamps
150
151What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold
152Date: April 2019
153Contact: linux-pm@vger.kernel.org
154Description:
155 Represents a battery percentage level, below which charging will
156 begin.
157
158 Access: Read, Write
159 Valid values: 0 - 100 (percent)
160
161What: /sys/class/power_supply/<supply_name>/charge_control_end_threshold
162Date: April 2019
163Contact: linux-pm@vger.kernel.org
164Description:
165 Represents a battery percentage level, above which charging will
166 stop.
167
168 Access: Read, Write
169 Valid values: 0 - 100 (percent)
170
171What: /sys/class/power_supply/<supply_name>/charge_type
172Date: July 2009
173Contact: linux-pm@vger.kernel.org
174Description:
175 Represents the type of charging currently being applied to the
176 battery. "Trickle", "Fast", and "Standard" all mean different
177 charging speeds. "Adaptive" means that the charger uses some
178 algorithm to adjust the charge rate dynamically, without
179 any user configuration required. "Custom" means that the charger
180 uses the charge_control_* properties as configuration for some
181 different algorithm.
182
183 Access: Read, Write
184 Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard",
185 "Adaptive", "Custom"
186
187What: /sys/class/power_supply/<supply_name>/charge_term_current
188Date: July 2014
189Contact: linux-pm@vger.kernel.org
190Description:
191 Reports the charging current value which is used to determine
192 when the battery is considered full and charging should end.
193
194 Access: Read
195 Valid values: Represented in microamps
196
197What: /sys/class/power_supply/<supply_name>/health
198Date: May 2007
199Contact: linux-pm@vger.kernel.org
200Description:
201 Reports the health of the battery or battery side of charger
202 functionality.
203
204 Access: Read
205 Valid values: "Unknown", "Good", "Overheat", "Dead",
206 "Over voltage", "Unspecified failure", "Cold",
207 "Watchdog timer expire", "Safety timer expire",
208 "Over current", "Calibration required", "Warm",
209 "Cool", "Hot"
210
211What: /sys/class/power_supply/<supply_name>/precharge_current
212Date: June 2017
213Contact: linux-pm@vger.kernel.org
214Description:
215 Reports the charging current applied during pre-charging phase
216 for a battery charge cycle.
217
218 Access: Read
219 Valid values: Represented in microamps
220
221What: /sys/class/power_supply/<supply_name>/present
222Date: May 2007
223Contact: linux-pm@vger.kernel.org
224Description:
225 Reports whether a battery is present or not in the system.
226
227 Access: Read
228 Valid values:
229 0: Absent
230 1: Present
231
232What: /sys/class/power_supply/<supply_name>/status
233Date: May 2007
234Contact: linux-pm@vger.kernel.org
235Description:
236 Represents the charging status of the battery. Normally this
237 is read-only reporting although for some supplies this can be
238 used to enable/disable charging to the battery.
239
240 Access: Read, Write
241 Valid values: "Unknown", "Charging", "Discharging",
242 "Not charging", "Full"
243
244What: /sys/class/power_supply/<supply_name>/technology
245Date: May 2007
246Contact: linux-pm@vger.kernel.org
247Description:
248 Describes the battery technology supported by the supply.
249
250 Access: Read
251 Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
252 "NiCd", "LiMn"
253
254What: /sys/class/power_supply/<supply_name>/temp
255Date: May 2007
256Contact: linux-pm@vger.kernel.org
257Description:
258 Reports the current TBAT battery temperature reading.
259
260 Access: Read
261 Valid values: Represented in 1/10 Degrees Celsius
262
263What: /sys/class/power_supply/<supply_name>/temp_alert_max
264Date: July 2012
265Contact: linux-pm@vger.kernel.org
266Description:
267 Maximum TBAT temperature trip-wire value where the supply will
268 notify user-space of the event. This is normally used for the
269 battery charging scenario where user-space needs to know the
270 battery temperature has crossed an upper threshold so it can
271 take appropriate action (e.g. warning user that battery level is
272 critically high, and charging has stopped).
273
274 Access: Read
275 Valid values: Represented in 1/10 Degrees Celsius
276
277What: /sys/class/power_supply/<supply_name>/temp_alert_min
278Date: July 2012
279Contact: linux-pm@vger.kernel.org
280Description:
281 Minimum TBAT temperature trip-wire value where the supply will
282 notify user-space of the event. This is normally used for the
283 battery charging scenario where user-space needs to know the
284 battery temperature has crossed a lower threshold so it can take
285 appropriate action (e.g. warning user that battery level is
286 high, and charging current has been reduced accordingly to
287 remedy the situation).
288
289 Access: Read
290 Valid values: Represented in 1/10 Degrees Celsius
291
292What: /sys/class/power_supply/<supply_name>/temp_max
293Date: July 2014
294Contact: linux-pm@vger.kernel.org
295Description:
296 Reports the maximum allowed TBAT battery temperature for
297 charging.
298
299 Access: Read
300 Valid values: Represented in 1/10 Degrees Celsius
301
302What: /sys/class/power_supply/<supply_name>/temp_min
303Date: July 2014
304Contact: linux-pm@vger.kernel.org
305Description:
306 Reports the minimum allowed TBAT battery temperature for
307 charging.
308
309 Access: Read
310 Valid values: Represented in 1/10 Degrees Celsius
311
312What: /sys/class/power_supply/<supply_name>/voltage_avg,
313Date: May 2007
314Contact: linux-pm@vger.kernel.org
315Description:
316 Reports an average VBAT voltage reading for the battery, over a
317 fixed period. Normally devices will provide a fixed interval in
318 which they average readings to smooth out the reported value.
319
320 Access: Read
321 Valid values: Represented in microvolts
322
323What: /sys/class/power_supply/<supply_name>/voltage_max,
324Date: January 2008
325Contact: linux-pm@vger.kernel.org
326Description:
327 Reports the maximum safe VBAT voltage permitted for the battery,
328 during charging.
329
330 Access: Read
331 Valid values: Represented in microvolts
332
333What: /sys/class/power_supply/<supply_name>/voltage_min,
334Date: January 2008
335Contact: linux-pm@vger.kernel.org
336Description:
337 Reports the minimum safe VBAT voltage permitted for the battery,
338 during discharging.
339
340 Access: Read
341 Valid values: Represented in microvolts
342
343What: /sys/class/power_supply/<supply_name>/voltage_now,
344Date: May 2007
345Contact: linux-pm@vger.kernel.org
346Description:
347 Reports an instant, single VBAT voltage reading for the battery.
348 This value is not averaged/smoothed.
349
350 Access: Read
351 Valid values: Represented in microvolts
352
353===== USB Properties =====
354
355What: /sys/class/power_supply/<supply_name>/current_avg
356Date: May 2007
357Contact: linux-pm@vger.kernel.org
358Description:
359 Reports an average IBUS current reading over a fixed period.
360 Normally devices will provide a fixed interval in which they
361 average readings to smooth out the reported value.
362
363 Access: Read
364 Valid values: Represented in microamps
365
366
367What: /sys/class/power_supply/<supply_name>/current_max
368Date: October 2010
369Contact: linux-pm@vger.kernel.org
370Description:
371 Reports the maximum IBUS current the supply can support.
372
373 Access: Read
374 Valid values: Represented in microamps
375
376What: /sys/class/power_supply/<supply_name>/current_now
377Date: May 2007
378Contact: linux-pm@vger.kernel.org
379Description:
380 Reports the IBUS current supplied now. This value is generally
381 read-only reporting, unless the 'online' state of the supply
382 is set to be programmable, in which case this value can be set
383 within the reported min/max range.
384
385 Access: Read, Write
386 Valid values: Represented in microamps
387
388What: /sys/class/power_supply/<supply_name>/input_current_limit
389Date: July 2014
390Contact: linux-pm@vger.kernel.org
391Description:
392 Details the incoming IBUS current limit currently set in the
393 supply. Normally this is configured based on the type of
394 connection made (e.g. A configured SDP should output a maximum
395 of 500mA so the input current limit is set to the same value).
396 Use preferably input_power_limit, and for problems that can be
397 solved using power limit use input_current_limit.
398
399 Access: Read, Write
400 Valid values: Represented in microamps
401
402What: /sys/class/power_supply/<supply_name>/input_voltage_limit
403Date: May 2019
404Contact: linux-pm@vger.kernel.org
405Description:
406 This entry configures the incoming VBUS voltage limit currently
407 set in the supply. Normally this is configured based on
408 system-level knowledge or user input (e.g. This is part of the
409 Pixel C's thermal management strategy to effectively limit the
410 input power to 5V when the screen is on to meet Google's skin
411 temperature targets). Note that this feature should not be
412 used for safety critical things.
413 Use preferably input_power_limit, and for problems that can be
414 solved using power limit use input_voltage_limit.
415
416 Access: Read, Write
417 Valid values: Represented in microvolts
418
419What: /sys/class/power_supply/<supply_name>/input_power_limit
420Date: May 2019
421Contact: linux-pm@vger.kernel.org
422Description:
423 This entry configures the incoming power limit currently set
424 in the supply. Normally this is configured based on
425 system-level knowledge or user input. Use preferably this
426 feature to limit the incoming power and use current/voltage
427 limit only for problems that can be solved using power limit.
428
429 Access: Read, Write
430 Valid values: Represented in microwatts
431
432What: /sys/class/power_supply/<supply_name>/online,
433Date: May 2007
434Contact: linux-pm@vger.kernel.org
435Description:
436 Indicates if VBUS is present for the supply. When the supply is
437 online, and the supply allows it, then it's possible to switch
438 between online states (e.g. Fixed -> Programmable for a PD_PPS
439 USB supply so voltage and current can be controlled).
440
441 Access: Read, Write
442 Valid values:
443 0: Offline
444 1: Online Fixed - Fixed Voltage Supply
445 2: Online Programmable - Programmable Voltage Supply
446
447What: /sys/class/power_supply/<supply_name>/temp
448Date: May 2007
449Contact: linux-pm@vger.kernel.org
450Description:
451 Reports the current supply temperature reading. This would
452 normally be the internal temperature of the device itself (e.g
453 TJUNC temperature of an IC)
454
455 Access: Read
456 Valid values: Represented in 1/10 Degrees Celsius
457
458What: /sys/class/power_supply/<supply_name>/temp_alert_max
459Date: July 2012
460Contact: linux-pm@vger.kernel.org
461Description:
462 Maximum supply temperature trip-wire value where the supply will
463 notify user-space of the event. This is normally used for the
464 charging scenario where user-space needs to know the supply
465 temperature has crossed an upper threshold so it can take
466 appropriate action (e.g. warning user that the supply
467 temperature is critically high, and charging has stopped to
468 remedy the situation).
469
470 Access: Read
471 Valid values: Represented in 1/10 Degrees Celsius
472
473What: /sys/class/power_supply/<supply_name>/temp_alert_min
474Date: July 2012
475Contact: linux-pm@vger.kernel.org
476Description:
477 Minimum supply temperature trip-wire value where the supply will
478 notify user-space of the event. This is normally used for the
479 charging scenario where user-space needs to know the supply
480 temperature has crossed a lower threshold so it can take
481 appropriate action (e.g. warning user that the supply
482 temperature is high, and charging current has been reduced
483 accordingly to remedy the situation).
484
485 Access: Read
486 Valid values: Represented in 1/10 Degrees Celsius
487
488What: /sys/class/power_supply/<supply_name>/temp_max
489Date: July 2014
490Contact: linux-pm@vger.kernel.org
491Description:
492 Reports the maximum allowed supply temperature for operation.
493
494 Access: Read
495 Valid values: Represented in 1/10 Degrees Celsius
496
497What: /sys/class/power_supply/<supply_name>/temp_min
498Date: July 2014
499Contact: linux-pm@vger.kernel.org
500Description:
501 Reports the mainimum allowed supply temperature for operation.
502
503 Access: Read
504 Valid values: Represented in 1/10 Degrees Celsius
505
506What: /sys/class/power_supply/<supply_name>/usb_type
507Date: March 2018
508Contact: linux-pm@vger.kernel.org
509Description:
510 Reports what type of USB connection is currently active for
511 the supply, for example it can show if USB-PD capable source
512 is attached.
513
514 Access: Read-Only
515 Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
516 "PD_DRP", "PD_PPS", "BrickID"
517
518What: /sys/class/power_supply/<supply_name>/voltage_max
519Date: January 2008
520Contact: linux-pm@vger.kernel.org
521Description:
522 Reports the maximum VBUS voltage the supply can support.
523
524 Access: Read
525 Valid values: Represented in microvolts
526
527What: /sys/class/power_supply/<supply_name>/voltage_min
528Date: January 2008
529Contact: linux-pm@vger.kernel.org
530Description:
531 Reports the minimum VBUS voltage the supply can support.
532
533 Access: Read
534 Valid values: Represented in microvolts
535
536What: /sys/class/power_supply/<supply_name>/voltage_now
537Date: May 2007
538Contact: linux-pm@vger.kernel.org
539Description:
540 Reports the VBUS voltage supplied now. This value is generally
541 read-only reporting, unless the 'online' state of the supply
542 is set to be programmable, in which case this value can be set
543 within the reported min/max range.
544
545 Access: Read, Write
546 Valid values: Represented in microvolts
547
548===== Device Specific Properties =====
549
550What: /sys/class/power/ds2760-battery.*/charge_now
551Date: May 2010
552KernelVersion: 2.6.35
553Contact: Daniel Mack <daniel@caiaq.de>
554Description:
555 This file is writeable and can be used to set the current
556 coloumb counter value inside the battery monitor chip. This
557 is needed for unavoidable corrections of aging batteries.
558 A userspace daemon can monitor the battery charging logic
559 and once the counter drops out of considerable bounds, take
560 appropriate action.
561
562What: /sys/class/power/ds2760-battery.*/charge_full
563Date: May 2010
564KernelVersion: 2.6.35
565Contact: Daniel Mack <daniel@caiaq.de>
566Description:
567 This file is writeable and can be used to set the assumed
568 battery 'full level'. As batteries age, this value has to be
569 amended over time.
570
571What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
572Date: October 2014
573KernelVersion: 3.18.0
574Contact: Krzysztof Kozlowski <krzk@kernel.org>
575Description:
576 This entry shows and sets the maximum time the max14577
577 charger operates in fast-charge mode. When the timer expires
578 the device will terminate fast-charge mode (charging current
579 will drop to 0 A) and will trigger interrupt.
580
581 Valid values:
582 - 5, 6 or 7 (hours),
583 - 0: disabled.
584
585What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
586Date: January 2015
587KernelVersion: 3.19.0
588Contact: Krzysztof Kozlowski <krzk@kernel.org>
589Description:
590 This entry shows and sets the maximum time the max77693
591 charger operates in fast-charge mode. When the timer expires
592 the device will terminate fast-charge mode (charging current
593 will drop to 0 A) and will trigger interrupt.
594
595 Valid values:
596 - 4 - 16 (hours), step by 2 (rounded down)
597 - 0: disabled.
598
599What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
600Date: January 2015
601KernelVersion: 3.19.0
602Contact: Krzysztof Kozlowski <krzk@kernel.org>
603Description:
604 This entry shows and sets the charging current threshold for
605 entering top-off charging mode. When charging current in fast
606 charge mode drops below this value, the charger will trigger
607 interrupt and start top-off charging mode.
608
609 Valid values:
610 - 100000 - 200000 (microamps), step by 25000 (rounded down)
611 - 200000 - 350000 (microamps), step by 50000 (rounded down)
612 - 0: disabled.
613
614What: /sys/class/power_supply/max77693-charger/device/top_off_timer
615Date: January 2015
616KernelVersion: 3.19.0
617Contact: Krzysztof Kozlowski <krzk@kernel.org>
618Description:
619 This entry shows and sets the maximum time the max77693
620 charger operates in top-off charge mode. When the timer expires
621 the device will terminate top-off charge mode (charging current
622 will drop to 0 A) and will trigger interrupt.
623
624 Valid values:
625 - 0 - 70 (minutes), step by 10 (rounded down)
626
627What: /sys/class/power_supply/bq24257-charger/ovp_voltage
628Date: October 2015
629KernelVersion: 4.4.0
630Contact: Andreas Dannenberg <dannenberg@ti.com>
631Description:
632 This entry configures the overvoltage protection feature of bq24257-
633 type charger devices. This feature protects the device and other
634 components against damage from overvoltage on the input supply. See
635 device datasheet for details.
636
637 Valid values:
638 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
639 10500000 (all uV)
640
641What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
642Date: October 2015
643KernelVersion: 4.4.0
644Contact: Andreas Dannenberg <dannenberg@ti.com>
645Description:
646 This entry configures the input dynamic power path management voltage of
647 bq24257-type charger devices. Once the supply drops to the configured
648 voltage, the input current limit is reduced down to prevent the further
649 drop of the supply. When the IC enters this mode, the charge current is
650 lower than the set value. See device datasheet for details.
651
652 Valid values:
653 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
654 4760000 (all uV)
655
656What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
657Date: October 2015
658KernelVersion: 4.4.0
659Contact: Andreas Dannenberg <dannenberg@ti.com>
660Description:
661 This entry allows enabling the high-impedance mode of bq24257-type
662 charger devices. If enabled, it places the charger IC into low power
663 standby mode with the switch mode controller disabled. When disabled,
664 the charger operates normally. See device datasheet for details.
665
666 Valid values:
667 - 1: enabled
668 - 0: disabled
669
670What: /sys/class/power_supply/bq24257-charger/sysoff_enable
671Date: October 2015
672KernelVersion: 4.4.0
673Contact: Andreas Dannenberg <dannenberg@ti.com>
674Description:
675 This entry allows enabling the sysoff mode of bq24257-type charger
676 devices. If enabled and the input is removed, the internal battery FET
677 is turned off in order to reduce the leakage from the BAT pin to less
678 than 1uA. Note that on some devices/systems this disconnects the battery
679 from the system. See device datasheet for details.
680
681 Valid values:
682 - 1: enabled
683 - 0: disabled
684
685What: /sys/class/power_supply/<supply_name>/manufacture_year
686Date: January 2020
687Contact: linux-pm@vger.kernel.org
688Description:
689 Reports the year (following Gregorian calendar) when the device has been
690 manufactured.
691
692 Access: Read
693 Valid values: Reported as integer
694
695What: /sys/class/power_supply/<supply_name>/manufacture_month
696Date: January 2020
697Contact: linux-pm@vger.kernel.org
698Description:
699 Reports the month when the device has been manufactured.
700
701 Access: Read
702 Valid values: 1-12
703
704What: /sys/class/power_supply/<supply_name>/manufacture_day
705Date: January 2020
706Contact: linux-pm@vger.kernel.org
707Description:
708 Reports the day of month when the device has been manufactured.
709
710 Access: Read
711 Valid values: 1-31