diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2016-09-23 09:05:30 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-09-23 21:09:13 -0700 |
commit | 6dc71775f85921fd729fdf87066acccc6b4497f6 (patch) | |
tree | a4123b9a157f1a3564649518d6cd43312f852f1c | |
parent | e20115de1ced426ae4842203fa3254c3576006fe (diff) | |
download | chrome-ec-6dc71775f85921fd729fdf87066acccc6b4497f6.tar.gz |
kevin / gru: Use FW register for bd99955 reset
Use the FW reset register rather than the physical reset pin for
bd99955 power-on reset to avoid bad side effects during reset.
BUG=chrome-os-partner:57671
BRANCH=Kevin
TEST=Manual on kevin, do EC cold reset w/ 15V attached to port 0,
peripheral attached to port 1. Verify port 1 stays at <= 5V.
Change-Id: If90d754bf6256a50901132de0b2ccde69aec2ebe
Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/388757
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
(cherry picked from commit 80291c05a6e96d0042969980ab09b2549cb44a75)
Reviewed-on: https://chromium-review.googlesource.com/388748
Commit-Ready: Shawn N <shawnn@chromium.org>
Tested-by: Shawn N <shawnn@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r-- | board/kevin/board.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/board/kevin/board.c b/board/kevin/board.c index 63a615acb4..6f2644c0f4 100644 --- a/board/kevin/board.c +++ b/board/kevin/board.c @@ -325,6 +325,7 @@ DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, * Reset our charger IC on power-on. This will briefly cut extpower to the * system, so skip the reset if our battery can't provide sufficient charge * to briefly power the system. + * TODO(shawnn): Move to common code. */ static void board_reset_charger(void) { @@ -336,13 +337,7 @@ static void board_reset_charger(void) if (battery_state_of_charge_abs(&bat_pct) || bat_pct < CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON) return; - /* Reset the charger before we initialize it. */ - gpio_set_level(GPIO_CHARGER_RESET_L, 0); - /* Reset detection is 100 us minimum. */ - usleep(100); - gpio_set_level(GPIO_CHARGER_RESET_L, 1); - /* Allow time for the charger to reinitialize. */ - usleep(120); + charger_set_mode(CHARGE_FLAG_POR_RESET); } } DECLARE_HOOK(HOOK_INIT, board_reset_charger, HOOK_PRIO_INIT_EXTPOWER - 1); |