AnsweredAssumed Answered

Dumb PMIC mode and wakeable GPIO with falling edge interrupt

Question asked by Stefan Agner on Jun 6, 2016
Latest reply on Jul 12, 2016 by jamesbone



We use i.MX 7Dual with dumb PMIC to control the PMIC. We use the  SNVS_PMIC_ON_REQ signal to turn off the PMIC. This works fine until we use one of the wakeable GPIOs with a falling edge interrupt configured: The falling edge seems to cause a interrupt immediately, and waking up the PMIC again (SNVS_PMIC_ON_REQ goes high). This can be reproduced on Sabre:

  1. Enable interrupt on GPIO1_IO09
    mw.l 0x30200014 0x00000200
  2. Falling edge...
    mw.l 0x3020000c 0x000C0000
  3. Use Dumb PMIC mode to power off the SoC
    mw.l 0x30370038 0x60

At this point I would expect the SoC to stay off, but it immediately turns on again. The reason for that is that the SNVS_PMIC_ON_REQ signals goes back on again (see GPIO9_IRQ_falling_edge.png, that is the measurement on our platform, but it behaves the same on Sabre). We populated a external Pull-Up, but this seems not to alleviate the problem (see GPIO9_IRQ_falling_edge_external_pullup.png).


Is this a known problem?


A work around would be to disable all the interrupt... However, the Linux GPIO driver currently does not support such a work-around.


Best regards,