diff options
Diffstat (limited to 'src/mainboard/google/snow/wakeup.c')
-rw-r--r-- | src/mainboard/google/snow/wakeup.c | 31 |
1 files changed, 2 insertions, 29 deletions
diff --git a/src/mainboard/google/snow/wakeup.c b/src/mainboard/google/snow/wakeup.c index 8bb1724a2d..7a78721d02 100644 --- a/src/mainboard/google/snow/wakeup.c +++ b/src/mainboard/google/snow/wakeup.c @@ -24,39 +24,12 @@ #include <cpu/samsung/exynos5250/power.h> #include <cpu/samsung/exynos5-common/exynos5-common.h> -#include "mainboard.h" +#include <cpu/samsung/exynos5250/wakeup.h> -static int snow_wakeup_need_reset(void) +int wakeup_need_reset(void) { /* The "wake up" event is not reliable (known as "bad wakeup") and needs * reset if GPIO value is high. */ return gpio_get_value(GPIO_Y10); } -void snow_wakeup(void) -{ - if (snow_wakeup_need_reset()) - power_reset(); - - power_init(); /* Ensure ps_hold_setup() for early wakeup. */ - power_exit_wakeup(); - /* Should never return. */ - die("Failed to wake up.\n"); -} - -int snow_get_wakeup_state() -{ - uint32_t status = power_read_reset_status(); - - /* DIDLE/LPA can be resumed without clock reset (ex, bootblock), - * and SLEEP requires resetting clock (should be done in ROM stage). - */ - - if (status == S5P_CHECK_DIDLE || status == S5P_CHECK_LPA) - return SNOW_WAKEUP_DIRECT; - - if (status == S5P_CHECK_SLEEP) - return SNOW_WAKEUP_NEED_CLOCK_RESET; - - return SNOW_IS_NOT_WAKEUP; -} |