diff options
author | Hsu Henry <Henry.Hsu@quantatw.com> | 2015-03-30 09:26:05 +0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-04-10 01:15:28 +0000 |
commit | 7a86307b259f17491a65af905da3bd1d0deeff13 (patch) | |
tree | b8a3f742bb73e41d261291353e3fcaa2fd09c2b4 | |
parent | 5d4cb3e0ff50437f6405bc1cc648a0d497b1a26d (diff) | |
download | chrome-ec-7a86307b259f17491a65af905da3bd1d0deeff13.tar.gz |
CHERRY-PICK: Smart battery: Add delay time for battery read/write
Some battery pack can't response ec command.
Adding some dealy will fix it.
BUG=chrome-os-partner:37842
BRANCH=banjo
TEST=test with banjo, 100us. With the particular battery, no error occurs.
Original-Change-Id: Ia40dc7d5286525d54641893d900dfe3a345a2156
Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com>
Reviewed-on: https://chromium-review.googlesource.com/262853
Reviewed-by: Sheng-liang Song <ssl@google.com>
Conflicts:
driver/battery/smart.c
include/config.h
Change-Id: I3b2551977a9935be167a59b7a74adb26f033ca31
Reviewed-on: https://chromium-review.googlesource.com/264241
Reviewed-by: Mohammed Habibulla <moch@google.com>
Reviewed-by: Sheng-liang Song <ssl@chromium.org>
Commit-Queue: Hsu Henry <Henry.Hsu@quantatw.com>
Tested-by: Hsu Henry <Henry.Hsu@quantatw.com>
-rw-r--r-- | driver/battery/smart.c | 8 | ||||
-rw-r--r-- | include/config.h | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/driver/battery/smart.c b/driver/battery/smart.c index 0c63e0fec1..4a0a2e61d8 100644 --- a/driver/battery/smart.c +++ b/driver/battery/smart.c @@ -49,6 +49,10 @@ test_mockable int sb_read(int cmd, int *param) return rv; } #else + +#ifdef CONFIG_BATTERY_I2C_ACCESS_DELAY_TIME + usleep(CONFIG_BATTERY_I2C_ACCESS_DELAY_TIME); +#endif return i2c_read16(I2C_PORT_BATTERY, BATTERY_ADDR, cmd, param); #endif } @@ -65,6 +69,10 @@ test_mockable int sb_write(int cmd, int param) #ifdef CONFIG_SMBUS return smbus_write_word(I2C_PORT_BATTERY, BATTERY_ADDR, cmd, param); #else + +#ifdef CONFIG_BATTERY_I2C_ACCESS_DELAY_TIME + usleep(CONFIG_BATTERY_I2C_ACCESS_DELAY_TIME); +#endif return i2c_write16(I2C_PORT_BATTERY, BATTERY_ADDR, cmd, param); #endif } diff --git a/include/config.h b/include/config.h index 1f31b1f7f1..fb61f78277 100644 --- a/include/config.h +++ b/include/config.h @@ -88,6 +88,11 @@ #undef CONFIG_BATTERY_BQ27541 /* BQ27541 battery */ #undef CONFIG_BATTERY_LINK /* Battery used on Link */ +/* + * Delay time for smart battery command. + */ +#undef CONFIG_BATTERY_I2C_ACCESS_DELAY_TIME + /* Compile mock battery support; used by tests. */ #undef CONFIG_BATTERY_MOCK |