summaryrefslogtreecommitdiffstats
path: root/arch/sh/boards/mach-se/7724/sdram.S
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2009-10-29 11:52:23 +0100
committerPaul Mundt <lethal@linux-sh.org>2009-10-30 03:59:26 +0100
commit3b9f2952a3eda738f5f2d7610b76e284cbac581f (patch)
tree23937cebe892efcb3d5d8767c0b5606f61aece4a /arch/sh/boards/mach-se/7724/sdram.S
parentsh: Add kfr2r09 specific memory pre/post sleep code (diff)
downloadlinux-3b9f2952a3eda738f5f2d7610b76e284cbac581f.tar.xz
linux-3b9f2952a3eda738f5f2d7610b76e284cbac581f.zip
sh: Add ms7724se specific memory pre/post sleep code
Add self-refresh handling code for the MS7724SE board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/boards/mach-se/7724/sdram.S')
-rw-r--r--arch/sh/boards/mach-se/7724/sdram.S52
1 files changed, 52 insertions, 0 deletions
diff --git a/arch/sh/boards/mach-se/7724/sdram.S b/arch/sh/boards/mach-se/7724/sdram.S
new file mode 100644
index 000000000000..9040167d5022
--- /dev/null
+++ b/arch/sh/boards/mach-se/7724/sdram.S
@@ -0,0 +1,52 @@
+/*
+ * MS7724SE sdram self/auto-refresh setup code
+ *
+ * Copyright (C) 2009 Magnus Damm
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+
+#include <linux/sys.h>
+#include <linux/errno.h>
+#include <linux/linkage.h>
+#include <asm/asm-offsets.h>
+#include <asm/suspend.h>
+#include <asm/romimage-macros.h>
+
+/* code to enter and leave self-refresh. must be self-contained.
+ * this code will be copied to on-chip memory and executed from there.
+ */
+ .balign 4
+ENTRY(ms7724se_sdram_enter_start)
+
+ /* DBSC: put memory in self-refresh mode */
+
+ ED 0xFD000010, 0x00000000 /* DBEN */
+ ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
+ ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
+ ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
+ ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
+
+ rts
+ nop
+
+ENTRY(ms7724se_sdram_enter_end)
+
+ .balign 4
+ENTRY(ms7724se_sdram_leave_start)
+
+ /* DBSC: put memory in auto-refresh mode */
+
+ ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
+ WAIT 1
+ ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
+ ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
+ ED 0xFD000010, 0x00000001 /* DBEN */
+ ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
+
+ rts
+ nop
+
+ENTRY(ms7724se_sdram_leave_end)