On Mon, Apr 23, 2018 at 03:10:57PM +0100, Adam Thomson wrote: > This commit adds generic ABI information regarding power_supply > properties. This is an initial attempt to try and align the usage > of these properties between drivers. As part of this commit, > common Battery and USB related properties have been listed. > > Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Thank you a lot for doing this Adam! FWIW: Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > Documentation/ABI/testing/sysfs-class-power | 443 ++++++++++++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 444 insertions(+) > > diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power > index f85ce9e..e046566 100644 > --- a/Documentation/ABI/testing/sysfs-class-power > +++ b/Documentation/ABI/testing/sysfs-class-power > @@ -1,3 +1,446 @@ > +===== General Properties ===== > + > +What: /sys/class/power_supply/<supply_name>/manufacturer > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the name of the device manufacturer. > + > + Access: Read > + Valid values: Represented as string > + > +What: /sys/class/power_supply/<supply_name>/model_name > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the name of the device model. > + > + Access: Read > + Valid values: Represented as string > + > +What: /sys/class/power_supply/<supply_name>/serial_number > +Date: January 2008 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the serial number of the device. > + > + Access: Read > + Valid values: Represented as string > + > +What: /sys/class/power_supply/<supply_name>/type > +Date: May 2010 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Describes the main type of the supply. > + > + Access: Read > + Valid values: "Battery", "UPS", "Mains", "USB" > + > +===== Battery Properties ===== > + > +What: /sys/class/power_supply/<supply_name>/capacity > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Fine grain representation of battery capacity. > + Access: Read > + Valid values: 0 - 100 (percent) > + > +What: /sys/class/power_supply/<supply_name>/capacity_alert_max > +Date: July 2012 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Maximum battery capacity trip-wire value where the supply will > + notify user-space of the event. This is normally used for the > + battery discharging scenario where user-space needs to know the > + battery has dropped to an upper level so it can take > + appropriate action (e.g. warning user that battery level is > + low). > + > + Access: Read, Write > + Valid values: 0 - 100 (percent) > + > +What: /sys/class/power_supply/<supply_name>/capacity_alert_min > +Date: July 2012 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Minimum battery capacity trip-wire value where the supply will > + notify user-space of the event. This is normally used for the > + battery discharging scenario where user-space needs to know the > + battery has dropped to a lower level so it can take > + appropriate action (e.g. warning user that battery level is > + critically low). > + > + Access: Read, Write > + Valid values: 0 - 100 (percent) > + > +What: /sys/class/power_supply/<supply_name>/capacity_level > +Date: June 2009 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Coarse representation of battery capacity. > + > + Access: Read > + Valid values: "Unknown", "Critical", "Low", "Normal", "High", > + "Full" > + > +What: /sys/class/power_supply/<supply_name>/current_avg > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports an average IBAT current reading for the battery, over a > + fixed period. Normally devices will provide a fixed interval in > + which they average readings to smooth out the reported value. > + > + Access: Read > + Valid values: Represented in microamps > + > +What: /sys/class/power_supply/<supply_name>/current_max > +Date: October 2010 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the maximum IBAT current allowed into the battery. > + > + Access: Read > + Valid values: Represented in microamps > + > +What: /sys/class/power_supply/<supply_name>/current_now > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports an instant, single IBAT current reading for the battery. > + This value is not averaged/smoothed. > + > + Access: Read > + Valid values: Represented in microamps > + > +What: /sys/class/power_supply/<supply_name>/charge_type > +Date: July 2009 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Represents the type of charging currently being applied to the > + battery. > + > + Access: Read > + Valid values: "Unknown", "N/A", "Trickle", "Fast" > + > +What: /sys/class/power_supply/<supply_name>/charge_term_current > +Date: July 2014 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the charging current value which is used to determine > + when the battery is considered full and charging should end. > + > + Access: Read > + Valid values: Represented in microamps > + > +What: /sys/class/power_supply/<supply_name>/health > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the health of the battery or battery side of charger > + functionality. > + > + Access: Read > + Valid values: "Unknown", "Good", "Overheat", "Dead", > + "Over voltage", "Unspecified failure", "Cold", > + "Watchdog timer expire", "Safety timer expire" > + > +What: /sys/class/power_supply/<supply_name>/precharge_current > +Date: June 2017 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the charging current applied during pre-charging phase > + for a battery charge cycle. > + > + Access: Read > + Valid values: Represented in microamps > + > +What: /sys/class/power_supply/<supply_name>/present > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports whether a battery is present or not in the system. > + > + Access: Read > + Valid values: > + 0: Absent > + 1: Present > + > +What: /sys/class/power_supply/<supply_name>/status > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Represents the charging status of the battery. Normally this > + is read-only reporting although for some supplies this can be > + used to enable/disable charging to the battery. > + > + Access: Read, Write > + Valid values: "Unknown", "Charging", "Discharging", > + "Not charging", "Full" > + > +What: /sys/class/power_supply/<supply_name>/technology > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Describes the battery technology supported by the supply. > + > + Access: Read > + Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", > + "NiCd", "LiMn" > + > +What: /sys/class/power_supply/<supply_name>/temp > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the current TBAT battery temperature reading. > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/temp_alert_max > +Date: July 2012 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Maximum TBAT temperature trip-wire value where the supply will > + notify user-space of the event. This is normally used for the > + battery charging scenario where user-space needs to know the > + battery temperature has crossed an upper threshold so it can > + take appropriate action (e.g. warning user that battery level is > + critically high, and charging has stopped). > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/temp_alert_min > +Date: July 2012 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Minimum TBAT temperature trip-wire value where the supply will > + notify user-space of the event. This is normally used for the > + battery charging scenario where user-space needs to know the > + battery temperature has crossed a lower threshold so it can take > + appropriate action (e.g. warning user that battery level is > + high, and charging current has been reduced accordingly to > + remedy the situation). > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/temp_max > +Date: July 2014 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the maximum allowed TBAT battery temperature for > + charging. > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/temp_min > +Date: July 2014 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the minimum allowed TBAT battery temperature for > + charging. > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/voltage_avg, > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports an average VBAT voltage reading for the battery, over a > + fixed period. Normally devices will provide a fixed interval in > + which they average readings to smooth out the reported value. > + > + Access: Read > + Valid values: Represented in microvolts > + > +What: /sys/class/power_supply/<supply_name>/voltage_max, > +Date: January 2008 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the maximum safe VBAT voltage permitted for the battery, > + during charging. > + > + Access: Read > + Valid values: Represented in microvolts > + > +What: /sys/class/power_supply/<supply_name>/voltage_min, > +Date: January 2008 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the minimum safe VBAT voltage permitted for the battery, > + during discharging. > + > + Access: Read > + Valid values: Represented in microvolts > + > +What: /sys/class/power_supply/<supply_name>/voltage_now, > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports an instant, single VBAT voltage reading for the battery. > + This value is not averaged/smoothed. > + > + Access: Read > + Valid values: Represented in microvolts > + > +===== USB Properties ===== > + > +What: /sys/class/power_supply/<supply_name>/current_avg > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports an average IBUS current reading over a fixed period. > + Normally devices will provide a fixed interval in which they > + average readings to smooth out the reported value. > + > + Access: Read > + Valid values: Represented in microamps > + > + > +What: /sys/class/power_supply/<supply_name>/current_max > +Date: October 2010 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the maximum IBUS current the supply can support. > + > + Access: Read > + Valid values: Represented in microamps > + > +What: /sys/class/power_supply/<supply_name>/current_now > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the IBUS current supplied now. This value is generally > + read-only reporting, unless the 'online' state of the supply > + is set to be programmable, in which case this value can be set > + within the reported min/max range. > + > + Access: Read, Write > + Valid values: Represented in microamps > + > +What: /sys/class/power_supply/<supply_name>/input_current_limit > +Date: July 2014 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Details the incoming IBUS current limit currently set in the > + supply. Normally this is configured based on the type of > + connection made (e.g. A configured SDP should output a maximum > + of 500mA so the input current limit is set to the same value). > + > + Access: Read, Write > + Valid values: Represented in microamps > + > +What: /sys/class/power_supply/<supply_name>/online, > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Indicates if VBUS is present for the supply. When the supply is > + online, and the supply allows it, then it's possible to switch > + between online states (e.g. Fixed -> Programmable for a PD_PPS > + USB supply so voltage and current can be controlled). > + > + Access: Read, Write > + Valid values: > + 0: Offline > + 1: Online Fixed - Fixed Voltage Supply > + 2: Online Programmable - Programmable Voltage Supply > + > +What: /sys/class/power_supply/<supply_name>/temp > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the current supply temperature reading. This would > + normally be the internal temperature of the device itself (e.g > + TJUNC temperature of an IC) > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/temp_alert_max > +Date: July 2012 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Maximum supply temperature trip-wire value where the supply will > + notify user-space of the event. This is normally used for the > + charging scenario where user-space needs to know the supply > + temperature has crossed an upper threshold so it can take > + appropriate action (e.g. warning user that the supply > + temperature is critically high, and charging has stopped to > + remedy the situation). > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/temp_alert_min > +Date: July 2012 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Minimum supply temperature trip-wire value where the supply will > + notify user-space of the event. This is normally used for the > + charging scenario where user-space needs to know the supply > + temperature has crossed a lower threshold so it can take > + appropriate action (e.g. warning user that the supply > + temperature is high, and charging current has been reduced > + accordingly to remedy the situation). > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/temp_max > +Date: July 2014 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the maximum allowed supply temperature for operation. > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/temp_min > +Date: July 2014 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the mainimum allowed supply temperature for operation. > + > + Access: Read > + Valid values: Represented in 1/10 Degrees Celsius > + > +What: /sys/class/power_supply/<supply_name>/voltage_max > +Date: January 2008 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the maximum VBUS voltage the supply can support. > + > + Access: Read > + Valid values: Represented in microvolts > + > +What: /sys/class/power_supply/<supply_name>/voltage_min > +Date: January 2008 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the minimum VBUS voltage the supply can support. > + > + Access: Read > + Valid values: Represented in microvolts > + > +What: /sys/class/power_supply/<supply_name>/voltage_now > +Date: May 2007 > +Contact: linux-pm@xxxxxxxxxxxxxxx > +Description: > + Reports the VBUS voltage supplied now. This value is generally > + read-only reporting, unless the 'online' state of the supply > + is set to be programmable, in which case this value can be set > + within the reported min/max range. > + > + Access: Read, Write > + Valid values: Represented in microvolts > + > +===== Device Specific Properties ===== > + > What: /sys/class/power/ds2760-battery.*/charge_now > Date: May 2010 > KernelVersion: 2.6.35 > diff --git a/MAINTAINERS b/MAINTAINERS > index 0a1410d..700bfb7 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -11242,6 +11242,7 @@ M: Sebastian Reichel <sre@xxxxxxxxxx> > L: linux-pm@xxxxxxxxxxxxxxx > T: git git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git > S: Maintained > +F: Documentation/ABI/testing/sysfs-class-power > F: Documentation/devicetree/bindings/power/supply/ > F: include/linux/power_supply.h > F: drivers/power/supply/ > -- > 1.9.1 -- heikki -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html