summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2016-09-23 09:05:30 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-09-23 21:09:13 -0700
commit6dc71775f85921fd729fdf87066acccc6b4497f6 (patch)
treea4123b9a157f1a3564649518d6cd43312f852f1c
parente20115de1ced426ae4842203fa3254c3576006fe (diff)
downloadchrome-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.c9
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);