xref: /linux/Documentation/ABI/testing/sysfs-class-power (revision be709d48329a500621d2a05835283150ae137b45)
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"
38
39===== Battery Properties =====
40
41What:		/sys/class/power_supply/<supply_name>/capacity
42Date:		May 2007
43Contact:	linux-pm@vger.kernel.org
44Description:
45		Fine grain representation of battery capacity.
46		Access: Read
47		Valid values: 0 - 100 (percent)
48
49What:		/sys/class/power_supply/<supply_name>/capacity_alert_max
50Date:		July 2012
51Contact:	linux-pm@vger.kernel.org
52Description:
53		Maximum battery capacity trip-wire value where the supply will
54		notify user-space of the event. This is normally used for the
55		battery discharging scenario where user-space needs to know the
56		battery has dropped to an upper level so it can take
57		appropriate action (e.g. warning user that battery level is
58		low).
59
60		Access: Read, Write
61		Valid values: 0 - 100 (percent)
62
63What:		/sys/class/power_supply/<supply_name>/capacity_alert_min
64Date:		July 2012
65Contact:	linux-pm@vger.kernel.org
66Description:
67		Minimum battery capacity trip-wire value where the supply will
68		notify user-space of the event. This is normally used for the
69		battery discharging scenario where user-space needs to know the
70		battery has dropped to a lower level so it can take
71		appropriate action (e.g. warning user that battery level is
72		critically low).
73
74		Access: Read, Write
75		Valid values: 0 - 100 (percent)
76
77What:		/sys/class/power_supply/<supply_name>/capacity_level
78Date:		June 2009
79Contact:	linux-pm@vger.kernel.org
80Description:
81		Coarse representation of battery capacity.
82
83		Access: Read
84		Valid values: "Unknown", "Critical", "Low", "Normal", "High",
85			      "Full"
86
87What:		/sys/class/power_supply/<supply_name>/current_avg
88Date:		May 2007
89Contact:	linux-pm@vger.kernel.org
90Description:
91		Reports an average IBAT current reading for the battery, over a
92		fixed period. Normally devices will provide a fixed interval in
93		which they average readings to smooth out the reported value.
94
95		Access: Read
96		Valid values: Represented in microamps
97
98What:		/sys/class/power_supply/<supply_name>/current_max
99Date:		October 2010
100Contact:	linux-pm@vger.kernel.org
101Description:
102		Reports the maximum IBAT current allowed into the battery.
103
104		Access: Read
105		Valid values: Represented in microamps
106
107What:		/sys/class/power_supply/<supply_name>/current_now
108Date:		May 2007
109Contact:	linux-pm@vger.kernel.org
110Description:
111		Reports an instant, single IBAT current reading for the battery.
112		This value is not averaged/smoothed.
113
114		Access: Read
115		Valid values: Represented in microamps
116
117What:		/sys/class/power_supply/<supply_name>/charge_type
118Date:		July 2009
119Contact:	linux-pm@vger.kernel.org
120Description:
121		Represents the type of charging currently being applied to the
122		battery.
123
124		Access: Read
125		Valid values: "Unknown", "N/A", "Trickle", "Fast"
126
127What:		/sys/class/power_supply/<supply_name>/charge_term_current
128Date:		July 2014
129Contact:	linux-pm@vger.kernel.org
130Description:
131		Reports the charging current value which is used to determine
132		when the battery is considered full and charging should end.
133
134		Access: Read
135		Valid values: Represented in microamps
136
137What:		/sys/class/power_supply/<supply_name>/health
138Date:		May 2007
139Contact:	linux-pm@vger.kernel.org
140Description:
141		Reports the health of the battery or battery side of charger
142		functionality.
143
144		Access: Read
145		Valid values: "Unknown", "Good", "Overheat", "Dead",
146			      "Over voltage", "Unspecified failure", "Cold",
147			      "Watchdog timer expire", "Safety timer expire"
148
149What:		/sys/class/power_supply/<supply_name>/precharge_current
150Date:		June 2017
151Contact:	linux-pm@vger.kernel.org
152Description:
153		Reports the charging current applied during pre-charging phase
154		for a battery charge cycle.
155
156		Access: Read
157		Valid values: Represented in microamps
158
159What:		/sys/class/power_supply/<supply_name>/present
160Date:		May 2007
161Contact:	linux-pm@vger.kernel.org
162Description:
163		Reports whether a battery is present or not in the system.
164
165		Access: Read
166		Valid values:
167			0: Absent
168			1: Present
169
170What:		/sys/class/power_supply/<supply_name>/status
171Date:		May 2007
172Contact:	linux-pm@vger.kernel.org
173Description:
174		Represents the charging status of the battery. Normally this
175		is read-only reporting although for some supplies this can be
176		used to enable/disable charging to the battery.
177
178		Access: Read, Write
179		Valid values: "Unknown", "Charging", "Discharging",
180			      "Not charging", "Full"
181
182What:		/sys/class/power_supply/<supply_name>/technology
183Date:		May 2007
184Contact:	linux-pm@vger.kernel.org
185Description:
186		Describes the battery technology supported by the supply.
187
188		Access: Read
189		Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
190			      "NiCd", "LiMn"
191
192What:		/sys/class/power_supply/<supply_name>/temp
193Date:		May 2007
194Contact:	linux-pm@vger.kernel.org
195Description:
196		Reports the current TBAT battery temperature reading.
197
198		Access: Read
199		Valid values: Represented in 1/10 Degrees Celsius
200
201What:		/sys/class/power_supply/<supply_name>/temp_alert_max
202Date:		July 2012
203Contact:	linux-pm@vger.kernel.org
204Description:
205		Maximum TBAT temperature trip-wire value where the supply will
206		notify user-space of the event. This is normally used for the
207		battery charging scenario where user-space needs to know the
208		battery temperature has crossed an upper threshold so it can
209		take appropriate action (e.g. warning user that battery level is
210		critically high, and charging has stopped).
211
212		Access: Read
213		Valid values: Represented in 1/10 Degrees Celsius
214
215What:		/sys/class/power_supply/<supply_name>/temp_alert_min
216Date:		July 2012
217Contact:	linux-pm@vger.kernel.org
218Description:
219		Minimum TBAT temperature trip-wire value where the supply will
220		notify user-space of the event. This is normally used for the
221		battery charging scenario where user-space needs to know the
222		battery temperature has crossed a lower threshold so it can take
223		appropriate action (e.g. warning user that battery level is
224		high, and charging current has been reduced accordingly to
225		remedy the situation).
226
227		Access: Read
228		Valid values: Represented in 1/10 Degrees Celsius
229
230What:		/sys/class/power_supply/<supply_name>/temp_max
231Date:		July 2014
232Contact:	linux-pm@vger.kernel.org
233Description:
234		Reports the maximum allowed TBAT battery temperature for
235		charging.
236
237		Access: Read
238		Valid values: Represented in 1/10 Degrees Celsius
239
240What:		/sys/class/power_supply/<supply_name>/temp_min
241Date:		July 2014
242Contact:	linux-pm@vger.kernel.org
243Description:
244		Reports the minimum allowed TBAT battery temperature for
245		charging.
246
247		Access: Read
248		Valid values: Represented in 1/10 Degrees Celsius
249
250What:		/sys/class/power_supply/<supply_name>/voltage_avg,
251Date:		May 2007
252Contact:	linux-pm@vger.kernel.org
253Description:
254		Reports an average VBAT voltage reading for the battery, over a
255		fixed period. Normally devices will provide a fixed interval in
256		which they average readings to smooth out the reported value.
257
258		Access: Read
259		Valid values: Represented in microvolts
260
261What:		/sys/class/power_supply/<supply_name>/voltage_max,
262Date:		January 2008
263Contact:	linux-pm@vger.kernel.org
264Description:
265		Reports the maximum safe VBAT voltage permitted for the battery,
266		during charging.
267
268		Access: Read
269		Valid values: Represented in microvolts
270
271What:		/sys/class/power_supply/<supply_name>/voltage_min,
272Date:		January 2008
273Contact:	linux-pm@vger.kernel.org
274Description:
275		Reports the minimum safe VBAT voltage permitted for the battery,
276		during discharging.
277
278		Access: Read
279		Valid values: Represented in microvolts
280
281What:		/sys/class/power_supply/<supply_name>/voltage_now,
282Date:		May 2007
283Contact:	linux-pm@vger.kernel.org
284Description:
285		Reports an instant, single VBAT voltage reading for the battery.
286		This value is not averaged/smoothed.
287
288		Access: Read
289		Valid values: Represented in microvolts
290
291===== USB Properties =====
292
293What: 		/sys/class/power_supply/<supply_name>/current_avg
294Date:		May 2007
295Contact:	linux-pm@vger.kernel.org
296Description:
297		Reports an average IBUS current reading over a fixed period.
298		Normally devices will provide a fixed interval in which they
299		average readings to smooth out the reported value.
300
301		Access: Read
302		Valid values: Represented in microamps
303
304
305What: 		/sys/class/power_supply/<supply_name>/current_max
306Date:		October 2010
307Contact:	linux-pm@vger.kernel.org
308Description:
309		Reports the maximum IBUS current the supply can support.
310
311		Access: Read
312		Valid values: Represented in microamps
313
314What: 		/sys/class/power_supply/<supply_name>/current_now
315Date:		May 2007
316Contact:	linux-pm@vger.kernel.org
317Description:
318		Reports the IBUS current supplied now. This value is generally
319		read-only reporting, unless the 'online' state of the supply
320		is set to be programmable, in which case this value can be set
321		within the reported min/max range.
322
323		Access: Read, Write
324		Valid values: Represented in microamps
325
326What:		/sys/class/power_supply/<supply_name>/input_current_limit
327Date:		July 2014
328Contact:	linux-pm@vger.kernel.org
329Description:
330		Details the incoming IBUS current limit currently set in the
331		supply. Normally this is configured based on the type of
332		connection made (e.g. A configured SDP should output a maximum
333		of 500mA so the input current limit is set to the same value).
334
335		Access: Read, Write
336		Valid values: Represented in microamps
337
338What:		/sys/class/power_supply/<supply_name>/online,
339Date:		May 2007
340Contact:	linux-pm@vger.kernel.org
341Description:
342		Indicates if VBUS is present for the supply. When the supply is
343		online, and the supply allows it, then it's possible to switch
344		between online states (e.g. Fixed -> Programmable for a PD_PPS
345		USB supply so voltage and current can be controlled).
346
347		Access: Read, Write
348		Valid values:
349			0: Offline
350			1: Online Fixed - Fixed Voltage Supply
351			2: Online Programmable - Programmable Voltage Supply
352
353What:		/sys/class/power_supply/<supply_name>/temp
354Date:		May 2007
355Contact:	linux-pm@vger.kernel.org
356Description:
357		Reports the current supply temperature reading. This would
358		normally be the internal temperature of the device itself (e.g
359		TJUNC temperature of an IC)
360
361		Access: Read
362		Valid values: Represented in 1/10 Degrees Celsius
363
364What:		/sys/class/power_supply/<supply_name>/temp_alert_max
365Date:		July 2012
366Contact:	linux-pm@vger.kernel.org
367Description:
368		Maximum supply temperature trip-wire value where the supply will
369		notify user-space of the event. This is normally used for the
370		charging scenario where user-space needs to know the supply
371		temperature has crossed an upper threshold so it can take
372		appropriate action (e.g. warning user that the supply
373		temperature is critically high, and charging has stopped to
374		remedy the situation).
375
376		Access: Read
377		Valid values: Represented in 1/10 Degrees Celsius
378
379What:		/sys/class/power_supply/<supply_name>/temp_alert_min
380Date:		July 2012
381Contact:	linux-pm@vger.kernel.org
382Description:
383		Minimum supply temperature trip-wire value where the supply will
384		notify user-space of the event. This is normally used for the
385		charging scenario where user-space needs to know the supply
386		temperature has crossed a lower threshold so it can take
387		appropriate action (e.g. warning user that the supply
388		temperature is high, and charging current has been reduced
389		accordingly to remedy the situation).
390
391		Access: Read
392		Valid values: Represented in 1/10 Degrees Celsius
393
394What:		/sys/class/power_supply/<supply_name>/temp_max
395Date:		July 2014
396Contact:	linux-pm@vger.kernel.org
397Description:
398		Reports the maximum allowed supply temperature for operation.
399
400		Access: Read
401		Valid values: Represented in 1/10 Degrees Celsius
402
403What:		/sys/class/power_supply/<supply_name>/temp_min
404Date:		July 2014
405Contact:	linux-pm@vger.kernel.org
406Description:
407		Reports the mainimum allowed supply temperature for operation.
408
409		Access: Read
410		Valid values: Represented in 1/10 Degrees Celsius
411
412What: 		/sys/class/power_supply/<supply_name>/usb_type
413Date:		March 2018
414Contact:	linux-pm@vger.kernel.org
415Description:
416		Reports what type of USB connection is currently active for
417		the supply, for example it can show if USB-PD capable source
418		is attached.
419
420		Access: Read-Only
421		Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
422			      "PD_DRP", "PD_PPS", "BrickID"
423
424What: 		/sys/class/power_supply/<supply_name>/voltage_max
425Date:		January 2008
426Contact:	linux-pm@vger.kernel.org
427Description:
428		Reports the maximum VBUS voltage the supply can support.
429
430		Access: Read
431		Valid values: Represented in microvolts
432
433What: 		/sys/class/power_supply/<supply_name>/voltage_min
434Date:		January 2008
435Contact:	linux-pm@vger.kernel.org
436Description:
437		Reports the minimum VBUS voltage the supply can support.
438
439		Access: Read
440		Valid values: Represented in microvolts
441
442What: 		/sys/class/power_supply/<supply_name>/voltage_now
443Date:		May 2007
444Contact:	linux-pm@vger.kernel.org
445Description:
446		Reports the VBUS voltage supplied now. This value is generally
447		read-only reporting, unless the 'online' state of the supply
448		is set to be programmable, in which case this value can be set
449		within the reported min/max range.
450
451		Access: Read, Write
452		Valid values: Represented in microvolts
453
454===== Device Specific Properties =====
455
456What:		/sys/class/power/ds2760-battery.*/charge_now
457Date:		May 2010
458KernelVersion:	2.6.35
459Contact:	Daniel Mack <daniel@caiaq.de>
460Description:
461		This file is writeable and can be used to set the current
462		coloumb counter value inside the battery monitor chip. This
463		is needed for unavoidable corrections of aging batteries.
464		A userspace daemon can monitor the battery charging logic
465		and once the counter drops out of considerable bounds, take
466		appropriate action.
467
468What:		/sys/class/power/ds2760-battery.*/charge_full
469Date:		May 2010
470KernelVersion:	2.6.35
471Contact:	Daniel Mack <daniel@caiaq.de>
472Description:
473		This file is writeable and can be used to set the assumed
474		battery 'full level'. As batteries age, this value has to be
475		amended over time.
476
477What:		/sys/class/power_supply/max14577-charger/device/fast_charge_timer
478Date:		October 2014
479KernelVersion:	3.18.0
480Contact:	Krzysztof Kozlowski <krzk@kernel.org>
481Description:
482		This entry shows and sets the maximum time the max14577
483		charger operates in fast-charge mode. When the timer expires
484		the device will terminate fast-charge mode (charging current
485		will drop to 0 A) and will trigger interrupt.
486
487		Valid values:
488		- 5, 6 or 7 (hours),
489		- 0: disabled.
490
491What:		/sys/class/power_supply/max77693-charger/device/fast_charge_timer
492Date:		January 2015
493KernelVersion:	3.19.0
494Contact:	Krzysztof Kozlowski <krzk@kernel.org>
495Description:
496		This entry shows and sets the maximum time the max77693
497		charger operates in fast-charge mode. When the timer expires
498		the device will terminate fast-charge mode (charging current
499		will drop to 0 A) and will trigger interrupt.
500
501		Valid values:
502		- 4 - 16 (hours), step by 2 (rounded down)
503		- 0: disabled.
504
505What:		/sys/class/power_supply/max77693-charger/device/top_off_threshold_current
506Date:		January 2015
507KernelVersion:	3.19.0
508Contact:	Krzysztof Kozlowski <krzk@kernel.org>
509Description:
510		This entry shows and sets the charging current threshold for
511		entering top-off charging mode. When charging current in fast
512		charge mode drops below this value, the charger will trigger
513		interrupt and start top-off charging mode.
514
515		Valid values:
516		- 100000 - 200000 (microamps), step by 25000 (rounded down)
517		- 200000 - 350000 (microamps), step by 50000 (rounded down)
518		- 0: disabled.
519
520What:		/sys/class/power_supply/max77693-charger/device/top_off_timer
521Date:		January 2015
522KernelVersion:	3.19.0
523Contact:	Krzysztof Kozlowski <krzk@kernel.org>
524Description:
525		This entry shows and sets the maximum time the max77693
526		charger operates in top-off charge mode. When the timer expires
527		the device will terminate top-off charge mode (charging current
528		will drop to 0 A) and will trigger interrupt.
529
530		Valid values:
531		- 0 - 70 (minutes), step by 10 (rounded down)
532
533What:		/sys/class/power_supply/bq24257-charger/ovp_voltage
534Date:		October 2015
535KernelVersion:	4.4.0
536Contact:	Andreas Dannenberg <dannenberg@ti.com>
537Description:
538		This entry configures the overvoltage protection feature of bq24257-
539		type charger devices. This feature protects the device and other
540		components against damage from overvoltage on the input supply. See
541		device datasheet for details.
542
543		Valid values:
544		- 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
545		  10500000 (all uV)
546
547What:		/sys/class/power_supply/bq24257-charger/in_dpm_voltage
548Date:		October 2015
549KernelVersion:	4.4.0
550Contact:	Andreas Dannenberg <dannenberg@ti.com>
551Description:
552		This entry configures the input dynamic power path management voltage of
553		bq24257-type charger devices. Once the supply drops to the configured
554		voltage, the input current limit is reduced down to prevent the further
555		drop of the supply. When the IC enters this mode, the charge current is
556		lower than the set value. See device datasheet for details.
557
558		Valid values:
559		- 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
560		  4760000 (all uV)
561
562What:		/sys/class/power_supply/bq24257-charger/high_impedance_enable
563Date:		October 2015
564KernelVersion:	4.4.0
565Contact:	Andreas Dannenberg <dannenberg@ti.com>
566Description:
567		This entry allows enabling the high-impedance mode of bq24257-type
568		charger devices. If enabled, it places the charger IC into low power
569		standby mode with the switch mode controller disabled. When disabled,
570		the charger operates normally. See device datasheet for details.
571
572		Valid values:
573		- 1: enabled
574		- 0: disabled
575
576What:		/sys/class/power_supply/bq24257-charger/sysoff_enable
577Date:		October 2015
578KernelVersion:	4.4.0
579Contact:	Andreas Dannenberg <dannenberg@ti.com>
580Description:
581		This entry allows enabling the sysoff mode of bq24257-type charger
582		devices. If enabled and the input is removed, the internal battery FET
583		is turned off in order to reduce the leakage from the BAT pin to less
584		than 1uA. Note that on some devices/systems this disconnects the battery
585		from the system. See device datasheet for details.
586
587		Valid values:
588		- 1: enabled
589		- 0: disabled
590