Change RTS and TXD pins on UART 0 to be inputs only on GTA02.
On GTA01 the UART 0 maybe used otherwise.

Signed-off-by: Tim Niemeyer <[email protected]>
---
 arch/arm/plat-s3c24xx/neo1973_pm_gsm.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c b/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
index fbd9f0e..38bd0df 100644
--- a/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
+++ b/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
@@ -11,6 +11,8 @@
  *
  */
 
+#define DEBUG 1
+
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
@@ -96,12 +98,16 @@ out_1:
 static void gsm_on_off(struct device *dev, int on)
 {
 	if (!on) {
-		/* do not drive into powered-down GSM side */
-		s3c2410_gpio_cfgpin(S3C2410_GPH1, S3C2410_GPIO_INPUT);
-		s3c2410_gpio_cfgpin(S3C2410_GPH2, S3C2410_GPIO_INPUT);
-
 		if (machine_is_neo1973_gta02())
+		{
+			/* do not drive into powered-down GSM side 
+			 * GTA02 only, because on GTA01 maybe serial
+			 * is used otherwise */
+			s3c2410_gpio_cfgpin(S3C2410_GPH1, S3C2410_GPIO_INPUT);
+			s3c2410_gpio_cfgpin(S3C2410_GPH2, S3C2410_GPIO_INPUT);
+
 			pcf50633_gpio_set(gta02_pcf, PCF50633_GPIO2, 0);
+		}
 
 		if (gta01_gsm.gpio_ngsm_en)
 			s3c2410_gpio_setpin(gta01_gsm.gpio_ngsm_en, 1);

Reply via email to