diff options
author | Vic Yang <victoryang@chromium.org> | 2013-05-30 17:46:56 +0800 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-06-04 07:36:00 -0700 |
commit | c089dfb9d1cf9579e7a9f2a03262d53e9c26d00f (patch) | |
tree | 1c873838249c0b11e5ef5362ee73ccdbcdbf8bad | |
parent | 97612af4101da4f83626185ad9cbe556c00ae3b5 (diff) | |
download | chrome-ec-c089dfb9d1cf9579e7a9f2a03262d53e9c26d00f.tar.gz |
Print error message before PMU hard reset
Hard-reset triggers a pulse on the PMIC_RESET pin but this is hard to
see when debugging. By printing error message explicitly before
resetting the board, it's easier to tell why the board is resetting.
BUG=chrome-os-partner:19778
TEST=Trivial change. Build and boot on Spring. Make sure system is
alive.
BRANCH=spring
Original-Change-Id: I26b749af2f8760339373c3e4db46c59d7b0d039e
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/57101
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
(cherry picked from commit 1806f521955623770405778a742d0398cae028a2)
Change-Id: I56e0e99e4af77dd769e05d48c97c4ba59e73f851
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/57415
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r-- | common/gaia_power.c | 5 | ||||
-rw-r--r-- | common/pmu_tps65090.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/common/gaia_power.c b/common/gaia_power.c index 52742c0db6..dea7d38224 100644 --- a/common/gaia_power.c +++ b/common/gaia_power.c @@ -465,8 +465,11 @@ static void power_off(void) if (!pmu_shutdown()) break; } - if (pmu_shutdown_retries < 0) + if (pmu_shutdown_retries < 0) { + CPUTS("PMU shutdown failed. Hard-resetting.\n"); + cflush(); board_hard_reset(); + } CPUTS("Shutdown complete.\n"); } diff --git a/common/pmu_tps65090.c b/common/pmu_tps65090.c index 279d7d93db..3f4d0c2ab9 100644 --- a/common/pmu_tps65090.c +++ b/common/pmu_tps65090.c @@ -593,8 +593,11 @@ void pmu_init(void) break; } - if (failure) + if (failure) { + CPUTS("Failed to initialize PMU. Hard-resetting.\n"); + cflush(); board_hard_reset(); + } } /* Initializes PMU when power is turned on. This is necessary because the TPS' |