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