This patch fixes the reset command on imx25

Signed-off-by: Matthias Weisser <weiss...@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to