diff options
| -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 | |||
