Hi Werner,
Little Sean and I test our GSM dialer on GTA02A5. GSM download pin still
generates tick tick noise. And the hardware design isn't changed for
GTA02A5. So we need to set GSM download output high. Thanks.
Regards,
Willie
Add on/off GSM download gpio. If we don't upgrade gsm firmware, we need to set GPIO output high. It will affect the sound quality, when we set GPIO low.
From: Willie <[EMAIL PROTECTED]>
---
arch/arm/plat-s3c24xx/neo1973_pm_gsm.c | 14 +++++++++++++-
include/asm-arm/arch-s3c2410/gta02.h | 2 +-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c b/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
index a877ff2..b00fdc5 100644
--- a/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
+++ b/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
@@ -25,6 +25,7 @@
#ifdef CONFIG_MACH_NEO1973_GTA02
#include <asm/arch/gta02.h>
#include <linux/pcf50633.h>
+#include <asm/arch/regs-gpioj.h>
#endif
struct gta01pm_priv {
@@ -60,8 +61,14 @@ static ssize_t gsm_read(struct device *dev, struct device_attribute *attr,
if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_RST))
goto out_1;
} else if (!strcmp(attr->attr.name, "download")) {
+#ifdef CONFIG_MACH_NEO1973_GTA02
+ if (s3c2410_gpio_getpin(GTA02_GPIO_nDL_GSM))
+ goto out_1;
+#endif
+#ifdef CONFIG_MACH_NEO1973_GTA01
if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_DNLOAD))
goto out_1;
+#endif
}
return strlcpy(buf, "0\n", 3);
@@ -125,7 +132,12 @@ static ssize_t gsm_write(struct device *dev, struct device_attribute *attr,
} else if (!strcmp(attr->attr.name, "reset")) {
s3c2410_gpio_setpin(GTA01_GPIO_MODEM_RST, on);
} else if (!strcmp(attr->attr.name, "download")) {
+#ifdef CONFIG_MACH_NEO1973_GTA02
+ s3c2410_gpio_setpin(GTA02_GPIO_nDL_GSM, on);
+#endif
+#ifdef CONFIG_MACH_NEO1973_GTA01
s3c2410_gpio_setpin(GTA01_GPIO_MODEM_DNLOAD, on);
+#endif
}
return count;
@@ -164,7 +176,7 @@ static int gta01_gsm_resume(struct platform_device *pdev)
static struct attribute *gta01_gsm_sysfs_entries[] = {
&dev_attr_power_on.attr,
&dev_attr_reset.attr,
- NULL,
+ &dev_attr_download.attr,
NULL
};
diff --git a/include/asm-arm/arch-s3c2410/gta02.h b/include/asm-arm/arch-s3c2410/gta02.h
index edf7223..dc12db7 100644
--- a/include/asm-arm/arch-s3c2410/gta02.h
+++ b/include/asm-arm/arch-s3c2410/gta02.h
@@ -64,7 +64,7 @@
#define GTA02_GPIO_INT0 S3C2440_GPJ3 /* v2 + v3 + v4 only */
#define GTA02_GPIO_nGSM_EN S3C2440_GPJ4
#define GTA02_GPIO_3D_RESET S3C2440_GPJ5
-#define GTA02v4_GPIO_nDL_GSM S3C2440_GPJ6 /* v4 only */
+#define GTA02_GPIO_nDL_GSM S3C2440_GPJ6 /* v4 + v5 only */
#define GTA02_GPIO_WLAN_GPIO0 S3C2440_GPJ7
#define GTA02v1_GPIO_BAT_ID S3C2440_GPJ8
#define GTA02_GPIO_KEEPACT S3C2440_GPJ8