diff options
Diffstat (limited to 'arch/arm/mach-imx/system.c')
-rw-r--r-- | arch/arm/mach-imx/system.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/system.c b/arch/arm/mach-imx/system.c index 80c177c36c5f..e6edcd38b282 100644 --- a/arch/arm/mach-imx/system.c +++ b/arch/arm/mach-imx/system.c | |||
@@ -42,6 +42,9 @@ void mxc_restart(enum reboot_mode mode, const char *cmd) | |||
42 | { | 42 | { |
43 | unsigned int wcr_enable; | 43 | unsigned int wcr_enable; |
44 | 44 | ||
45 | if (cpu_is_imx6q() || cpu_is_imx6dl()) | ||
46 | imx_src_prepare_restart(); | ||
47 | |||
45 | if (wdog_clk) | 48 | if (wdog_clk) |
46 | clk_enable(wdog_clk); | 49 | clk_enable(wdog_clk); |
47 | 50 | ||
@@ -52,6 +55,8 @@ void mxc_restart(enum reboot_mode mode, const char *cmd) | |||
52 | 55 | ||
53 | /* Assert SRS signal */ | 56 | /* Assert SRS signal */ |
54 | __raw_writew(wcr_enable, wdog_base); | 57 | __raw_writew(wcr_enable, wdog_base); |
58 | /* write twice to ensure the request will not get ignored */ | ||
59 | __raw_writew(wcr_enable, wdog_base); | ||
55 | 60 | ||
56 | /* wait for reset to assert... */ | 61 | /* wait for reset to assert... */ |
57 | mdelay(500); | 62 | mdelay(500); |