Linux Audio

Check our new training course

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