summaryrefslogtreecommitdiff
path: root/src/mainboard/google/snow/wakeup.c
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2013-05-10 16:21:58 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-07-10 02:41:09 +0200
commit043eb0e35f93b41348eb69061a6aa0355ef544bc (patch)
tree3f5875408faf7223a9edfa1c3629e44e411b81d9 /src/mainboard/google/snow/wakeup.c
parent6adef0847e4a62abf00e489209d239c958447830 (diff)
Wield battle axe at ARM port
This patch unfortunately incorporates a number of changes, all of which are making future ARM ports easier. - drop cruft that came in with u-boot - move serial console from mainboard Kconfig to Exynos Kconfig - factor out non-board specific wakeup code - move generic bootblock code from mainboard to Exynos - actually call arch_cpu_init() - remove dead code - fix up copyright messages - remove snow_ prefix from a lot of code to reduce the noise when creating a new mainboard based on that code. Change-Id: Ic05326edf5a7e1a691c5ff841a604cb9e351b562 Signed-off-by: Stefan Reinauer <reinauer@google.com> Signed-off-by: Gabe Black <gabeblack@chromium.org> Reviewed-on: http://review.coreboot.org/3640 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/mainboard/google/snow/wakeup.c')
-rw-r--r--src/mainboard/google/snow/wakeup.c31
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;
-}