Merge tag 'efi_updates_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-class-power
1 **General Properties**
2
3 What:           /sys/class/power_supply/<supply_name>/manufacturer
4 Date:           May 2007
5 Contact:        linux-pm@vger.kernel.org
6 Description:
7                 Reports the name of the device manufacturer.
8
9                 Access: Read
10                 Valid values: Represented as string
11
12 What:           /sys/class/power_supply/<supply_name>/model_name
13 Date:           May 2007
14 Contact:        linux-pm@vger.kernel.org
15 Description:
16                 Reports the name of the device model.
17
18                 Access: Read
19                 Valid values: Represented as string
20
21 What:           /sys/class/power_supply/<supply_name>/serial_number
22 Date:           January 2008
23 Contact:        linux-pm@vger.kernel.org
24 Description:
25                 Reports the serial number of the device.
26
27                 Access: Read
28                 Valid values: Represented as string
29
30 What:           /sys/class/power_supply/<supply_name>/type
31 Date:           May 2010
32 Contact:        linux-pm@vger.kernel.org
33 Description:
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
41 What:           /sys/class/power_supply/<supply_name>/current_avg
42 Date:           May 2007
43 Contact:        linux-pm@vger.kernel.org
44 Description:
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
64 What:           /sys/class/power_supply/<supply_name>/current_max
65 Date:           October 2010
66 Contact:        linux-pm@vger.kernel.org
67 Description:
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
79 What:           /sys/class/power_supply/<supply_name>/current_now
80 Date:           May 2007
81 Contact:        linux-pm@vger.kernel.org
82 Description:
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
104 What:           /sys/class/power_supply/<supply_name>/temp
105 Date:           May 2007
106 Contact:        linux-pm@vger.kernel.org
107 Description:
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
122 What:           /sys/class/power_supply/<supply_name>/temp_alert_max
123 Date:           July 2012
124 Contact:        linux-pm@vger.kernel.org
125 Description:
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
146 What:           /sys/class/power_supply/<supply_name>/temp_alert_min
147 Date:           July 2012
148 Contact:        linux-pm@vger.kernel.org
149 Description:
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
171 What:           /sys/class/power_supply/<supply_name>/temp_max
172 Date:           July 2014
173 Contact:        linux-pm@vger.kernel.org
174 Description:
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
188 What:           /sys/class/power_supply/<supply_name>/temp_min
189 Date:           July 2014
190 Contact:        linux-pm@vger.kernel.org
191 Description:
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
205 What:           /sys/class/power_supply/<supply_name>/voltage_max,
206 Date:           January 2008
207 Contact:        linux-pm@vger.kernel.org
208 Description:
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
222 What:           /sys/class/power_supply/<supply_name>/voltage_min,
223 Date:           January 2008
224 Contact:        linux-pm@vger.kernel.org
225 Description:
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
239 What:           /sys/class/power_supply/<supply_name>/voltage_now,
240 Date:           May 2007
241 Contact:        linux-pm@vger.kernel.org
242 Description:
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
263 What:           /sys/class/power_supply/<supply_name>/capacity
264 Date:           May 2007
265 Contact:        linux-pm@vger.kernel.org
266 Description:
267                 Fine grain representation of battery capacity.
268
269                 Access: Read
270
271                 Valid values: 0 - 100 (percent)
272
273 What:           /sys/class/power_supply/<supply_name>/capacity_alert_max
274 Date:           July 2012
275 Contact:        linux-pm@vger.kernel.org
276 Description:
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
288 What:           /sys/class/power_supply/<supply_name>/capacity_alert_min
289 Date:           July 2012
290 Contact:        linux-pm@vger.kernel.org
291 Description:
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
303 What:           /sys/class/power_supply/<supply_name>/capacity_error_margin
304 Date:           April 2019
305 Contact:        linux-pm@vger.kernel.org
306 Description:
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
319 What:           /sys/class/power_supply/<supply_name>/capacity_level
320 Date:           June 2009
321 Contact:        linux-pm@vger.kernel.org
322 Description:
323                 Coarse representation of battery capacity.
324
325                 Access: Read
326
327                 Valid values:
328                               "Unknown", "Critical", "Low", "Normal", "High",
329                               "Full"
330
331 What:           /sys/class/power_supply/<supply_name>/charge_control_limit
332 Date:           Oct 2012
333 Contact:        linux-pm@vger.kernel.org
334 Description:
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
342 What:           /sys/class/power_supply/<supply_name>/charge_control_limit_max
343 Date:           Oct 2012
344 Contact:        linux-pm@vger.kernel.org
345 Description:
346                 Maximum legal value for the charge_control_limit property.
347
348                 Access: Read
349
350                 Valid values: Represented in microamps
351
352 What:           /sys/class/power_supply/<supply_name>/charge_control_start_threshold
353 Date:           April 2019
354 Contact:        linux-pm@vger.kernel.org
355 Description:
356                 Represents a battery percentage level, below which charging will
357                 begin.
358
359                 Access: Read, Write
360                 Valid values: 0 - 100 (percent)
361
362 What:           /sys/class/power_supply/<supply_name>/charge_control_end_threshold
363 Date:           April 2019
364 Contact:        linux-pm@vger.kernel.org
365 Description:
366                 Represents a battery percentage level, above which charging will
367                 stop.
368
369                 Access: Read, Write
370
371                 Valid values: 0 - 100 (percent)
372
373 What:           /sys/class/power_supply/<supply_name>/charge_type
374 Date:           July 2009
375 Contact:        linux-pm@vger.kernel.org
376 Description:
377                 Represents the type of charging currently being applied to the
378                 battery. "Trickle", "Fast", and "Standard" all mean different
379                 charging speeds. "Adaptive" means that the charger uses some
380                 algorithm to adjust the charge rate dynamically, without
381                 any user configuration required. "Custom" means that the charger
382                 uses the charge_control_* properties as configuration for some
383                 different algorithm.
384
385                 Access: Read, Write
386
387                 Valid values:
388                               "Unknown", "N/A", "Trickle", "Fast", "Standard",
389                               "Adaptive", "Custom"
390
391 What:           /sys/class/power_supply/<supply_name>/charge_term_current
392 Date:           July 2014
393 Contact:        linux-pm@vger.kernel.org
394 Description:
395                 Reports the charging current value which is used to determine
396                 when the battery is considered full and charging should end.
397
398                 Access: Read
399
400                 Valid values: Represented in microamps
401
402 What:           /sys/class/power_supply/<supply_name>/health
403 Date:           May 2007
404 Contact:        linux-pm@vger.kernel.org
405 Description:
406                 Reports the health of the battery or battery side of charger
407                 functionality.
408
409                 Access: Read
410
411                 Valid values:
412                               "Unknown", "Good", "Overheat", "Dead",
413                               "Over voltage", "Unspecified failure", "Cold",
414                               "Watchdog timer expire", "Safety timer expire",
415                               "Over current", "Calibration required", "Warm",
416                               "Cool", "Hot"
417
418 What:           /sys/class/power_supply/<supply_name>/precharge_current
419 Date:           June 2017
420 Contact:        linux-pm@vger.kernel.org
421 Description:
422                 Reports the charging current applied during pre-charging phase
423                 for a battery charge cycle.
424
425                 Access: Read
426
427                 Valid values: Represented in microamps
428
429 What:           /sys/class/power_supply/<supply_name>/present
430 Date:           May 2007
431 Contact:        linux-pm@vger.kernel.org
432 Description:
433                 Reports whether a battery is present or not in the system.
434
435                 Access: Read
436
437                 Valid values:
438
439                         == =======
440                         0: Absent
441                         1: Present
442                         == =======
443
444 What:           /sys/class/power_supply/<supply_name>/status
445 Date:           May 2007
446 Contact:        linux-pm@vger.kernel.org
447 Description:
448                 Represents the charging status of the battery. Normally this
449                 is read-only reporting although for some supplies this can be
450                 used to enable/disable charging to the battery.
451
452                 Access: Read, Write
453
454                 Valid values:
455                               "Unknown", "Charging", "Discharging",
456                               "Not charging", "Full"
457
458 What:           /sys/class/power_supply/<supply_name>/technology
459 Date:           May 2007
460 Contact:        linux-pm@vger.kernel.org
461 Description:
462                 Describes the battery technology supported by the supply.
463
464                 Access: Read
465
466                 Valid values:
467                               "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe",
468                               "NiCd", "LiMn"
469
470
471 What:           /sys/class/power_supply/<supply_name>/voltage_avg,
472 Date:           May 2007
473 Contact:        linux-pm@vger.kernel.org
474 Description:
475                 Reports an average VBAT voltage reading for the battery, over a
476                 fixed period. Normally devices will provide a fixed interval in
477                 which they average readings to smooth out the reported value.
478
479                 Access: Read
480
481                 Valid values: Represented in microvolts
482
483 **USB Properties**
484
485 What:           /sys/class/power_supply/<supply_name>/input_current_limit
486 Date:           July 2014
487 Contact:        linux-pm@vger.kernel.org
488 Description:
489                 Details the incoming IBUS current limit currently set in the
490                 supply. Normally this is configured based on the type of
491                 connection made (e.g. A configured SDP should output a maximum
492                 of 500mA so the input current limit is set to the same value).
493                 Use preferably input_power_limit, and for problems that can be
494                 solved using power limit use input_current_limit.
495
496                 Access: Read, Write
497
498                 Valid values: Represented in microamps
499
500 What:           /sys/class/power_supply/<supply_name>/input_voltage_limit
501 Date:           May 2019
502 Contact:        linux-pm@vger.kernel.org
503 Description:
504                 This entry configures the incoming VBUS voltage limit currently
505                 set in the supply. Normally this is configured based on
506                 system-level knowledge or user input (e.g. This is part of the
507                 Pixel C's thermal management strategy to effectively limit the
508                 input power to 5V when the screen is on to meet Google's skin
509                 temperature targets). Note that this feature should not be
510                 used for safety critical things.
511                 Use preferably input_power_limit, and for problems that can be
512                 solved using power limit use input_voltage_limit.
513
514                 Access: Read, Write
515
516                 Valid values: Represented in microvolts
517
518 What:           /sys/class/power_supply/<supply_name>/input_power_limit
519 Date:           May 2019
520 Contact:        linux-pm@vger.kernel.org
521 Description:
522                 This entry configures the incoming power limit currently set
523                 in the supply. Normally this is configured based on
524                 system-level knowledge or user input. Use preferably this
525                 feature to limit the incoming power and use current/voltage
526                 limit only for problems that can be solved using power limit.
527
528                 Access: Read, Write
529
530                 Valid values: Represented in microwatts
531
532 What:           /sys/class/power_supply/<supply_name>/online,
533 Date:           May 2007
534 Contact:        linux-pm@vger.kernel.org
535 Description:
536                 Indicates if VBUS is present for the supply. When the supply is
537                 online, and the supply allows it, then it's possible to switch
538                 between online states (e.g. Fixed -> Programmable for a PD_PPS
539                 USB supply so voltage and current can be controlled).
540
541                 Access: Read, Write
542
543                 Valid values:
544
545                         == ==================================================
546                         0: Offline
547                         1: Online Fixed - Fixed Voltage Supply
548                         2: Online Programmable - Programmable Voltage Supply
549                         == ==================================================
550
551 What:           /sys/class/power_supply/<supply_name>/usb_type
552 Date:           March 2018
553 Contact:        linux-pm@vger.kernel.org
554 Description:
555                 Reports what type of USB connection is currently active for
556                 the supply, for example it can show if USB-PD capable source
557                 is attached.
558
559                 Access: Read-Only
560
561                 Valid values:
562                               "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
563                               "PD_DRP", "PD_PPS", "BrickID"
564
565 **Device Specific Properties**
566
567 What:           /sys/class/power/ds2760-battery.*/charge_now
568 Date:           May 2010
569 KernelVersion:  2.6.35
570 Contact:        Daniel Mack <daniel@caiaq.de>
571 Description:
572                 This file is writeable and can be used to set the current
573                 coloumb counter value inside the battery monitor chip. This
574                 is needed for unavoidable corrections of aging batteries.
575                 A userspace daemon can monitor the battery charging logic
576                 and once the counter drops out of considerable bounds, take
577                 appropriate action.
578
579 What:           /sys/class/power/ds2760-battery.*/charge_full
580 Date:           May 2010
581 KernelVersion:  2.6.35
582 Contact:        Daniel Mack <daniel@caiaq.de>
583 Description:
584                 This file is writeable and can be used to set the assumed
585                 battery 'full level'. As batteries age, this value has to be
586                 amended over time.
587
588 What:           /sys/class/power_supply/max14577-charger/device/fast_charge_timer
589 Date:           October 2014
590 KernelVersion:  3.18.0
591 Contact:        Krzysztof Kozlowski <krzk@kernel.org>
592 Description:
593                 This entry shows and sets the maximum time the max14577
594                 charger operates in fast-charge mode. When the timer expires
595                 the device will terminate fast-charge mode (charging current
596                 will drop to 0 A) and will trigger interrupt.
597
598                 Valid values:
599
600                 - 5, 6 or 7 (hours),
601                 - 0: disabled.
602
603 What:           /sys/class/power_supply/max77693-charger/device/fast_charge_timer
604 Date:           January 2015
605 KernelVersion:  3.19.0
606 Contact:        Krzysztof Kozlowski <krzk@kernel.org>
607 Description:
608                 This entry shows and sets the maximum time the max77693
609                 charger operates in fast-charge mode. When the timer expires
610                 the device will terminate fast-charge mode (charging current
611                 will drop to 0 A) and will trigger interrupt.
612
613                 Valid values:
614
615                 - 4 - 16 (hours), step by 2 (rounded down)
616                 - 0: disabled.
617
618 What:           /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
619 Date:           January 2015
620 KernelVersion:  3.19.0
621 Contact:        Krzysztof Kozlowski <krzk@kernel.org>
622 Description:
623                 This entry shows and sets the charging current threshold for
624                 entering top-off charging mode. When charging current in fast
625                 charge mode drops below this value, the charger will trigger
626                 interrupt and start top-off charging mode.
627
628                 Valid values:
629
630                 - 100000 - 200000 (microamps), step by 25000 (rounded down)
631                 - 200000 - 350000 (microamps), step by 50000 (rounded down)
632                 - 0: disabled.
633
634 What:           /sys/class/power_supply/max77693-charger/device/top_off_timer
635 Date:           January 2015
636 KernelVersion:  3.19.0
637 Contact:        Krzysztof Kozlowski <krzk@kernel.org>
638 Description:
639                 This entry shows and sets the maximum time the max77693
640                 charger operates in top-off charge mode. When the timer expires
641                 the device will terminate top-off charge mode (charging current
642                 will drop to 0 A) and will trigger interrupt.
643
644                 Valid values:
645
646                 - 0 - 70 (minutes), step by 10 (rounded down)
647
648 What:           /sys/class/power_supply/bq24257-charger/ovp_voltage
649 Date:           October 2015
650 KernelVersion:  4.4.0
651 Contact:        Andreas Dannenberg <dannenberg@ti.com>
652 Description:
653                 This entry configures the overvoltage protection feature of bq24257-
654                 type charger devices. This feature protects the device and other
655                 components against damage from overvoltage on the input supply. See
656                 device datasheet for details.
657
658                 Valid values:
659
660                 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000,
661                   10500000 (all uV)
662
663 What:           /sys/class/power_supply/bq24257-charger/in_dpm_voltage
664 Date:           October 2015
665 KernelVersion:  4.4.0
666 Contact:        Andreas Dannenberg <dannenberg@ti.com>
667 Description:
668                 This entry configures the input dynamic power path management voltage of
669                 bq24257-type charger devices. Once the supply drops to the configured
670                 voltage, the input current limit is reduced down to prevent the further
671                 drop of the supply. When the IC enters this mode, the charge current is
672                 lower than the set value. See device datasheet for details.
673
674                 Valid values:
675
676                 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000,
677                   4760000 (all uV)
678
679 What:           /sys/class/power_supply/bq24257-charger/high_impedance_enable
680 Date:           October 2015
681 KernelVersion:  4.4.0
682 Contact:        Andreas Dannenberg <dannenberg@ti.com>
683 Description:
684                 This entry allows enabling the high-impedance mode of bq24257-type
685                 charger devices. If enabled, it places the charger IC into low power
686                 standby mode with the switch mode controller disabled. When disabled,
687                 the charger operates normally. See device datasheet for details.
688
689                 Valid values:
690
691                 - 1: enabled
692                 - 0: disabled
693
694 What:           /sys/class/power_supply/bq24257-charger/sysoff_enable
695 Date:           October 2015
696 KernelVersion:  4.4.0
697 Contact:        Andreas Dannenberg <dannenberg@ti.com>
698 Description:
699                 This entry allows enabling the sysoff mode of bq24257-type charger
700                 devices. If enabled and the input is removed, the internal battery FET
701                 is turned off in order to reduce the leakage from the BAT pin to less
702                 than 1uA. Note that on some devices/systems this disconnects the battery
703                 from the system. See device datasheet for details.
704
705                 Valid values:
706
707                 - 1: enabled
708                 - 0: disabled
709
710 What:           /sys/class/power_supply/<supply_name>/manufacture_year
711 Date:           January 2020
712 Contact:        linux-pm@vger.kernel.org
713 Description:
714                 Reports the year (following Gregorian calendar) when the device has been
715                 manufactured.
716
717                 Access: Read
718
719                 Valid values: Reported as integer
720
721 What:           /sys/class/power_supply/<supply_name>/manufacture_month
722 Date:           January 2020
723 Contact:        linux-pm@vger.kernel.org
724 Description:
725                 Reports the month when the device has been manufactured.
726
727                 Access: Read
728
729                 Valid values: 1-12
730
731 What:           /sys/class/power_supply/<supply_name>/manufacture_day
732 Date:           January 2020
733 Contact:        linux-pm@vger.kernel.org
734 Description:
735                 Reports the day of month when the device has been manufactured.
736
737                 Access: Read
738                 Valid values: 1-31