diff options
Diffstat (limited to 'arch/arm/mach-s3c2410/pm.c')
-rw-r--r-- | arch/arm/mach-s3c2410/pm.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/mach-s3c2410/pm.c b/arch/arm/mach-s3c2410/pm.c index 966119c8efee..725636fc4dc3 100644 --- a/arch/arm/mach-s3c2410/pm.c +++ b/arch/arm/mach-s3c2410/pm.c | |||
@@ -60,10 +60,10 @@ static void s3c2410_pm_prepare(void) | |||
60 | __raw_writel(calc, phys_to_virt(H1940_SUSPEND_CHECKSUM)); | 60 | __raw_writel(calc, phys_to_virt(H1940_SUSPEND_CHECKSUM)); |
61 | } | 61 | } |
62 | 62 | ||
63 | /* the RX3715 uses similar code and the same H1940 and the | 63 | /* RX3715 and RX1950 use similar to H1940 code and the |
64 | * same offsets for resume and checksum pointers */ | 64 | * same offsets for resume and checksum pointers */ |
65 | 65 | ||
66 | if (machine_is_rx3715()) { | 66 | if (machine_is_rx3715() || machine_is_rx1950()) { |
67 | void *base = phys_to_virt(H1940_SUSPEND_CHECK); | 67 | void *base = phys_to_virt(H1940_SUSPEND_CHECK); |
68 | unsigned long ptr; | 68 | unsigned long ptr; |
69 | unsigned long calc = 0; | 69 | unsigned long calc = 0; |
@@ -79,6 +79,17 @@ static void s3c2410_pm_prepare(void) | |||
79 | if ( machine_is_aml_m5900() ) | 79 | if ( machine_is_aml_m5900() ) |
80 | s3c2410_gpio_setpin(S3C2410_GPF(2), 1); | 80 | s3c2410_gpio_setpin(S3C2410_GPF(2), 1); |
81 | 81 | ||
82 | if (machine_is_rx1950()) { | ||
83 | /* According to S3C2442 user's manual, page 7-17, | ||
84 | * when the system is operating in NAND boot mode, | ||
85 | * the hardware pin configuration - EINT[23:21] – | ||
86 | * must be set as input for starting up after | ||
87 | * wakeup from sleep mode | ||
88 | */ | ||
89 | s3c_gpio_cfgpin(S3C2410_GPG(13), S3C2410_GPIO_INPUT); | ||
90 | s3c_gpio_cfgpin(S3C2410_GPG(14), S3C2410_GPIO_INPUT); | ||
91 | s3c_gpio_cfgpin(S3C2410_GPG(15), S3C2410_GPIO_INPUT); | ||
92 | } | ||
82 | } | 93 | } |
83 | 94 | ||
84 | static int s3c2410_pm_resume(struct sys_device *dev) | 95 | static int s3c2410_pm_resume(struct sys_device *dev) |