sunxi: Fix reset hang on sun5i

Do the same as the Linux kernel does, this fixes the SoC hanging on reset
about 50% of the time.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
master
Hans de Goede 11 years ago committed by Ian Campbell
parent 2428920835
commit ae5de5a19d
  1. 6
      arch/arm/cpu/armv7/sunxi/board.c

@ -77,7 +77,11 @@ void reset_cpu(ulong addr)
/* Set the watchdog for its shortest interval (.5s) and wait */
writel(WDT_MODE_RESET_EN | WDT_MODE_EN, &wdog->mode);
writel(WDT_CTRL_KEY | WDT_CTRL_RESTART, &wdog->ctl);
while (1);
while (1) {
/* sun5i sometimes gets stuck without this */
writel(WDT_MODE_RESET_EN | WDT_MODE_EN, &wdog->mode);
}
}
/* do some early init */

Loading…
Cancel
Save