On Wednesday 02 October 2013 12:24:22 Alexandre Belloni wrote: > As per the datasheets, maximum battery regulation voltage is > 4440mV. > > The formula is (voltage - offset) / step, so the maximum value > is: (4440 - 3500) / 20 = 47 > > Signed-off-by: Alexandre Belloni > <alexandre.bell...@free-electrons.com> --- > drivers/power/bq2415x_charger.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/power/bq2415x_charger.c > b/drivers/power/bq2415x_charger.c index 0727f92..0aa643e > 100644 > --- a/drivers/power/bq2415x_charger.c > +++ b/drivers/power/bq2415x_charger.c > @@ -607,7 +607,7 @@ static int > bq2415x_set_battery_regulation_voltage(struct bq2415x_device > *bq, > > if (val < 0) > val = 0; > - else if (val > 94) /* FIXME: Max is 94 or 122 ? Set max > value ? */ + else if (val > 47) > return -EINVAL; > > return bq2415x_i2c_write_mask(bq, BQ2415X_REG_VOLTAGE, val,
Right, max is 47 (101111) and not 94 (1011110). But if you set all six registers to 1 then you get 63 (111111) and not 122. I do not know from where I got above bad values, but you should add comment to code that according to datasheet max value is 4440mV (101111) and not 4760mV (111111). -- Pali Rohár pali.ro...@gmail.com
signature.asc
Description: This is a digitally signed message part.