mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-11 02:15:14 +00:00
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>
This commit is contained in:
committed by
ChromeOS Commit Bot
parent
83b48a52ef
commit
6fb50e9090
@@ -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;
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
#define BQ24770_CHARGE_OPTION0 0x12
|
||||
#define BQ24770_CHARGE_OPTION1 0x3B
|
||||
#define BQ24770_CHARGE_OPTION2 0x38
|
||||
#define BQ24770_PROTECT_OPTION0 0x3C
|
||||
#define BQ24770_PROTECT_OPTION1 0x3D
|
||||
#define BQ24770_PROCHOT_OPTION0 0x3C
|
||||
#define BQ24770_PROCHOT_OPTION1 0x3D
|
||||
#define BQ24770_CHARGE_CURRENT 0x14
|
||||
#define BQ24770_MAX_CHARGE_VOLTAGE 0x15
|
||||
#define BQ24770_MIN_SYSTEM_VOLTAGE 0x3E
|
||||
@@ -46,6 +46,9 @@
|
||||
|
||||
#define OPTION2_EN_EXTILIM (1 << 7)
|
||||
|
||||
/* Prochot Option bits */
|
||||
#define PROCHOT_OPTION1_SELECTOR_MASK 0x7f /* [6:0] PROCHOT SELECTOR */
|
||||
|
||||
/* ChargeCurrent Register - 0x14 (mA) */
|
||||
#define CHARGE_I_OFF 0
|
||||
#define CHARGE_I_MIN 128
|
||||
@@ -69,8 +72,8 @@
|
||||
#define REG_CHARGE_OPTION0 BQ24770_CHARGE_OPTION0
|
||||
#define REG_CHARGE_OPTION1 BQ24770_CHARGE_OPTION1
|
||||
#define REG_CHARGE_OPTION2 BQ24770_CHARGE_OPTION2
|
||||
#define REG_PROTECT_OPTION0 BQ24770_PROTECT_OPTION0
|
||||
#define REG_PROTECT_OPTION1 BQ24770_PROTECT_OPTION1
|
||||
#define REG_PROCHOT_OPTION0 BQ24770_PROCHOT_OPTION0
|
||||
#define REG_PROCHOT_OPTION1 BQ24770_PROCHOT_OPTION1
|
||||
#define REG_CHARGE_CURRENT BQ24770_CHARGE_CURRENT
|
||||
#define REG_MAX_CHARGE_VOLTAGE BQ24770_MAX_CHARGE_VOLTAGE
|
||||
#define REG_MIN_SYSTEM_VOLTAGE BQ24770_MIN_SYSTEM_VOLTAGE
|
||||
@@ -85,8 +88,8 @@
|
||||
#define REG_CHARGE_OPTION0 BQ24773_CHARGE_OPTION0
|
||||
#define REG_CHARGE_OPTION1 BQ24773_CHARGE_OPTION1
|
||||
#define REG_CHARGE_OPTION2 BQ24773_CHARGE_OPTION2
|
||||
#define REG_PROTECT_OPTION0 BQ24773_PROTECT_OPTION0
|
||||
#define REG_PROTECT_OPTION1 BQ24773_PROTECT_OPTION1
|
||||
#define REG_PROCHOT_OPTION0 BQ24773_PROCHOT_OPTION0
|
||||
#define REG_PROCHOT_OPTION1 BQ24773_PROCHOT_OPTION1
|
||||
#define REG_CHARGE_CURRENT BQ24773_CHARGE_CURRENT
|
||||
#define REG_MAX_CHARGE_VOLTAGE BQ24773_MAX_CHARGE_VOLTAGE
|
||||
#define REG_MIN_SYSTEM_VOLTAGE BQ24773_MIN_SYSTEM_VOLTAGE
|
||||
|
||||
Reference in New Issue
Block a user