summaryrefslogtreecommitdiff
path: root/driver/charger/bd9995x.c
diff options
context:
space:
mode:
authorBruce <Bruce.Wan@quantatw.com>2017-02-24 19:39:33 +0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2017-03-13 15:21:14 +0000
commit60f0d38743c348ec266fa8e7b5638713c945ba64 (patch)
tree54edf0946b52df7203b26f2ad183867dc72c210a /driver/charger/bd9995x.c
parent52259a2eaf085adbc219a4820cb339d6bce4c576 (diff)
downloadchrome-ec-60f0d38743c348ec266fa8e7b5638713c945ba64.tar.gz
charger/bd9995x: enable IADP bit when charger init.
When plug in adapter with dead battery, the charger will be flow back to the adapter. Then adapter will OVP. Enable IADP bit at address 0x40(BD9995X_CMD_VM_CTRL_SET) when charger init. It will fix this phenomenon. Enable IADP pin current limit due to we've already deployed the clearing to existing. BUG=chrome-os-partner:62646, 61691 BRANCH=reef TEST=check charger don't flow back to adapter with dead battery Change-Id: Id6202f3dd51cb7e1c43a124660e09de39f6c041b Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/453399 Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'driver/charger/bd9995x.c')
-rw-r--r--driver/charger/bd9995x.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/driver/charger/bd9995x.c b/driver/charger/bd9995x.c
index df69f348e8..7e83676e7b 100644
--- a/driver/charger/bd9995x.c
+++ b/driver/charger/bd9995x.c
@@ -796,11 +796,12 @@ static void bd9995x_init(void)
ch_raw_write16(BD9995X_CMD_CHGOP_SET2, reg,
BD9995X_EXTENDED_COMMAND);
- /* Disable IADP pin current limit */
+ /* IADP monitoring is enabled by default but since we've deployed RO
+ * which clears it we need to enforce the default setting. */
if (ch_raw_read16(BD9995X_CMD_VM_CTRL_SET, &reg,
BD9995X_EXTENDED_COMMAND))
return;
- reg &= ~BD9995X_CMD_VM_CTRL_SET_EXTIADPEN;
+ reg |= BD9995X_CMD_VM_CTRL_SET_EXTIADPEN;
ch_raw_write16(BD9995X_CMD_VM_CTRL_SET, reg,
BD9995X_EXTENDED_COMMAND);