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