|
@@ -48,7 +48,8 @@ enum {
|
|
|
REG_FULL_CHARGE_CAPACITY_CHARGE,
|
|
|
REG_DESIGN_CAPACITY,
|
|
|
REG_DESIGN_CAPACITY_CHARGE,
|
|
|
- REG_DESIGN_VOLTAGE,
|
|
|
+ REG_DESIGN_VOLTAGE_MIN,
|
|
|
+ REG_DESIGN_VOLTAGE_MAX,
|
|
|
REG_MANUFACTURER,
|
|
|
REG_MODEL_NAME,
|
|
|
};
|
|
@@ -114,7 +115,9 @@ static const struct chip_data {
|
|
|
SBS_DATA(POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN, 0x18, 0, 65535),
|
|
|
[REG_DESIGN_CAPACITY_CHARGE] =
|
|
|
SBS_DATA(POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, 0x18, 0, 65535),
|
|
|
- [REG_DESIGN_VOLTAGE] =
|
|
|
+ [REG_DESIGN_VOLTAGE_MIN] =
|
|
|
+ SBS_DATA(POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, 0x19, 0, 65535),
|
|
|
+ [REG_DESIGN_VOLTAGE_MAX] =
|
|
|
SBS_DATA(POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN, 0x19, 0, 65535),
|
|
|
[REG_SERIAL_NUMBER] =
|
|
|
SBS_DATA(POWER_SUPPLY_PROP_SERIAL_NUMBER, 0x1C, 0, 65535),
|
|
@@ -138,6 +141,7 @@ static enum power_supply_property sbs_properties[] = {
|
|
|
POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG,
|
|
|
POWER_SUPPLY_PROP_TIME_TO_FULL_AVG,
|
|
|
POWER_SUPPLY_PROP_SERIAL_NUMBER,
|
|
|
+ POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN,
|
|
|
POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
|
|
|
POWER_SUPPLY_PROP_ENERGY_NOW,
|
|
|
POWER_SUPPLY_PROP_ENERGY_FULL,
|
|
@@ -431,6 +435,7 @@ static void sbs_unit_adjustment(struct i2c_client *client,
|
|
|
break;
|
|
|
|
|
|
case POWER_SUPPLY_PROP_VOLTAGE_NOW:
|
|
|
+ case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
|
|
|
case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN:
|
|
|
case POWER_SUPPLY_PROP_CURRENT_NOW:
|
|
|
case POWER_SUPPLY_PROP_CHARGE_NOW:
|
|
@@ -592,6 +597,7 @@ static int sbs_get_property(struct power_supply *psy,
|
|
|
case POWER_SUPPLY_PROP_TEMP:
|
|
|
case POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG:
|
|
|
case POWER_SUPPLY_PROP_TIME_TO_FULL_AVG:
|
|
|
+ case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
|
|
|
case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN:
|
|
|
ret = sbs_get_property_index(client, psp);
|
|
|
if (ret < 0)
|