diff options
author | Rob Herring <rob.herring@calxeda.com> | 2011-12-28 13:26:24 -0600 |
---|---|---|
committer | John Rigby <john.rigby@linaro.org> | 2012-02-07 17:03:51 -0800 |
commit | 59e47018988b2199aa0fdc4d4af2d4686aef86d4 (patch) | |
tree | 798a04982f577185c4d222aacd0d08ac500289aa | |
parent | 54f947a9dbc36de3fca572063656bcb2696157e0 (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.mk | 1 | ||||
-rw-r--r-- | board/highbank/highbank.c | 8 |
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"); } |