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);