From 24a1ce29a141166a6c2e69ec7c3e31848814a539 Mon Sep 17 00:00:00 2001 From: Benoit Goby Date: Mon, 18 Jul 2011 14:48:15 -0700 Subject: OMAP4: HSI: fix hsi IO wakeup missed events HSI tasklet was not scheduled if CAWAKE is detected when L3INIT_PD is OFF or RET. Change-Id: I9c71d7fa417e5076bb6c0ac93068f3b1566e9eec Signed-off-by: Djamil Elaidi --- arch/arm/mach-omap2/pm44xx.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'arch/arm/mach-omap2/pm44xx.c') diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c index 368bf59..9203f27 100644 --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -522,15 +523,8 @@ static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id) /* Check if a IO_ST interrupt */ if (irqstatus_mpu & OMAP4430_IO_ST_MASK) { /* Check if HSI caused the IO wakeup */ - #define CA_WAKE_MUX_REG (0x4a1000C2) - #define CM_L3INIT_HSI_CLKCTRL (0x4a009338) - #define HSI_SYSCONFIG (0x4a058010) - if (omap_readw(CA_WAKE_MUX_REG) & (1<<15)) { - /* Enable HSI module */ - omap_writel(omap_readl(CM_L3INIT_HSI_CLKCTRL) | 0x1, CM_L3INIT_HSI_CLKCTRL); - /* Put HSI in: No-standby and No-idle */ - omap_writel( (1<<3) | (1<<12), HSI_SYSCONFIG); - } + if (omap_hsi_is_io_wakeup_from_hsi()) + omap_hsi_wakeup(0); omap_uart_resume_idle(); usbhs_wakeup(); omap4_trigger_ioctrl(); -- cgit v1.1