Bladeren bron

ARM DaVinci: Reset with watchdog enabled

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>
Thomas Lange 16 jaren geleden
bovenliggende
commit
2ae0f35fd6
1 gewijzigde bestanden met toevoegingen van 4 en 0 verwijderingen
  1. 4 0
      cpu/arm926ejs/davinci/reset.S

+ 4 - 0
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