aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2011-12-28 13:26:24 -0600
committerJohn Rigby <john.rigby@linaro.org>2012-02-07 17:03:51 -0800
commit59e47018988b2199aa0fdc4d4af2d4686aef86d4 (patch)
tree798a04982f577185c4d222aacd0d08ac500289aa
parent54f947a9dbc36de3fca572063656bcb2696157e0 (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>
-rw-r--r--arch/arm/cpu/armv7/highbank/config.mk1
-rw-r--r--board/highbank/highbank.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/highbank/config.mk b/arch/arm/cpu/armv7/highbank/config.mk
new file mode 100644
index 000000000..935a147c5
--- /dev/null
+++ b/arch/arm/cpu/armv7/highbank/config.mk
@@ -0,0 +1 @@
+PLATFORM_CPPFLAGS += -march=armv7-a
diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
index a932d65d6..c4d7f3dd4 100644
--- a/board/highbank/highbank.c
+++ b/board/highbank/highbank.c
@@ -22,6 +22,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;
/*
@@ -67,4 +73,6 @@ void dram_init_banksize(void)
void reset_cpu(ulong addr)
{
+ writel(HB_PWR_HARD_RESET, HB_SREG_A9_PWR_REQ);
+ asm(" wfi");
}