aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2410/s3c2410-pm.c
diff options
context:
space:
mode:
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)
66 __raw_writel(calc, phys_to_virt(H1940_SUSPEND_CHECKSUM)); 66 __raw_writel(calc, phys_to_virt(H1940_SUSPEND_CHECKSUM));
67 } 67 }
68 68
69 /* the RX3715 uses similar code and the same H1940 and the
70 * same offsets for resume and checksum pointers */
71
72 if (machine_is_rx3715()) {
73 void *base = phys_to_virt(H1940_SUSPEND_CHECK);
74 unsigned long ptr;
75 unsigned long calc = 0;
76
77 /* generate check for the bootloader to check on resume */
78
79 for (ptr = 0; ptr < 0x40000; ptr += 0x4)
80 calc += __raw_readl(base+ptr);
81
82 __raw_writel(calc, phys_to_virt(H1940_SUSPEND_CHECKSUM));
83 }
84
69 if ( machine_is_aml_m5900() ) 85 if ( machine_is_aml_m5900() )
70 s3c2410_gpio_setpin(S3C2410_GPF2, 1); 86 s3c2410_gpio_setpin(S3C2410_GPF2, 1);
71 87