msm: charm: Wakeup charm when shutting down
When calling the shutdown routine, it is necessary to wake
up the 9k before setting AP2MDM_STATUS. This guarantees the
9k will be able to respond to the status change
CRs-Fixed: 295639
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
diff --git a/arch/arm/mach-msm/mdm.c b/arch/arm/mach-msm/mdm.c
index 3e29c2f..61c4195 100644
--- a/arch/arm/mach-msm/mdm.c
+++ b/arch/arm/mach-msm/mdm.c
@@ -316,9 +316,11 @@
gpio_request(AP2MDM_PMIC_RESET_N, "AP2MDM_PMIC_RESET_N");
gpio_request(MDM2AP_STATUS, "MDM2AP_STATUS");
gpio_request(MDM2AP_ERRFATAL, "MDM2AP_ERRFATAL");
+ gpio_request(AP2MDM_WAKEUP, "AP2MDM_WAKEUP");
gpio_direction_output(AP2MDM_STATUS, 1);
gpio_direction_output(AP2MDM_ERRFATAL, 0);
+ gpio_direction_output(AP2MDM_WAKEUP, 0);
gpio_direction_input(MDM2AP_STATUS);
gpio_direction_input(MDM2AP_ERRFATAL);
@@ -421,6 +423,7 @@
charm_disable_irqs();
gpio_set_value(AP2MDM_STATUS, 0);
+ gpio_set_value(AP2MDM_WAKEUP, 1);
for (i = CHARM_MODEM_TIMEOUT; i > 0; i -= CHARM_MODEM_DELTA) {
pet_watchdog();
@@ -439,6 +442,7 @@
}
gpio_direction_output(AP2MDM_PMIC_RESET_N, 0);
}
+ gpio_set_value(AP2MDM_WAKEUP, 0);
}
static struct platform_driver charm_modem_driver = {