[U-Boot] [PATCH] imx25: Fix reset

Matthias Weisser weisserm at arcor.de
Tue Oct 12 13:49:16 CEST 2010


This patch fixes the reset command on imx25

Signed-off-by: Matthias Weisser <weisserm at arcor.de>
---
 arch/arm/cpu/arm926ejs/mx25/reset.c       |   10 ++--------
 arch/arm/include/asm/arch-mx25/imx-regs.h |   10 +++++-----
 2 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/mx25/reset.c b/arch/arm/cpu/arm926ejs/mx25/reset.c
index 1e33150..a5fd170 100644
--- a/arch/arm/cpu/arm926ejs/mx25/reset.c
+++ b/arch/arm/cpu/arm926ejs/mx25/reset.c
@@ -42,15 +42,9 @@
 void reset_cpu (ulong ignored)
 {
 	struct wdog_regs *regs = (struct wdog_regs *)IMX_WDT_BASE;
-	/* Disable watchdog and set Time-Out field to 0 */
-	writel (0x00000000, &regs->wcr);
 
-	/* Write Service Sequence */
-	writel (0x00005555, &regs->wsr);
-	writel (0x0000AAAA, &regs->wsr);
-
-	/* Enable watchdog */
-	writel (WCR_WDE, &regs->wcr);
+	/* Enable watchdog and set Time-Out field to 0 (0.5s timeout) */
+	writew (WCR_WDE, &regs->wcr);
 
 	while (1) ;
 }
diff --git a/arch/arm/include/asm/arch-mx25/imx-regs.h b/arch/arm/include/asm/arch-mx25/imx-regs.h
index f709bd8..fe258a8 100644
--- a/arch/arm/include/asm/arch-mx25/imx-regs.h
+++ b/arch/arm/include/asm/arch-mx25/imx-regs.h
@@ -108,11 +108,11 @@ struct gpt_regs {
 
 /* Watchdog Timer (WDOG) registers */
 struct wdog_regs {
-	u32 wcr;	/* Control */
-	u32 wsr;	/* Service */
-	u32 wrsr;	/* Reset Status */
-	u32 wicr;	/* Interrupt Control */
-	u32 wmcr;	/* Misc Control */
+	u16 wcr;	/* Control */
+	u16 wsr;	/* Service */
+	u16 wrsr;	/* Reset Status */
+	u16 wicr;	/* Interrupt Control */
+	u16 wmcr;	/* Misc Control */
 };
 
 /* IIM control registers */
-- 
1.7.0.4



More information about the U-Boot mailing list