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