diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2016-10-07 10:53:13 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-10-07 16:47:00 -0700 |
commit | 3f6232f2d3de13425c56be4847efd880a414b476 (patch) | |
tree | 7c2f7d73d39629d45f5709d7a6b27b33a87413ca | |
parent | 16da7484246d00f37e34a93c97b65cdb41b02dbe (diff) | |
download | chrome-ec-3f6232f2d3de13425c56be4847efd880a414b476.tar.gz |
hibernate: Re-init GPIO levels on hibernate wake
Reset-on-hibernate wake performs a soft-reset, which re-initializes GPIO
states to ROM POR values. Therefore, it is necessary to re-init GPIO
states once again based on board-level GPIO settings.
BUG=chrome-os-partner:58077
BRANCH=gru
TEST=Run `hibernate` on gru, wake, then run `bd99955_dump`. Verify
actual register values are printed rather than zeros.
Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
Change-Id: Ib3eb1dd6aa264d00d42d8e386bfd1ef7f6cf7717
Reviewed-on: https://chromium-review.googlesource.com/395426
Commit-Ready: Shawn N <shawnn@chromium.org>
Tested-by: Shawn N <shawnn@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r-- | chip/it83xx/system.c | 3 | ||||
-rw-r--r-- | chip/mec1322/system.c | 3 | ||||
-rw-r--r-- | chip/npcx/system.c | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/chip/it83xx/system.c b/chip/it83xx/system.c index fee95f2611..32ab43231f 100644 --- a/chip/it83xx/system.c +++ b/chip/it83xx/system.c @@ -94,7 +94,8 @@ int system_is_reboot_warm(void) (reset_flags & RESET_FLAG_POWER_ON) || (reset_flags & RESET_FLAG_WATCHDOG) || (reset_flags & RESET_FLAG_HARD) || - (reset_flags & RESET_FLAG_SOFT)) + (reset_flags & RESET_FLAG_SOFT) || + (reset_flags & RESET_FLAG_HIBERNATE)) return 0; else return 1; diff --git a/chip/mec1322/system.c b/chip/mec1322/system.c index 0090c6b862..26d89c10e3 100644 --- a/chip/mec1322/system.c +++ b/chip/mec1322/system.c @@ -70,7 +70,8 @@ int system_is_reboot_warm(void) (reset_flags & RESET_FLAG_POWER_ON) || (reset_flags & RESET_FLAG_WATCHDOG) || (reset_flags & RESET_FLAG_HARD) || - (reset_flags & RESET_FLAG_SOFT)) + (reset_flags & RESET_FLAG_SOFT) || + (reset_flags & RESET_FLAG_HIBERNATE)) return 0; else return 1; diff --git a/chip/npcx/system.c b/chip/npcx/system.c index 4c350b85ec..2d11217f5b 100644 --- a/chip/npcx/system.c +++ b/chip/npcx/system.c @@ -741,7 +741,8 @@ int system_is_reboot_warm(void) (reset_flags & RESET_FLAG_POWER_ON) || (reset_flags & RESET_FLAG_WATCHDOG) || (reset_flags & RESET_FLAG_HARD) || - (reset_flags & RESET_FLAG_SOFT)) + (reset_flags & RESET_FLAG_SOFT) || + (reset_flags & RESET_FLAG_HIBERNATE)) return 0; else return 1; |