diff options
author | David Anders <danders@amltd.com> | 2006-09-26 12:46:00 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-09-27 18:44:33 -0400 |
commit | 26f908186f923291999833e9d563259834bdca06 (patch) | |
tree | 3fd7656ade08d17d6213fdaa27c86bda6f4b0b8b /arch/arm/mach-s3c2410/mach-amlm5900.c | |
parent | ea33a59802f8fd21d24fbf5c906bc3f399bcca00 (diff) |
[ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series
this patch registers the wakeup irq, sets a gpio pin to indicate the
status of system for suspend/resume operations, and adds the machine to
the supported machines for use with the simtec-pm
Signed-off-by: David Anders <danders@amltd.com>
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/mach-amlm5900.c')
-rw-r--r-- | arch/arm/mach-s3c2410/mach-amlm5900.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/arch/arm/mach-s3c2410/mach-amlm5900.c b/arch/arm/mach-s3c2410/mach-amlm5900.c index 0c9b7dafbe90..ba5109af40b4 100644 --- a/arch/arm/mach-s3c2410/mach-amlm5900.c +++ b/arch/arm/mach-s3c2410/mach-amlm5900.c | |||
@@ -225,13 +225,34 @@ static struct s3c2410fb_mach_info __initdata amlm5900_lcd_info = { | |||
225 | }; | 225 | }; |
226 | #endif | 226 | #endif |
227 | 227 | ||
228 | static void __init amlm5900_init(void) | 228 | static irqreturn_t |
229 | amlm5900_wake_interrupt(int irq, void *ignored, struct pt_regs *regs) | ||
229 | { | 230 | { |
231 | return IRQ_HANDLED; | ||
232 | } | ||
230 | 233 | ||
234 | static void amlm5900_init_pm(void) | ||
235 | { | ||
236 | int ret = 0; | ||
237 | |||
238 | ret = request_irq(IRQ_EINT9, &amlm5900_wake_interrupt, | ||
239 | IRQF_TRIGGER_RISING | IRQF_SHARED, | ||
240 | "amlm5900_wakeup", &amlm5900_wake_interrupt); | ||
241 | if (ret != 0) { | ||
242 | printk(KERN_ERR "AML-M5900: no wakeup irq, %d?\n", ret); | ||
243 | } else { | ||
244 | enable_irq_wake(IRQ_EINT9); | ||
245 | /* configure the suspend/resume status pin */ | ||
246 | s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_OUTP); | ||
247 | s3c2410_gpio_pullup(S3C2410_GPF2, 0); | ||
248 | } | ||
249 | } | ||
250 | static void __init amlm5900_init(void) | ||
251 | { | ||
252 | amlm5900_init_pm(); | ||
231 | #ifdef CONFIG_FB_S3C2410 | 253 | #ifdef CONFIG_FB_S3C2410 |
232 | s3c24xx_fb_set_platdata(&amlm5900_lcd_info); | 254 | s3c24xx_fb_set_platdata(&amlm5900_lcd_info); |
233 | #endif | 255 | #endif |
234 | |||
235 | } | 256 | } |
236 | 257 | ||
237 | MACHINE_START(AML_M5900, "AML_M5900") | 258 | MACHINE_START(AML_M5900, "AML_M5900") |