From a8305f0d022ca57a35f47c90f2d018de0de7e234 Mon Sep 17 00:00:00 2001 From: Li Jie Date: Thu, 31 Dec 2009 15:50:02 +0100 Subject: [PATCH] --- yaml --- r: 178801 b: refs/heads/master c: 58b2e0a2dd8e460d3b7d7f8ec5d3042253b9e08a h: refs/heads/master i: 178799: f9eaa1b887fd03649482f41224fef5997eaf7472 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-w90x900/include/mach/system.h | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ca764cdfadad..6b074be0b2a4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1368c51c501978e5c4148322b7c77d4f49549557 +refs/heads/master: 58b2e0a2dd8e460d3b7d7f8ec5d3042253b9e08a diff --git a/trunk/arch/arm/mach-w90x900/include/mach/system.h b/trunk/arch/arm/mach-w90x900/include/mach/system.h index 940640066857..ce228bdc66dd 100644 --- a/trunk/arch/arm/mach-w90x900/include/mach/system.h +++ b/trunk/arch/arm/mach-w90x900/include/mach/system.h @@ -15,7 +15,15 @@ * */ +#include #include +#include +#include + +#define WTCR (TMR_BA + 0x1C) +#define WTCLK (1 << 10) +#define WTE (1 << 7) +#define WTRE (1 << 1) static void arch_idle(void) { @@ -23,6 +31,11 @@ static void arch_idle(void) static void arch_reset(char mode, const char *cmd) { - cpu_reset(0); + if (mode == 's') { + /* Jump into ROM at address 0 */ + cpu_reset(0); + } else { + __raw_writel(WTE | WTRE | WTCLK, WTCR); + } }