This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

GPIO Interrupts during Idle

Other Parts Discussed in Thread: SYSCONFIG

I have been struggling for a while now trying to solve a problem with wakeup for the OMAP35x during idle mode.  I see that an IRQ is generated from GPIO_4 during normal operation.  However, when in idle mode GPIO_4 will not generate a wake event.

To try and debug the issue, directly before the call to idel, I placed some debug to ensure my wakeup/IRQ settings are what I think they should be:

ICL_MIR 1:0          :  FFFFFF9D:DDFFE7FF  (this shows that gpio banks 1 and 5 (irq 29 and 33), are unmasked in the INTC controller)

GPIO1_SYSCONFIG      : 0x00000015 (showing ENAWAKEUP is enabled for this gpio bank)
GPIO1_IRQEN          : 0x00000010 (confirming GPIO_4 is set up for irq)
GPIO1_WAKEUPEN       : 0x00000010  (confirming GPIO_4 is set up for wakeupen)

I also print the same for my touchscreen pen_irq (GPIO_153) - which does wake up the cpu from idle:

GPIO5_SYSCONFIG      : 0x00000015
GPIO5_IRQEN          : 0x02000000
GPIO5_WAKEUPEN       : 0x02000000

---
So far I think this validates everything that is required from the GPIO module.  My thought is that since the GPIO bank 1 is via the WKUP interconnect, and GPIO bank 2-6 is via the PER, there is a PRCM dependency on why GPIO banks 2-6 can wake me up from idle, but none of my GPIO bank 1 irqs are waking us up.

For reference I have also dumped the PRCM CM/PRM registers for the WKUP domain:

CM_FCLKEN_WKUP         : 0x000002c9
CM_ICLKEN_WKUP         : 0x0000021f
CM_IDLEST_WKUP         : 0x00000020
CM_AUTOIDLE_WKUP       : 0x0000003f
CM_CLKSEL_WKUP         : 0x00000015
PM_WKEN_WKUP           : 0x0000030b  (GPIObank1 wake event enabled)
PM_MPUGRPSEL_WKUP      : 0x000003cb
PM_IVA2GRPSEL_WKUP     : 0x00000000
PM_WKST_WKUP           : 0x00000000

 

I don't know what else to look into.  Any ideas or help would be greatly appreciated!

thanks,

Curt