bq2415x_charger: Fix max battery regulation voltage
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Wed, 16 Oct 2013 14:08:31 +0000 (16:08 +0200)
committerAnton Vorontsov <anton@enomsg.org>
Fri, 25 Oct 2013 23:24:22 +0000 (16:24 -0700)
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.belloni@free-electrons.com>
Thanks-to: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
drivers/power/bq2415x_charger.c

index 0727f92..df893dd 100644 (file)
@@ -605,9 +605,13 @@ static int bq2415x_set_battery_regulation_voltage(struct bq2415x_device *bq,
 {
        int val = (mV/10 - 350) / 2;
 
+       /*
+        * According to datasheet, maximum battery regulation voltage is
+        * 4440mV which is b101111 = 47.
+        */
        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,