diff options
author | Hyongbin Kim <hyongbink@nvidia.com> | 2013-08-09 15:56:33 +0900 |
---|---|---|
committer | Gabby Lee <galee@nvidia.com> | 2013-08-11 19:51:09 -0700 |
commit | 3731338ff3daa3ca667ca16e45e6b04a25a6d52e (patch) | |
tree | 135d4f6b831ddac880a17ef1be63aaa4a4fd8cd2 /drivers | |
parent | 7aa9884aeb6230ee5e892d261ccb24fd67607793 (diff) |
power: bq2419x: Set max charge current to 3.136A
When charging voltage is too high(ex 11.75V), charging current is over
battery spec.
Bug 1343646
Change-Id: I27ba26456947c0dd840d892b26aefe320d4bb7da
Signed-off-by: Hyongbin Kim <hyongbink@nvidia.com>
Reviewed-on: http://git-master/r/259986
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Gabby Lee <galee@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/power/bq2419x-charger.c | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/drivers/power/bq2419x-charger.c b/drivers/power/bq2419x-charger.c index 3849055c3110..04b9a0c1a866 100644 --- a/drivers/power/bq2419x-charger.c +++ b/drivers/power/bq2419x-charger.c @@ -262,15 +262,16 @@ static int bq2419x_charger_init(struct bq2419x_chip *bq2419x) int ret; if (machine_is_tegratab()) { + /* InCharge Limit=3.136A, Battery Spec is 3.2A */ + ret = regmap_write(bq2419x->regmap, + BQ2419X_CHRG_CTRL_REG, 0xA4); + if (ret < 0) { + dev_err(bq2419x->dev, + "CHRG_CTRL_REG write failed %d\n", ret); + return ret; + } + if (bq2419x->chip_version == BQ24193_IC) { - /* InCharge Limit=4.1A to make JEITA_ISET=20% is 0.2C*/ - ret = regmap_write(bq2419x->regmap, - BQ2419X_CHRG_CTRL_REG, 0xE0); - if (ret < 0) { - dev_err(bq2419x->dev, - "CHRG_CTRL_REG write failed %d\n", ret); - return ret; - } /* JEITA_ISET=20%*/ ret = regmap_update_bits(bq2419x->regmap, BQ2419X_TIME_CTRL_REG, BQ2419X_JEITA_ISET_MASK, @@ -289,15 +290,6 @@ static int bq2419x_charger_init(struct bq2419x_chip *bq2419x) "MISC_OPER_REG update failed %d\n", ret); return ret; } - } else { - /* Configure Output Current Control to 3.2A*/ - ret = regmap_write(bq2419x->regmap, - BQ2419X_CHRG_CTRL_REG, 0xA8); - if (ret < 0) { - dev_err(bq2419x->dev, - "CHRG_CTRL_REG write failed %d\n", ret); - return ret; - } } /* Not use termination, will check SOC*/ ret = regmap_update_bits(bq2419x->regmap, |