[U-Boot] [PATCH] ARM DaVinci: Reset with watchdog enabled

Thomas Lange thomas at corelatus.se
Sun May 3 20:07:33 CEST 2009


Once the Davinci watchdog has been enabled, the timeout
value cannot be changed. If the timeout in use is long,
it can take a long time for card to reset. By writing
an invalid service key, we can trigger an immediate reset.

Signed-off-by: Thomas Lange <thomas at corelatus.se>
---
 cpu/arm926ejs/davinci/reset.S |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/cpu/arm926ejs/davinci/reset.S b/cpu/arm926ejs/davinci/reset.S
index a687d44..ba0a7c3 100644
--- a/cpu/arm926ejs/davinci/reset.S
+++ b/cpu/arm926ejs/davinci/reset.S
@@ -50,6 +50,10 @@ reset_cpu:
 	str	r1, [r0]
 	ldr	r1, WDTCR_VAL2
 	str	r1, [r0]
+	/* Write an invalid value to the WDKEY field to trigger
+	 * an immediate watchdog reset */
+	mov     r1, $0x4000
+	str     r1, [r0]
 	nop
 	nop
 	nop
-- 
1.5.6.5



More information about the U-Boot mailing list