summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/reset.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-12-19 13:56:10 +0100
committerIngo Molnar <mingo@kernel.org>2013-12-19 13:56:10 +0100
commit3331e924e7c5b98d245531b181551cb2a7380d0e (patch)
tree25c4432afd79bedc1e8941415166a5cef0c168fb /arch/arm/mach-pxa/reset.c
parentx86/mm: Implement ASLR for hugetlb mappings (diff)
parentLinux 3.13-rc4 (diff)
downloadlinux-3331e924e7c5b98d245531b181551cb2a7380d0e.tar.xz
linux-3331e924e7c5b98d245531b181551cb2a7380d0e.zip
Merge tag 'v3.13-rc4' into x86/mm
Pick up the latest fixes before applying new patches. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/arm/mach-pxa/reset.c')
-rw-r--r--arch/arm/mach-pxa/reset.c8
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 @@
#include <mach/regs-ost.h>
#include <mach/reset.h>
+#include <mach/smemc.h>
unsigned int reset_status;
EXPORT_SYMBOL(reset_status);
@@ -81,6 +82,12 @@ static void do_hw_reset(void)
writel_relaxed(OSSR_M3, OSSR);
/* ... in 100 ms */
writel_relaxed(readl_relaxed(OSCR) + 368640, OSMR3);
+ /*
+ * SDRAM hangs on watchdog reset on Marvell PXA270 (erratum 71)
+ * we put SDRAM into self-refresh to prevent that
+ */
+ while (1)
+ writel_relaxed(MDREFR_SLFRSH, MDREFR);
}
void pxa_restart(enum reboot_mode mode, const char *cmd)
@@ -104,4 +111,3 @@ void pxa_restart(enum reboot_mode mode, const char *cmd)
break;
}
}
-