summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorYang QU <yang.qu@stericsson.com>2012-06-26 19:25:52 +0800
committerMathieu J. Poirier <mathieu.poirier@linaro.org>2012-09-25 09:37:09 -0600
commitf87a359dcf5d1a66c386750a7adbb45279ccb839 (patch)
treecabf1203b97453bb51793614c0cc9d20b2334f58 /drivers/power
parentd6568f72953b2dae52095c260e8acff70e4f78b2 (diff)
power: add backup battery charge voltages.
Add 2.7v, 2.9v, 3.0v, 3.2v and 3.3v charging voltage for backup battery. Before that only 2.5v, 2.6v, 2.8v, 3.1v are available. Signed-off-by: Yang QU <yang.qu@stericsson.com> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Reviewed-by: Maxime COQUELIN <maxime.coquelin@stericsson.com> Reviewed-by: Marcus COOPER <marcus.xm.cooper@stericsson.com> Reviewed-by: Xiao Mei ZHANG <xiaomei.zhang@stericsson.com>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/ab8500_charger.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c
index b3b8f771f03e..8137ea54e2f5 100644
--- a/drivers/power/ab8500_charger.c
+++ b/drivers/power/ab8500_charger.c
@@ -2834,6 +2834,7 @@ static int ab8500_charger_usb_get_property(struct power_supply *psy,
static int ab8500_charger_init_hw_registers(struct ab8500_charger *di)
{
int ret = 0;
+ u8 bup_vch_range = 0, vbup33_vrtcn = 0;
/* Setup maximum charger current and voltage for ABB cut2.0 */
if (!is_ab8500_1p1_or_earlier(di->parent)) {
@@ -2935,11 +2936,15 @@ static int ab8500_charger_init_hw_registers(struct ab8500_charger *di)
}
/* Backup battery voltage and current */
+ if (di->bat->bkup_bat_v > BUP_VCH_SEL_3P1V)
+ bup_vch_range = BUP_VCH_RANGE;
+ if (di->bat->bkup_bat_v == BUP_VCH_SEL_3P3V)
+ vbup33_vrtcn = VBUP33_VRTCN;
+
ret = abx500_set_register_interruptible(di->dev,
AB8500_RTC,
AB8500_RTC_BACKUP_CHG_REG,
- di->bat->bkup_bat_v |
- di->bat->bkup_bat_i);
+ (di->bat->bkup_bat_v & 0x3) | di->bat->bkup_bat_i);
if (ret) {
dev_err(di->dev, "failed to setup backup battery charging\n");
goto out;