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>
This commit is contained in:
Shawn Nematbakhsh
2016-10-07 10:53:13 -07:00
committed by chrome-bot
parent 16da748424
commit 3f6232f2d3
3 changed files with 6 additions and 3 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;