diff options
Diffstat (limited to 'arch/arm/mach-s3c2410/s3c2410-pm.c')
-rw-r--r-- | arch/arm/mach-s3c2410/s3c2410-pm.c | 16 |
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 | ||