|
@@ -15,11 +15,13 @@
|
|
|
|
|
|
#include <asm/arch/map.h>
|
|
#include <asm/arch/map.h>
|
|
#include <asm/arch/idle.h>
|
|
#include <asm/arch/idle.h>
|
|
|
|
+#include <asm/arch/reset.h>
|
|
|
|
|
|
#include <asm/arch/regs-watchdog.h>
|
|
#include <asm/arch/regs-watchdog.h>
|
|
#include <asm/arch/regs-clock.h>
|
|
#include <asm/arch/regs-clock.h>
|
|
|
|
|
|
void (*s3c24xx_idle)(void);
|
|
void (*s3c24xx_idle)(void);
|
|
|
|
+void (*s3c24xx_reset_hook)(void);
|
|
|
|
|
|
void s3c24xx_default_idle(void)
|
|
void s3c24xx_default_idle(void)
|
|
{
|
|
{
|
|
@@ -54,7 +56,6 @@ static void arch_idle(void)
|
|
s3c24xx_default_idle();
|
|
s3c24xx_default_idle();
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
static void
|
|
static void
|
|
arch_reset(char mode)
|
|
arch_reset(char mode)
|
|
{
|
|
{
|
|
@@ -62,6 +63,9 @@ arch_reset(char mode)
|
|
cpu_reset(0);
|
|
cpu_reset(0);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (s3c24xx_reset_hook)
|
|
|
|
+ s3c24xx_reset_hook();
|
|
|
|
+
|
|
printk("arch_reset: attempting watchdog reset\n");
|
|
printk("arch_reset: attempting watchdog reset\n");
|
|
|
|
|
|
__raw_writel(0, S3C2410_WTCON); /* disable watchdog, to be safe */
|
|
__raw_writel(0, S3C2410_WTCON); /* disable watchdog, to be safe */
|