summaryrefslogtreecommitdiff
path: root/arch/arm/mach-s3c2410/s3c2410-pm.c
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2006-12-07 22:47:58 +0300
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-12-08 01:37:44 +0300
commitbbf6f2809dbadc2bacfd73a052d8b0893dbf1762 (patch)
tree236772a5a6c7634822e39ea35d543964afcce895 /arch/arm/mach-s3c2410/s3c2410-pm.c
parentb2eba6bb44300b46cdd2e5d0b19d5f4bd7d001ac (diff)
downloadlinux-bbf6f2809dbadc2bacfd73a052d8b0893dbf1762.tar.xz
[ARM] 3999/1: RX3715: suspend to RAM support
The RX3715 is similar to the H1940 in the way that suspend to RAM works, so we can use most of the extant support for the H1940 with only a few modifictions Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-s3c2410/s3c2410-pm.c')
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-pm.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/s3c2410-pm.c b/arch/arm/mach-s3c2410/s3c2410-pm.c
index 9cd0c104f1cb..77c6814c0f05 100644
--- a/arch/arm/mach-s3c2410/s3c2410-pm.c
+++ b/arch/arm/mach-s3c2410/s3c2410-pm.c
@@ -66,6 +66,22 @@ static void s3c2410_pm_prepare(void)
__raw_writel(calc, phys_to_virt(H1940_SUSPEND_CHECKSUM));
}
+ /* the RX3715 uses similar code and the same H1940 and the
+ * same offsets for resume and checksum pointers */
+
+ if (machine_is_rx3715()) {
+ void *base = phys_to_virt(H1940_SUSPEND_CHECK);
+ unsigned long ptr;
+ unsigned long calc = 0;
+
+ /* generate check for the bootloader to check on resume */
+
+ for (ptr = 0; ptr < 0x40000; ptr += 0x4)
+ calc += __raw_readl(base+ptr);
+
+ __raw_writel(calc, phys_to_virt(H1940_SUSPEND_CHECKSUM));
+ }
+
if ( machine_is_aml_m5900() )
s3c2410_gpio_setpin(S3C2410_GPF2, 1);