From ee1423c5c1d7b63f76d281a8ce74c82570361cf1 Mon Sep 17 00:00:00 2001 From: DKAY_CHEN Date: Wed, 4 Feb 2009 12:33:17 +0000 Subject: [GTA03] Fix power on/off sequence of the GSM module Signed-off-by: DKAY_CHEN --- arch/arm/mach-s3c6410/om-gta03-features.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'arch/arm/mach-s3c6410') diff --git a/arch/arm/mach-s3c6410/om-gta03-features.c b/arch/arm/mach-s3c6410/om-gta03-features.c index d3e2140ecba..f42476259a9 100644 --- a/arch/arm/mach-s3c6410/om-gta03-features.c +++ b/arch/arm/mach-s3c6410/om-gta03-features.c @@ -101,14 +101,19 @@ static void om_gta03_features_pwron_set_on(enum feature feature) case OM_GTA03_GSM: /* give power to GSM module */ s3c_gpio_setpull(GTA03_GPIO_N_MODEM_RESET, S3C_GPIO_PULL_NONE); + s3c_gpio_setpull(GTA03_GPIO_MODEN_ON, S3C_GPIO_PULL_NONE); s3c_gpio_cfgpin(GTA03_GPIO_N_MODEM_RESET, S3C_GPIO_SFN(1)); + s3c_gpio_cfgpin(GTA03_GPIO_MODEN_ON, S3C_GPIO_SFN(1)); + gpio_direction_output(GTA03_GPIO_MODEN_ON, 1); gpio_direction_output(GTA03_GPIO_N_MODEM_RESET, 0); - gpio_direction_output(GTA03_GPIO_MODEN_ON, 0); - s3c_gpio_setpull(GTA03_GPIO_MODEN_ON, S3C_GPIO_PULL_NONE); - s3c_gpio_cfgpin(GTA03_GPIO_MODEN_ON, S3C_GPIO_SFN(1)); - msleep(1); + msleep(150); gpio_direction_output(GTA03_GPIO_N_MODEM_RESET, 1); + msleep(10); + /* Release GPIO1 */ + s3c_gpio_cfgpin(GTA03_GPIO_N_MODEM_RESET, S3C_GPIO_SFN(0)); + msleep(300); + gpio_direction_output(GTA03_GPIO_MODEN_ON, 1); break; case OM_GTA03_USBHOST: pcf50633_gpio_set(om_gta03_pcf, PCF50633_GPO, 1); @@ -153,9 +158,10 @@ static void om_gta03_features_pwron_set_off(enum feature feature) break; case OM_GTA03_GSM: /* remove power from WLAN / BT module */ - gpio_direction_output(GTA03_GPIO_MODEN_ON, 1); - s3c_gpio_setpull(GTA03_GPIO_MODEN_ON, S3C_GPIO_PULL_NONE); s3c_gpio_cfgpin(GTA03_GPIO_MODEN_ON, S3C_GPIO_SFN(1)); + gpio_direction_output(GTA03_GPIO_MODEN_ON, 0); + msleep(1100); + gpio_direction_output(GTA03_GPIO_MODEN_ON, 1); break; case OM_GTA03_USBHOST: pcf50633_gpio_set(om_gta03_pcf, PCF50633_GPO, 0); -- cgit v1.2.3