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_level
78Date: June 2009
79Contact: linux-pm@vger.kernel.org
80Description:
81 Coarse representation of battery capacity.
82
83 Access: Read
84 Valid values: "Unknown", "Critical", "Low", "Normal", "High",
85 "Full"
86
87What: /sys/class/power_supply/<supply_name>/current_avg
88Date: May 2007
89Contact: linux-pm@vger.kernel.org
90Description:
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.
94
95 Access: Read
96 Valid values: Represented in microamps
97
98What: /sys/class/power_supply/<supply_name>/current_max
99Date: October 2010
100Contact: linux-pm@vger.kernel.org
101Description:
102 Reports the maximum IBAT current allowed into the battery.
103
104 Access: Read
105 Valid values: Represented in microamps
106
107What: /sys/class/power_supply/<supply_name>/current_now
108Date: May 2007
109Contact: linux-pm@vger.kernel.org
110Description:
111 Reports an instant, single IBAT current reading for the battery.
112 This value is not averaged/smoothed.
113
114 Access: Read
115 Valid values: Represented in microamps
116
117What: /sys/class/power_supply/<supply_name>/charge_control_limit
118Date: Oct 2012
119Contact: linux-pm@vger.kernel.org
120Description:
121 Maximum allowable charging current. Used for charge rate
122 throttling for thermal cooling or improving battery health.
123
124 Access: Read, Write
125 Valid values: Represented in microamps
126
127What: /sys/class/power_supply/<supply_name>/charge_control_limit_max
128Date: Oct 2012
129Contact: linux-pm@vger.kernel.org
130Description:
131 Maximum legal value for the charge_control_limit property.
132
133 Access: Read
134 Valid values: Represented in microamps
135
136What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold
137Date: April 2019
138Contact: linux-pm@vger.kernel.org
139Description:
140 Represents a battery percentage level, below which charging will
141 begin.
142
143 Access: Read, Write
144 Valid values: 0 - 100 (percent)
145
146What: /sys/class/power_supply/<supply_name>/charge_control_end_threshold
147Date: April 2019
148Contact: linux-pm@vger.kernel.org
149Description:
150 Represents a battery percentage level, above which charging will
151 stop.
152
153 Access: Read, Write
154 Valid values: 0 - 100 (percent)
155
156What: /sys/class/power_supply/<supply_name>/charge_type
157Date: July 2009
158Contact: linux-pm@vger.kernel.org
159Description:
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
166 different algorithm.
167
168 Access: Read, Write
169 Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard",
170 "Adaptive", "Custom"
171
172What: /sys/class/power_supply/<supply_name>/charge_term_current
173Date: July 2014
174Contact: linux-pm@vger.kernel.org
175Description:
176 Reports the charging current value which is used to determine
177 when the battery is considered full and charging should end.
178
179 Access: Read
180 Valid values: Represented in microamps
181
182What: /sys/class/power_supply/<supply_name>/health
183Date: May 2007
184Contact: linux-pm@vger.kernel.org
185Description:
186 Reports the health of the battery or battery side of charger
187 functionality.
188
189 Access: Read
190 Valid values: "Unknown", "Good", "Overheat", "Dead",
191 "Over voltage", "Unspecified failure", "Cold",
192 "Watchdog timer expire", "Safety timer expire"
193
194What: /sys/class/power_supply/<supply_name>/precharge_current
195Date: June 2017
196Contact: linux-pm@vger.kernel.org
197Description:
198 Reports the charging current applied during pre-charging phase
199 for a battery charge cycle.
200
201 Access: Read
202 Valid values: Represented in microamps
203
204What: /sys/class/power_supply/<supply_name>/present
205Date: May 2007
206Contact: linux-pm@vger.kernel.org
207Description:
208 Reports whether a battery is present or not in the system.
209
210 Access: Read
211 Valid values:
212 0: Absent
213 1: Present
214
215What: /sys/class/power_supply/<supply_name>/status
216Date: May 2007
217Contact: linux-pm@vger.kernel.org
218Description:
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.
222
223 Access: Read, Write
224 Valid values: "Unknown", "Charging", "Discharging",
225 "Not charging", "Full"
226
227What: /sys/class/power_supply/<supply_name>/technology
228Date: May 2007
229Contact: linux-pm@vger.kernel.org
230Description:
231 Describes the battery technology supported by the supply.
232
233 Access: Read
234 Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
235 "NiCd", "LiMn"
236
237What: /sys/class/power_supply/<supply_name>/temp
238Date: May 2007
239Contact: linux-pm@vger.kernel.org
240Description:
241 Reports the current TBAT battery temperature reading.
242
243 Access: Read
244 Valid values: Represented in 1/10 Degrees Celsius
245
246What: /sys/class/power_supply/<supply_name>/temp_alert_max
247Date: July 2012
248Contact: linux-pm@vger.kernel.org
249Description:
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).
256
257 Access: Read
258 Valid values: Represented in 1/10 Degrees Celsius
259
260What: /sys/class/power_supply/<supply_name>/temp_alert_min
261Date: July 2012
262Contact: linux-pm@vger.kernel.org
263Description:
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).
271
272 Access: Read
273 Valid values: Represented in 1/10 Degrees Celsius
274
275What: /sys/class/power_supply/<supply_name>/temp_max
276Date: July 2014
277Contact: linux-pm@vger.kernel.org
278Description:
279 Reports the maximum allowed TBAT battery temperature for
280 charging.
281
282 Access: Read
283 Valid values: Represented in 1/10 Degrees Celsius
284
285What: /sys/class/power_supply/<supply_name>/temp_min
286Date: July 2014
287Contact: linux-pm@vger.kernel.org
288Description:
289 Reports the minimum allowed TBAT battery temperature for
290 charging.
291
292 Access: Read
293 Valid values: Represented in 1/10 Degrees Celsius
294
295What: /sys/class/power_supply/<supply_name>/voltage_avg,
296Date: May 2007
297Contact: linux-pm@vger.kernel.org
298Description:
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.
302
303 Access: Read
304 Valid values: Represented in microvolts
305
306What: /sys/class/power_supply/<supply_name>/voltage_max,
307Date: January 2008
308Contact: linux-pm@vger.kernel.org
309Description:
310 Reports the maximum safe VBAT voltage permitted for the battery,
311 during charging.
312
313 Access: Read
314 Valid values: Represented in microvolts
315
316What: /sys/class/power_supply/<supply_name>/voltage_min,
317Date: January 2008
318Contact: linux-pm@vger.kernel.org
319Description:
320 Reports the minimum safe VBAT voltage permitted for the battery,
321 during discharging.
322
323 Access: Read
324 Valid values: Represented in microvolts
325
326What: /sys/class/power_supply/<supply_name>/voltage_now,
327Date: May 2007
328Contact: linux-pm@vger.kernel.org
329Description:
330 Reports an instant, single VBAT voltage reading for the battery.
331 This value is not averaged/smoothed.
332
333 Access: Read
334 Valid values: Represented in microvolts
335
336===== USB Properties =====
337
338What: /sys/class/power_supply/<supply_name>/current_avg
339Date: May 2007
340Contact: linux-pm@vger.kernel.org
341Description:
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.
345
346 Access: Read
347 Valid values: Represented in microamps
348
349
350What: /sys/class/power_supply/<supply_name>/current_max
351Date: October 2010
352Contact: linux-pm@vger.kernel.org
353Description:
354 Reports the maximum IBUS current the supply can support.
355
356 Access: Read
357 Valid values: Represented in microamps
358
359What: /sys/class/power_supply/<supply_name>/current_now
360Date: May 2007
361Contact: linux-pm@vger.kernel.org
362Description:
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.
367
368 Access: Read, Write
369 Valid values: Represented in microamps
370
371What: /sys/class/power_supply/<supply_name>/input_current_limit
372Date: July 2014
373Contact: linux-pm@vger.kernel.org
374Description:
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.
381
382 Access: Read, Write
383 Valid values: Represented in microamps
384
385What: /sys/class/power_supply/<supply_name>/input_voltage_limit
386Date: May 2019
387Contact: linux-pm@vger.kernel.org
388Description:
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.
398
399 Access: Read, Write
400 Valid values: Represented in microvolts
401
402What: /sys/class/power_supply/<supply_name>/input_power_limit
403Date: May 2019
404Contact: linux-pm@vger.kernel.org
405Description:
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.
411
412 Access: Read, Write
413 Valid values: Represented in microwatts
414
415What: /sys/class/power_supply/<supply_name>/online,
416Date: May 2007
417Contact: linux-pm@vger.kernel.org
418Description:
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).
423
424 Access: Read, Write
425 Valid values:
426 0: Offline
427 1: Online Fixed - Fixed Voltage Supply
428 2: Online Programmable - Programmable Voltage Supply
429
430What: /sys/class/power_supply/<supply_name>/temp
431Date: May 2007
432Contact: linux-pm@vger.kernel.org
433Description:
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)
437
438 Access: Read
439 Valid values: Represented in 1/10 Degrees Celsius
440
441What: /sys/class/power_supply/<supply_name>/temp_alert_max
442Date: July 2012
443Contact: linux-pm@vger.kernel.org
444Description:
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).
452
453 Access: Read
454 Valid values: Represented in 1/10 Degrees Celsius
455
456What: /sys/class/power_supply/<supply_name>/temp_alert_min
457Date: July 2012
458Contact: linux-pm@vger.kernel.org
459Description:
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).
467
468 Access: Read
469 Valid values: Represented in 1/10 Degrees Celsius
470
471What: /sys/class/power_supply/<supply_name>/temp_max
472Date: July 2014
473Contact: linux-pm@vger.kernel.org
474Description:
475 Reports the maximum allowed supply temperature for operation.
476
477 Access: Read
478 Valid values: Represented in 1/10 Degrees Celsius
479
480What: /sys/class/power_supply/<supply_name>/temp_min
481Date: July 2014
482Contact: linux-pm@vger.kernel.org
483Description:
484 Reports the mainimum allowed supply temperature for operation.
485
486 Access: Read
487 Valid values: Represented in 1/10 Degrees Celsius
488
489What: /sys/class/power_supply/<supply_name>/usb_type
490Date: March 2018
491Contact: linux-pm@vger.kernel.org
492Description:
493 Reports what type of USB connection is currently active for
494 the supply, for example it can show if USB-PD capable source
495 is attached.
496
497 Access: Read-Only
498 Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
499 "PD_DRP", "PD_PPS", "BrickID"
500
501What: /sys/class/power_supply/<supply_name>/voltage_max
502Date: January 2008
503Contact: linux-pm@vger.kernel.org
504Description:
505 Reports the maximum VBUS voltage the supply can support.
506
507 Access: Read
508 Valid values: Represented in microvolts
509
510What: /sys/class/power_supply/<supply_name>/voltage_min
511Date: January 2008
512Contact: linux-pm@vger.kernel.org
513Description:
514 Reports the minimum VBUS voltage the supply can support.
515
516 Access: Read
517 Valid values: Represented in microvolts
518
519What: /sys/class/power_supply/<supply_name>/voltage_now
520Date: May 2007
521Contact: linux-pm@vger.kernel.org
522Description:
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.
527
528 Access: Read, Write
529 Valid values: Represented in microvolts
530
531===== Device Specific Properties =====
532
533What: /sys/class/power/ds2760-battery.*/charge_now
534Date: May 2010
535KernelVersion: 2.6.35
536Contact: Daniel Mack <daniel@caiaq.de>
537Description:
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
543 appropriate action.
544
545What: /sys/class/power/ds2760-battery.*/charge_full
546Date: May 2010
547KernelVersion: 2.6.35
548Contact: Daniel Mack <daniel@caiaq.de>
549Description:
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
552 amended over time.
553
554What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
555Date: October 2014
556KernelVersion: 3.18.0
557Contact: Krzysztof Kozlowski <krzk@kernel.org>
558Description:
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.
563
564 Valid values:
565 - 5, 6 or 7 (hours),
566 - 0: disabled.
567
568What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
569Date: January 2015
570KernelVersion: 3.19.0
571Contact: Krzysztof Kozlowski <krzk@kernel.org>
572Description:
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.
577
578 Valid values:
579 - 4 - 16 (hours), step by 2 (rounded down)
580 - 0: disabled.
581
582What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
583Date: January 2015
584KernelVersion: 3.19.0
585Contact: Krzysztof Kozlowski <krzk@kernel.org>
586Description:
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.
591
592 Valid values:
593 - 100000 - 200000 (microamps), step by 25000 (rounded down)
594 - 200000 - 350000 (microamps), step by 50000 (rounded down)
595 - 0: disabled.
596
597What: /sys/class/power_supply/max77693-charger/device/top_off_timer
598Date: January 2015
599KernelVersion: 3.19.0
600Contact: Krzysztof Kozlowski <krzk@kernel.org>
601Description:
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.
606
607 Valid values:
608 - 0 - 70 (minutes), step by 10 (rounded down)
609
610What: /sys/class/power_supply/bq24257-charger/ovp_voltage
611Date: October 2015
612KernelVersion: 4.4.0
613Contact: Andreas Dannenberg <dannenberg@ti.com>
614Description:
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.
619
620 Valid values:
621 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
622 10500000 (all uV)
623
624What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
625Date: October 2015
626KernelVersion: 4.4.0
627Contact: Andreas Dannenberg <dannenberg@ti.com>
628Description:
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.
634
635 Valid values:
636 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
637 4760000 (all uV)
638
639What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
640Date: October 2015
641KernelVersion: 4.4.0
642Contact: Andreas Dannenberg <dannenberg@ti.com>
643Description:
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.
648
649 Valid values:
650 - 1: enabled
651 - 0: disabled
652
653What: /sys/class/power_supply/bq24257-charger/sysoff_enable
654Date: October 2015
655KernelVersion: 4.4.0
656Contact: Andreas Dannenberg <dannenberg@ti.com>
657Description:
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.
663
664 Valid values:
665 - 1: enabled
666 - 0: disabled