summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHyongbin Kim <hyongbink@nvidia.com>2013-08-09 15:56:33 +0900
committerGabby Lee <galee@nvidia.com>2013-08-11 19:51:09 -0700
commit3731338ff3daa3ca667ca16e45e6b04a25a6d52e (patch)
tree135d4f6b831ddac880a17ef1be63aaa4a4fd8cd2 /drivers
parent7aa9884aeb6230ee5e892d261ccb24fd67607793 (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.c26
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,