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", "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 Select the charging algorithm to use for a battery.
381
382 Standard:
383 Fully charge the battery at a moderate rate.
384 Fast:
385 Quickly charge the battery using fast-charge
386 technology. This is typically harder on the battery
387 than standard charging and may lower its lifespan.
388 Trickle:
389 Users who primarily operate the system while
390 plugged into an external power source can extend
391 battery life with this mode. Vendor tooling may
392 call this "Primarily AC Use".
393 Adaptive:
394 Automatically optimize battery charge rate based
395 on typical usage pattern.
396 Custom:
397 Use the charge_control_* properties to determine
398 when to start and stop charging. Advanced users
399 can use this to drastically extend battery life.
400 Long Life:
401 The charger reduces its charging rate in order to
402 prolong the battery health.
403 Bypass:
404 The charger bypasses the charging path around the
405 integrated converter allowing for a "smart" wall
406 adaptor to perform the power conversion externally.
407
408 Access: Read, Write
409
410 Valid values:
411 "Unknown", "N/A", "Trickle", "Fast", "Standard",
412 "Adaptive", "Custom", "Long Life", "Bypass"
413
414What: /sys/class/power_supply/<supply_name>/charge_term_current
415Date: July 2014
416Contact: linux-pm@vger.kernel.org
417Description:
418 Reports the charging current value which is used to determine
419 when the battery is considered full and charging should end.
420
421 Access: Read
422
423 Valid values: Represented in microamps
424
425What: /sys/class/power_supply/<supply_name>/health
426Date: May 2007
427Contact: linux-pm@vger.kernel.org
428Description:
429 Reports the health of the battery or battery side of charger
430 functionality.
431
432 Access: Read
433
434 Valid values:
435 "Unknown", "Good", "Overheat", "Dead",
436 "Over voltage", "Unspecified failure", "Cold",
437 "Watchdog timer expire", "Safety timer expire",
438 "Over current", "Calibration required", "Warm",
439 "Cool", "Hot", "No battery"
440
441What: /sys/class/power_supply/<supply_name>/precharge_current
442Date: June 2017
443Contact: linux-pm@vger.kernel.org
444Description:
445 Reports the charging current applied during pre-charging phase
446 for a battery charge cycle.
447
448 Access: Read
449
450 Valid values: Represented in microamps
451
452What: /sys/class/power_supply/<supply_name>/present
453Date: May 2007
454Contact: linux-pm@vger.kernel.org
455Description:
456 Reports whether a battery is present or not in the system. If the
457 property does not exist, the battery is considered to be present.
458
459 Access: Read
460
461 Valid values:
462
463 == =======
464 0: Absent
465 1: Present
466 == =======
467
468What: /sys/class/power_supply/<supply_name>/status
469Date: May 2007
470Contact: linux-pm@vger.kernel.org
471Description:
472 Represents the charging status of the battery. Normally this
473 is read-only reporting although for some supplies this can be
474 used to enable/disable charging to the battery.
475
476 Access: Read, Write
477
478 Valid values:
479 "Unknown", "Charging", "Discharging",
480 "Not charging", "Full"
481
482What: /sys/class/power_supply/<supply_name>/charge_behaviour
483Date: November 2021
484Contact: linux-pm@vger.kernel.org
485Description:
486 Represents the charging behaviour.
487
488 Access: Read, Write
489
490 Valid values:
491 ================ ====================================
492 auto: Charge normally, respect thresholds
493 inhibit-charge: Do not charge while AC is attached
494 force-discharge: Force discharge while AC is attached
495 ================ ====================================
496
497What: /sys/class/power_supply/<supply_name>/technology
498Date: May 2007
499Contact: linux-pm@vger.kernel.org
500Description:
501 Describes the battery technology supported by the supply.
502
503 Access: Read
504
505 Valid values:
506 "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
507 "NiCd", "LiMn"
508
509
510What: /sys/class/power_supply/<supply_name>/voltage_avg,
511Date: May 2007
512Contact: linux-pm@vger.kernel.org
513Description:
514 Reports an average VBAT voltage reading for the battery, over a
515 fixed period. Normally devices will provide a fixed interval in
516 which they average readings to smooth out the reported value.
517
518 Access: Read
519
520 Valid values: Represented in microvolts
521
522What: /sys/class/power_supply/<supply_name>/cycle_count
523Date: January 2010
524Contact: linux-pm@vger.kernel.org
525Description:
526 Reports the number of full charge + discharge cycles the
527 battery has undergone.
528
529 Access: Read
530
531 Valid values:
532 Integer > 0: representing full cycles
533 Integer = 0: cycle_count info is not available
534
535**USB Properties**
536
537What: /sys/class/power_supply/<supply_name>/input_current_limit
538Date: July 2014
539Contact: linux-pm@vger.kernel.org
540Description:
541 Details the incoming IBUS current limit currently set in the
542 supply. Normally this is configured based on the type of
543 connection made (e.g. A configured SDP should output a maximum
544 of 500mA so the input current limit is set to the same value).
545 Use preferably input_power_limit, and for problems that can be
546 solved using power limit use input_current_limit.
547
548 Access: Read, Write
549
550 Valid values: Represented in microamps
551
552What: /sys/class/power_supply/<supply_name>/input_voltage_limit
553Date: May 2019
554Contact: linux-pm@vger.kernel.org
555Description:
556 This entry configures the incoming VBUS voltage limit currently
557 set in the supply. Normally this is configured based on
558 system-level knowledge or user input (e.g. This is part of the
559 Pixel C's thermal management strategy to effectively limit the
560 input power to 5V when the screen is on to meet Google's skin
561 temperature targets). Note that this feature should not be
562 used for safety critical things.
563 Use preferably input_power_limit, and for problems that can be
564 solved using power limit use input_voltage_limit.
565
566 Access: Read, Write
567
568 Valid values: Represented in microvolts
569
570What: /sys/class/power_supply/<supply_name>/input_power_limit
571Date: May 2019
572Contact: linux-pm@vger.kernel.org
573Description:
574 This entry configures the incoming power limit currently set
575 in the supply. Normally this is configured based on
576 system-level knowledge or user input. Use preferably this
577 feature to limit the incoming power and use current/voltage
578 limit only for problems that can be solved using power limit.
579
580 Access: Read, Write
581
582 Valid values: Represented in microwatts
583
584What: /sys/class/power_supply/<supply_name>/online,
585Date: May 2007
586Contact: linux-pm@vger.kernel.org
587Description:
588 Indicates if VBUS is present for the supply. When the supply is
589 online, and the supply allows it, then it's possible to switch
590 between online states (e.g. Fixed -> Programmable for a PD_PPS
591 USB supply so voltage and current can be controlled).
592
593 Access: Read, Write
594
595 Valid values:
596
597 == ==================================================
598 0: Offline
599 1: Online Fixed - Fixed Voltage Supply
600 2: Online Programmable - Programmable Voltage Supply
601 == ==================================================
602
603What: /sys/class/power_supply/<supply_name>/usb_type
604Date: March 2018
605Contact: linux-pm@vger.kernel.org
606Description:
607 Reports what type of USB connection is currently active for
608 the supply, for example it can show if USB-PD capable source
609 is attached.
610
611 Access: For power-supplies which consume USB power such
612 as battery charger chips, this indicates the type of
613 the connected USB power source and is Read-Only.
614
615 For power-supplies which act as a USB power-source such as
616 e.g. the UCS1002 USB Port Power Controller this is writable.
617
618 Valid values:
619 "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
620 "PD_DRP", "PD_PPS", "BrickID"
621
622**Device Specific Properties**
623
624What: /sys/class/power/ds2760-battery.*/charge_now
625Date: May 2010
626KernelVersion: 2.6.35
627Contact: Daniel Mack <daniel@caiaq.de>
628Description:
629 This file is writeable and can be used to set the current
630 coloumb counter value inside the battery monitor chip. This
631 is needed for unavoidable corrections of aging batteries.
632 A userspace daemon can monitor the battery charging logic
633 and once the counter drops out of considerable bounds, take
634 appropriate action.
635
636What: /sys/class/power/ds2760-battery.*/charge_full
637Date: May 2010
638KernelVersion: 2.6.35
639Contact: Daniel Mack <daniel@caiaq.de>
640Description:
641 This file is writeable and can be used to set the assumed
642 battery 'full level'. As batteries age, this value has to be
643 amended over time.
644
645What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
646Date: October 2014
647KernelVersion: 3.18.0
648Contact: Krzysztof Kozlowski <krzk@kernel.org>
649Description:
650 This entry shows and sets the maximum time the max14577
651 charger operates in fast-charge mode. When the timer expires
652 the device will terminate fast-charge mode (charging current
653 will drop to 0 A) and will trigger interrupt.
654
655 Valid values:
656
657 - 5, 6 or 7 (hours),
658 - 0: disabled.
659
660What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
661Date: January 2015
662KernelVersion: 3.19.0
663Contact: Krzysztof Kozlowski <krzk@kernel.org>
664Description:
665 This entry shows and sets the maximum time the max77693
666 charger operates in fast-charge mode. When the timer expires
667 the device will terminate fast-charge mode (charging current
668 will drop to 0 A) and will trigger interrupt.
669
670 Valid values:
671
672 - 4 - 16 (hours), step by 2 (rounded down)
673 - 0: disabled.
674
675What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
676Date: January 2015
677KernelVersion: 3.19.0
678Contact: Krzysztof Kozlowski <krzk@kernel.org>
679Description:
680 This entry shows and sets the charging current threshold for
681 entering top-off charging mode. When charging current in fast
682 charge mode drops below this value, the charger will trigger
683 interrupt and start top-off charging mode.
684
685 Valid values:
686
687 - 100000 - 200000 (microamps), step by 25000 (rounded down)
688 - 200000 - 350000 (microamps), step by 50000 (rounded down)
689 - 0: disabled.
690
691What: /sys/class/power_supply/max77693-charger/device/top_off_timer
692Date: January 2015
693KernelVersion: 3.19.0
694Contact: Krzysztof Kozlowski <krzk@kernel.org>
695Description:
696 This entry shows and sets the maximum time the max77693
697 charger operates in top-off charge mode. When the timer expires
698 the device will terminate top-off charge mode (charging current
699 will drop to 0 A) and will trigger interrupt.
700
701 Valid values:
702
703 - 0 - 70 (minutes), step by 10 (rounded down)
704
705What: /sys/class/power_supply/bq24257-charger/ovp_voltage
706Date: October 2015
707KernelVersion: 4.4.0
708Contact: Andreas Dannenberg <dannenberg@ti.com>
709Description:
710 This entry configures the overvoltage protection feature of bq24257-
711 type charger devices. This feature protects the device and other
712 components against damage from overvoltage on the input supply. See
713 device datasheet for details.
714
715 Valid values:
716
717 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
718 10500000 (all uV)
719
720What: /sys/class/power_supply/bq24257-charger/in_dpm_voltage
721Date: October 2015
722KernelVersion: 4.4.0
723Contact: Andreas Dannenberg <dannenberg@ti.com>
724Description:
725 This entry configures the input dynamic power path management voltage of
726 bq24257-type charger devices. Once the supply drops to the configured
727 voltage, the input current limit is reduced down to prevent the further
728 drop of the supply. When the IC enters this mode, the charge current is
729 lower than the set value. See device datasheet for details.
730
731 Valid values:
732
733 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
734 4760000 (all uV)
735
736What: /sys/class/power_supply/bq24257-charger/high_impedance_enable
737Date: October 2015
738KernelVersion: 4.4.0
739Contact: Andreas Dannenberg <dannenberg@ti.com>
740Description:
741 This entry allows enabling the high-impedance mode of bq24257-type
742 charger devices. If enabled, it places the charger IC into low power
743 standby mode with the switch mode controller disabled. When disabled,
744 the charger operates normally. See device datasheet for details.
745
746 Valid values:
747
748 - 1: enabled
749 - 0: disabled
750
751What: /sys/class/power_supply/bq24257-charger/sysoff_enable
752Date: October 2015
753KernelVersion: 4.4.0
754Contact: Andreas Dannenberg <dannenberg@ti.com>
755Description:
756 This entry allows enabling the sysoff mode of bq24257-type charger
757 devices. If enabled and the input is removed, the internal battery FET
758 is turned off in order to reduce the leakage from the BAT pin to less
759 than 1uA. Note that on some devices/systems this disconnects the battery
760 from the system. See device datasheet for details.
761
762 Valid values:
763
764 - 1: enabled
765 - 0: disabled
766
767What: /sys/class/power_supply/<supply_name>/manufacture_year
768Date: January 2020
769Contact: linux-pm@vger.kernel.org
770Description:
771 Reports the year (following Gregorian calendar) when the device has been
772 manufactured.
773
774 Access: Read
775
776 Valid values: Reported as integer
777
778What: /sys/class/power_supply/<supply_name>/manufacture_month
779Date: January 2020
780Contact: linux-pm@vger.kernel.org
781Description:
782 Reports the month when the device has been manufactured.
783
784 Access: Read
785
786 Valid values: 1-12
787
788What: /sys/class/power_supply/<supply_name>/manufacture_day
789Date: January 2020
790Contact: linux-pm@vger.kernel.org
791Description:
792 Reports the day of month when the device has been manufactured.
793
794 Access: Read
795 Valid values: 1-31