diff options
Diffstat (limited to 'arch/arm/mach-ux500')
-rwxr-xr-x | arch/arm/mach-ux500/board-mop500.c | 4 | ||||
-rwxr-xr-x | arch/arm/mach-ux500/pm.c | 19 |
2 files changed, 13 insertions, 10 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index 5135969510f..e8147642177 100755 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c @@ -1386,6 +1386,10 @@ static void __init mop500_init_machine(void) platform_add_devices(u8500_platform_devices, ARRAY_SIZE(u8500_platform_devices)); + + /* enable the STMPE as wakeup capable in deepsleep */ + set_irq_type(stmpe1601_data.irq, IRQ_TYPE_EDGE_BOTH); + set_irq_wake(stmpe1601_data.irq, true); } static int __init u8500_i2call_init(void) diff --git a/arch/arm/mach-ux500/pm.c b/arch/arm/mach-ux500/pm.c index 7ac13b70233..8974f5daa81 100755 --- a/arch/arm/mach-ux500/pm.c +++ b/arch/arm/mach-ux500/pm.c @@ -730,16 +730,6 @@ static int u8500_pm_enter(suspend_state_t state) break; case PM_SUSPEND_MEM: - - /* ROM code addresses to store backup contents */ - /* pass the physical address of back up to ROM code */ - writel(virt_to_phys(ux500_backup_ptr), - IO_ADDRESS(U8500_EXT_BACKUPRAM_ADDR)); - writel(IO_ADDRESS(U8500_BACKUPRAM0_BASE), - IO_ADDRESS(U8500_CPU0_PUBLIC_BACKUP)); - writel(IO_ADDRESS(U8500_BACKUPRAM0_BASE), - IO_ADDRESS(U8500_CPU1_PUBLIC_BACKUP)); - /* core context to be saved */ ux500_save_core_context(); @@ -849,6 +839,15 @@ static int __init u8500_pm_init(void) return -ENOMEM; } + /* ROM code addresses to store backup contents */ + /* pass the physical address of back up to ROM code */ + writel(virt_to_phys(ux500_backup_ptr), + IO_ADDRESS(U8500_EXT_BACKUPRAM_ADDR)); + writel(IO_ADDRESS(U8500_BACKUPRAM0_BASE), + IO_ADDRESS(U8500_CPU0_PUBLIC_BACKUP)); + writel(IO_ADDRESS(U8500_BACKUPRAM0_BASE), + IO_ADDRESS(U8500_CPU1_PUBLIC_BACKUP)); + /* register the global power off hook */ pm_power_off = u8500_pm_poweroff; |