summaryrefslogtreecommitdiff
path: root/include/gpio.h
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2016-01-21 14:37:53 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-01-25 19:48:21 -0800
commit8c9210b81e83c94d9d34497d202476c4fa6fb34b (patch)
tree62736db763a94b69d81a4cd2a6f814fe72ba28ac /include/gpio.h
parentf5e9dbe10688cea2d5426c96e3a8976efb22a8a7 (diff)
downloadchrome-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 'include/gpio.h')
-rw-r--r--include/gpio.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/gpio.h b/include/gpio.h
index 060ef97c33..8c7e420cd9 100644
--- a/include/gpio.h
+++ b/include/gpio.h
@@ -252,4 +252,7 @@ void gpio_set_alternate_function(uint32_t port, uint32_t mask, int func);
*/
void gpio_enable_clocks(void);
+/* Optional board-level function to set hibernate GPIO states. */
+void board_set_gpio_hibernate_state(void) __attribute__((weak));
+
#endif /* __CROS_EC_GPIO_H */