ARM DaVinci: Reset with watchdog enabled
authorThomas Lange <thomas@corelatus.se>
Sun, 3 May 2009 18:07:33 +0000 (20:07 +0200)
committerWolfgang Denk <wd@denx.de>
Fri, 12 Jun 2009 18:39:51 +0000 (20:39 +0200)
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@corelatus.se>
cpu/arm926ejs/davinci/reset.S

index a687d44..ba0a7c3 100644 (file)
@@ -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