--- linux-2.6.18/arch/arm/mach-s3c2410/s3c2410-pm.c 2006-09-25 15:00:04.000000000 -0400 +++ linux-2.6.18-armdevel-m5900/arch/arm/mach-s3c2410/s3c2410-pm.c 2006-09-25 15:01:32.000000000 -0400 @@ -29,6 +29,8 @@ #include #include +#include + #include #include "cpu.h" @@ -49,6 +51,14 @@ DBG("GSTATUS3 0x%08x\n", __raw_readl(S3C2410_GSTATUS3)); DBG("GSTATUS4 0x%08x\n", __raw_readl(S3C2410_GSTATUS4)); + + if ( machine_is_aml_m5900() ) { + unsigned long tmp; + + tmp=__raw_readl(S3C2410_GPFDAT); + tmp |=(1<<2); + __raw_writel(tmp,S3C2410_GPFDAT); + } } int s3c2410_pm_resume(struct sys_device *dev) @@ -61,6 +71,12 @@ tmp &= S3C2410_GSTATUS2_OFFRESET; __raw_writel(tmp, S3C2410_GSTATUS2); + if ( machine_is_aml_m5900() ) { + tmp=__raw_readl(S3C2410_GPFDAT); + tmp &= ~(1<<2); + __raw_writel(tmp,S3C2410_GPFDAT); + } + return 0; }