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