summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorramesh.chandrasekaran <ramesh.chandrasekaran@stericsson.com>2012-06-04 17:37:00 +0800
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-06-04 19:44:10 +0800
commit0070efb0e13377b5a7d7d3c05518fafc34f58364 (patch)
treeb74afca482451e460fa98a778346f29947c2288e
parent3cf981f368061c3f7f8eafee8f52d6fd5b1adae5 (diff)
core: Fix for prcmu pending interrupt during suspendmach-plat
Signed-off-by: ramesh.chandrasekaran <ramesh.chandrasekaran@stericsson.com>
-rw-r--r--arch/arm/mach-ux500/board-mop500-pins.c30
1 files changed, 25 insertions, 5 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c
index 2b27f26af03..342954fdecf 100644
--- a/arch/arm/mach-ux500/board-mop500-pins.c
+++ b/arch/arm/mach-ux500/board-mop500-pins.c
@@ -201,6 +201,9 @@ static pin_cfg_t snowball_pins[] = {
/* MMC0: MicroSD card */
GPIO21_MC0_DAT31DIR | PIN_OUTPUT_HIGH,
+ /* USER PB pin */
+ GPIO32_GPIO | PIN_INPUT_PULLUP,
+
/* MMC2: LAN */
GPIO86_SM_ADQ0,
GPIO87_SM_ADQ1,
@@ -528,6 +531,15 @@ static pin_cfg_t mop500_pins_common_power_save_bank1[] = {
GPIO36_GPIO | PIN_SLPM_DIR_INPUT | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
};
+static pin_cfg_t mop500_pins_common_power_save_bank1_snowball[] = {
+ /*GPIO32 is used as USER_PB input in snowball*/
+ GPIO32_GPIO | PIN_SLPM_DIR_INPUT | PIN_SLPM_PDIS_ENABLED,
+ GPIO33_GPIO | PIN_SLPM_OUTPUT_LOW | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
+ GPIO34_GPIO | PIN_SLPM_DIR_INPUT | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
+ GPIO35_GPIO | PIN_SLPM_DIR_INPUT | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
+ GPIO36_GPIO | PIN_SLPM_DIR_INPUT | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
+};
+
static pin_cfg_t mop500_pins_common_power_save_bank2[] = {
GPIO64_GPIO | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
GPIO65_GPIO | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
@@ -679,7 +691,7 @@ static pin_cfg_t mop500_pins_common_power_save_bank4_snowball[] = {
GPIO138_MC2_DAT7 | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
GPIO139_GPIO | PIN_SLPM_DIR_INPUT | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
- GPIO140_GPIO | PIN_SLPM_DIR_INPUT | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
+ GPIO140_GPIO | PIN_SLPM_DIR_INPUT,
/* 141 - (RSTn_LAN) Keep this high to avoid smsc reset at suspend */
GPIO141_GPIO | PIN_SLPM_OUTPUT_HIGH | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
GPIO142_GPIO | PIN_SLPM_OUTPUT_LOW | PIN_SLPM_WAKEUP_ENABLE | PIN_SLPM_PDIS_DISABLED,
@@ -978,8 +990,12 @@ static void mop500_pins_suspend_force(void)
sleep_pins_config_pm(mop500_pins_common_power_save_bank0,
ARRAY_SIZE(mop500_pins_common_power_save_bank0));
- sleep_pins_config_pm(mop500_pins_common_power_save_bank1,
- ARRAY_SIZE(mop500_pins_common_power_save_bank1));
+ if (machine_is_snowball())
+ sleep_pins_config_pm(mop500_pins_common_power_save_bank1_snowball,
+ ARRAY_SIZE(mop500_pins_common_power_save_bank1_snowball));
+ else
+ sleep_pins_config_pm(mop500_pins_common_power_save_bank1,
+ ARRAY_SIZE(mop500_pins_common_power_save_bank1));
if (machine_is_hrefv60() || machine_is_u8520() ||
machine_is_u9540())
@@ -1048,8 +1064,12 @@ static void mop500_pins_suspend_force_mux(void)
sleep_pins_config_pm_mux(mop500_pins_common_power_save_bank0,
ARRAY_SIZE(mop500_pins_common_power_save_bank0));
- sleep_pins_config_pm_mux(mop500_pins_common_power_save_bank1,
- ARRAY_SIZE(mop500_pins_common_power_save_bank1));
+ if (machine_is_snowball())
+ sleep_pins_config_pm_mux(mop500_pins_common_power_save_bank1_snowball,
+ ARRAY_SIZE(mop500_pins_common_power_save_bank1_snowball));
+ else
+ sleep_pins_config_pm_mux(mop500_pins_common_power_save_bank1,
+ ARRAY_SIZE(mop500_pins_common_power_save_bank1));
sleep_pins_config_pm_mux(mop500_pins_common_power_save_bank2,
ARRAY_SIZE(mop500_pins_common_power_save_bank2));