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