aboutsummaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2012-02-01 16:57:55 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-03-28 23:31:23 +0200
commit0c34e69f57ad94e0ba66ace657eda2fb80bc5847 (patch)
tree7bc4a2a27bcd91a363c38aca031d449eb161ecd4 /board
parent877012df309329a9264e6e9558d4f71bfa0cddbe (diff)
ARM: highbank: add reset support
Implement reset for highbank platform. Reset is triggered via a wfi instruction, so enabling armv7 for the compiler is necessary. Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Diffstat (limited to 'board')
-rw-r--r--board/highbank/highbank.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
index 096e2f637..1e2da783c 100644
--- a/board/highbank/highbank.c
+++ b/board/highbank/highbank.c
@@ -23,6 +23,12 @@
#include <asm/sizes.h>
#include <asm/io.h>
+#define HB_SREG_A9_PWR_REQ 0xfff3cf00
+#define HB_PWR_SUSPEND 0
+#define HB_PWR_SOFT_RESET 1
+#define HB_PWR_HARD_RESET 2
+#define HB_PWR_SHUTDOWN 3
+
DECLARE_GLOBAL_DATA_PTR;
/*
@@ -68,4 +74,6 @@ void dram_init_banksize(void)
void reset_cpu(ulong addr)
{
+ writel(HB_PWR_HARD_RESET, HB_SREG_A9_PWR_REQ);
+ asm(" wfi");
}