diff options
author | Todd Broch <tbroch@chromium.org> | 2015-08-12 20:51:46 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-08-20 07:49:48 +0000 |
commit | 82bc3c702816c9f0d8b40b2c99c2dc8732feb3f6 (patch) | |
tree | 079571115bc0418fe15180a0123b1a00d5861fdd /driver | |
parent | 09b065c84c74f0c35c9aa3539f56a7d67fb7ddb5 (diff) | |
download | chrome-ec-82bc3c702816c9f0d8b40b2c99c2dc8732feb3f6.tar.gz |
bq2589x: Add CONFIG_CHARGER_TERM_CURRENT_LIMIT support.
Create a config to allow customization of a board's charger
termination current and add support to bq2589x charger.
Note, BQ2589X_TERM_CURRENT_LIMIT_DEFAULT, currently set to 64 to make
CL benign to ryu board. Future CL will change to 256 as thats the POR
value for that charger.
Signed-off-by: Todd Broch <tbroch@chromium.org>
BRANCH=smaug
BUG=chrome-os-partner:42848
TEST=manual, read charger IC register and see its termination current
set to 64mA
Change-Id: I79348ed62a077a6432c8d8db6ac90e1e4e92dbc7
Reviewed-on: https://chromium-review.googlesource.com/293095
Reviewed-by: Shawn N <shawnn@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Todd Broch <tbroch@chromium.org>
Commit-Queue: Todd Broch <tbroch@chromium.org>
Diffstat (limited to 'driver')
-rw-r--r-- | driver/charger/bq2589x.c | 7 | ||||
-rw-r--r-- | driver/charger/bq2589x.h | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/driver/charger/bq2589x.c b/driver/charger/bq2589x.c index 0d7383c5f4..dc4d768275 100644 --- a/driver/charger/bq2589x.c +++ b/driver/charger/bq2589x.c @@ -29,6 +29,11 @@ #define CONFIG_CHARGER_BQ2589X_IR_COMP BQ2589X_IR_COMP_DEFAULT #endif +/* Termination current limit setting */ +#ifndef CONFIG_CHARGER_TERM_CURRENT_LIMIT +#define CONFIG_CHARGER_TERM_CURRENT_LIMIT BQ2589X_TERM_CURRENT_LIMIT_DEFAULT +#endif + /* Charger information */ static const struct charger_info bq2589x_charger_info = { .name = "bq2589x", @@ -304,7 +309,7 @@ static void bq2589x_init(void) if (bq2589x_write(BQ2589X_REG_TIMER, val)) return; - if (bq2589x_set_terminate_current(64)) + if (bq2589x_set_terminate_current(CONFIG_CHARGER_TERM_CURRENT_LIMIT)) return; if (bq2589x_watchdog_reset()) diff --git a/driver/charger/bq2589x.h b/driver/charger/bq2589x.h index 0421974955..8678816a6c 100644 --- a/driver/charger/bq2589x.h +++ b/driver/charger/bq2589x.h @@ -69,6 +69,8 @@ #define BQ2589X_IR_COMP_DEFAULT (BQ2589X_IR_TREG_120C | BQ2589X_IR_VCLAMP_0MV |\ BQ2589X_IR_BAT_COMP_0MOHM) +#define BQ2589X_TERM_CURRENT_LIMIT_DEFAULT 64 + /* 5V VBUS Boost settings */ #define BQ2589X_BOOSTV_MV(mv) (((((mv) - 4550)/64) & 0xF) << 4) #define BQ2589X_BOOSTV_DEFAULT BQ2589X_BOOSTV_MV(4998) |