Skip to content
Snippets Groups Projects
Verified Commit 33e81dbd authored by Sebastian Krzyszkowiak's avatar Sebastian Krzyszkowiak
Browse files

max17042_battery: Export charge termination current property

parent dcab1e32
No related branches found
No related tags found
No related merge requests found
......@@ -78,6 +78,7 @@ static enum power_supply_property max17042_battery_props[] = {
POWER_SUPPLY_PROP_CHARGE_FULL,
POWER_SUPPLY_PROP_CHARGE_NOW,
POWER_SUPPLY_PROP_CHARGE_COUNTER,
POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
POWER_SUPPLY_PROP_TEMP,
POWER_SUPPLY_PROP_TEMP_ALERT_MIN,
POWER_SUPPLY_PROP_TEMP_ALERT_MAX,
......@@ -412,6 +413,18 @@ static int max17042_get_property(struct power_supply *psy,
return -EINVAL;
}
break;
case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT:
if (chip->pdata->enable_current_sense) {
ret = regmap_read(map, MAX17042_ICHGTerm, &data);
if (ret < 0)
return ret;
data64 = data * 1562500ll;
val->intval = div_s64(data64, chip->pdata->r_sns);
} else {
return -EINVAL;
}
break;
case POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW:
ret = regmap_read(map, MAX17042_TTE, &data);
if (ret < 0)
......@@ -446,6 +459,14 @@ static int max17042_set_property(struct power_supply *psy,
do_div(data64, 5000000ll);
ret = regmap_write(map, MAX17042_DesignCap, (u32)data64);
case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT:
ret = regmap_read(map, MAX17042_ICHGTerm, &data);
if (ret < 0)
return ret;
data64 = (u64)val->intval * chip->pdata->r_sns;
do_div(data64, 1562500ll);
ret = regmap_write(map, MAX17042_ICHGTerm, (u32)data64);
break;
case POWER_SUPPLY_PROP_TEMP_ALERT_MIN:
ret = regmap_read(map, MAX17042_TALRT_Th, &data);
......@@ -489,6 +510,7 @@ static int max17042_property_is_writeable(struct power_supply *psy,
switch (psp) {
case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT:
case POWER_SUPPLY_PROP_TEMP_ALERT_MIN:
case POWER_SUPPLY_PROP_TEMP_ALERT_MAX:
ret = 1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment