diff options
Diffstat (limited to 'arch/arm/mach-pxa/reset.c')
-rw-r--r-- | arch/arm/mach-pxa/reset.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/reset.c b/arch/arm/mach-pxa/reset.c index 0d5dd646f61f..263b15249b5b 100644 --- a/arch/arm/mach-pxa/reset.c +++ b/arch/arm/mach-pxa/reset.c | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | #include <mach/regs-ost.h> | 14 | #include <mach/regs-ost.h> |
15 | #include <mach/reset.h> | 15 | #include <mach/reset.h> |
16 | #include <mach/smemc.h> | ||
16 | 17 | ||
17 | unsigned int reset_status; | 18 | unsigned int reset_status; |
18 | EXPORT_SYMBOL(reset_status); | 19 | EXPORT_SYMBOL(reset_status); |
@@ -81,6 +82,12 @@ static void do_hw_reset(void) | |||
81 | writel_relaxed(OSSR_M3, OSSR); | 82 | writel_relaxed(OSSR_M3, OSSR); |
82 | /* ... in 100 ms */ | 83 | /* ... in 100 ms */ |
83 | writel_relaxed(readl_relaxed(OSCR) + 368640, OSMR3); | 84 | writel_relaxed(readl_relaxed(OSCR) + 368640, OSMR3); |
85 | /* | ||
86 | * SDRAM hangs on watchdog reset on Marvell PXA270 (erratum 71) | ||
87 | * we put SDRAM into self-refresh to prevent that | ||
88 | */ | ||
89 | while (1) | ||
90 | writel_relaxed(MDREFR_SLFRSH, MDREFR); | ||
84 | } | 91 | } |
85 | 92 | ||
86 | void pxa_restart(enum reboot_mode mode, const char *cmd) | 93 | void pxa_restart(enum reboot_mode mode, const char *cmd) |
@@ -104,4 +111,3 @@ void pxa_restart(enum reboot_mode mode, const char *cmd) | |||
104 | break; | 111 | break; |
105 | } | 112 | } |
106 | } | 113 | } |
107 | |||