diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1101-fix-suspend-gps-tx-level.patch.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1101-fix-suspend-gps-tx-level.patch.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1101-fix-suspend-gps-tx-level.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1101-fix-suspend-gps-tx-level.patch.patch new file mode 100644 index 0000000..62d72f2 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.24/1101-fix-suspend-gps-tx-level.patch.patch @@ -0,0 +1,47 @@ +From 0df922c0e1c6cdbfb8b2d2d0f7b474d09d121510 Mon Sep 17 00:00:00 2001 +From: warmcat <andy@warmcat.com> +Date: Sun, 13 Apr 2008 07:25:51 +0100 +Subject: [PATCH] fix-suspend-gps-tx-level.patch + +We used to drive output high into GPS unit in suspend + +Signed-off-by: Andy Green <andy@openmoko.com> +--- + arch/arm/plat-s3c24xx/neo1973_pm_gps.c | 14 ++++++++++++++ + 1 files changed, 14 insertions(+), 0 deletions(-) + +diff --git a/arch/arm/plat-s3c24xx/neo1973_pm_gps.c b/arch/arm/plat-s3c24xx/neo1973_pm_gps.c +index 6bd8054..e8cfb96 100644 +--- a/arch/arm/plat-s3c24xx/neo1973_pm_gps.c ++++ b/arch/arm/plat-s3c24xx/neo1973_pm_gps.c +@@ -485,6 +485,12 @@ static int gta01_pm_gps_suspend(struct platform_device *pdev, + + #ifdef CONFIG_MACH_NEO1973_GTA02 + if (machine_is_neo1973_gta02()) { ++ /* take care not to power unpowered GPS from GPIO */ ++ s3c2410_gpio_cfgpin(S3C2410_GPH4, S3C2410_GPH4_OUTP); ++ s3c2410_gpio_setpin(S3C2410_GPH4, 0); ++ /* don't let RX from unpowered GPS float */ ++ s3c2410_gpio_pullup(S3C2410_GPH5, 1); ++ + /* FIXME */ + pcf50633_onoff_set(pcf50633_global, + PCF50633_REGULATOR_LDO5, 0); +@@ -505,6 +511,14 @@ static int gta01_pm_gps_resume(struct platform_device *pdev) + + #ifdef CONFIG_MACH_NEO1973_GTA02 + if (machine_is_neo1973_gta02()) { ++ /* ++ * resume TXD1 function since we power GPS now... er.. ++ * WTF? FIXME We always power GPS on resume ?? ++ */ ++ s3c2410_gpio_cfgpin(S3C2410_GPH4, S3C2410_GPH4_TXD1); ++ /* remove pulldown now it won't be floating any more */ ++ s3c2410_gpio_pullup(S3C2410_GPH5, 0); ++ + /* FIXME */ + pcf50633_onoff_set(pcf50633_global, + PCF50633_REGULATOR_LDO5, 1); +-- +1.5.6.5 + |