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