summaryrefslogtreecommitdiff
path: root/driver/charger/bq24773.c
diff options
context:
space:
mode:
authorKevin K Wong <kevin.k.wong@intel.com>2015-04-28 00:14:26 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-04-29 18:40:48 +0000
commit6fb50e909018e367b2a2d62d196b759c4f0b132e (patch)
tree2222e9ba54c8273f8aa66bcc65d6b448e24fcaa4 /driver/charger/bq24773.c
parent83b48a52ef2b6645494d6b770f946a6b4da18bb8 (diff)
downloadchrome-ec-6fb50e909018e367b2a2d62d196b759c4f0b132e.tar.gz
bq24770: Corrected charger driver used an incorrect SMBUS address.
BUG=none TEST=Verified with a SMBus analyzer that only the expected device address is detected on the bus. BRANCH=none Change-Id: Ib8c8589544b9ec11127619a1120eb21f211fd690 Signed-off-by: Kevin K Wong <kevin.k.wong@intel.com> Reviewed-on: https://chromium-review.googlesource.com/267472 Reviewed-by: Alec Berg <alecaberg@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org> Commit-Queue: Divya Jyothi <divya.jyothi@intel.com>
Diffstat (limited to 'driver/charger/bq24773.c')
-rw-r--r--driver/charger/bq24773.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/driver/charger/bq24773.c b/driver/charger/bq24773.c
index 23b9a1b428..0c79f8acca 100644
--- a/driver/charger/bq24773.c
+++ b/driver/charger/bq24773.c
@@ -197,16 +197,19 @@ int charger_post_init(void)
#ifndef BOARD_SAMUS
/* Turn off PROCHOT warning */
- rv = i2c_write8(I2C_PORT_CHARGER, BQ24773_ADDR,
- BQ24773_PROCHOT_OPTION1, 0);
+ rv = raw_read16(REG_PROCHOT_OPTION1, &option);
+ if (rv)
+ return rv;
+
+ option &= ~PROCHOT_OPTION1_SELECTOR_MASK;
+
+ rv = raw_write16(REG_PROCHOT_OPTION1, option);
#else
/* On Samus, use PROCHOT warning to detect charging problems */
/* Turn on PROCHOT warning */
- rv = i2c_write16(I2C_PORT_CHARGER, BQ24773_ADDR,
- BQ24773_PROCHOT_OPTION1, 0x8120);
+ rv = raw_write16(REG_PROCHOT_OPTION1, 0x8120);
/* Set PROCHOT ICRIT warning when IADP is >120% of IDPM */
- rv |= i2c_write16(I2C_PORT_CHARGER, BQ24773_ADDR,
- BQ24773_PROCHOT_OPTION0, 0x1b54);
+ rv |= raw_write16(REG_PROCHOT_OPTION0, 0x1b54);
#endif
if (rv)
@@ -214,8 +217,7 @@ int charger_post_init(void)
#ifdef CONFIG_CHARGER_ILIM_PIN_DISABLED
/* Read the external ILIM pin enabled flag. */
- rv = i2c_read16(I2C_PORT_CHARGER, BQ24773_ADDR,
- BQ24773_CHARGE_OPTION2, &option2);
+ rv = raw_read16(REG_CHARGE_OPTION2, &option2);
if (rv)
return rv;