diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2016-01-21 14:37:53 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-01-25 19:48:21 -0800 |
commit | 8c9210b81e83c94d9d34497d202476c4fa6fb34b (patch) | |
tree | 62736db763a94b69d81a4cd2a6f814fe72ba28ac /chip/npcx/system.c | |
parent | f5e9dbe10688cea2d5426c96e3a8976efb22a8a7 (diff) | |
download | chrome-ec-8c9210b81e83c94d9d34497d202476c4fa6fb34b.tar.gz |
mec1322: hibernate: Don't reconfigure all GPIOs
Configuring all GPIOs to INPUT / PULL_UP in hibernate is not a good
idea:
- INPUT / PULL_UP is not necessarially the lowest-power state (for
example, if there is an onboard pull-down).
- Most GPIOs should already be in lowest-power state when we're in S5.
- For the few GPIOs that need to be in a different state for hibernate,
we can use a board-level callback.
In addition, remove mec1322 code related to restoring from hibernate
state, since we always reset coming out of hibernate.
BUG=chrome-os-partner:49608
BRANCH=glados, strago
TEST=`hibernate` on chell console when in S5 and AC removed. Verify that
EC power is roughly equivalent to low-power idle power. Attach Zinger,
verify that device wakes and boots, and charges from charger.
Change-Id: Ib00ef035bec32cea3847eb38d743f5c0cec896ca
Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/322937
Commit-Ready: Shawn N <shawnn@chromium.org>
Tested-by: Shawn N <shawnn@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
Diffstat (limited to 'chip/npcx/system.c')
-rw-r--r-- | chip/npcx/system.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/chip/npcx/system.c b/chip/npcx/system.c index 5abd5ff04e..dd44fce62d 100644 --- a/chip/npcx/system.c +++ b/chip/npcx/system.c @@ -353,8 +353,8 @@ void system_set_gpios_and_wakeup_inputs_hibernate(void) #endif /* CONFIG_USB_PD_PORT_COUNT */ /* board-level function to set GPIOs state in hibernate */ - if (board_set_gpio_state_hibernate) - return board_set_gpio_state_hibernate(); + if (board_set_gpio_hibernate_state) + return board_set_gpio_hibernate_state(); } /** |