Browse Source

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>
Rob Herring 13 years ago
parent
commit
0c34e69f57
2 changed files with 9 additions and 0 deletions
  1. 1 0
      arch/arm/cpu/armv7/highbank/config.mk
  2. 8 0
      board/highbank/highbank.c

+ 1 - 0
arch/arm/cpu/armv7/highbank/config.mk

@@ -0,0 +1 @@
+PLATFORM_CPPFLAGS += -march=armv7-a

+ 8 - 0
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");
 }