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 <[email protected]>
---
 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

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to