Dumb PMIC mode and wakeable GPIO with falling edge interrupt

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Dumb PMIC mode and wakeable GPIO with falling edge interrupt

1,245件の閲覧回数
falstaff
Senior Contributor I

Hi,

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,

Stefan

ラベル(4)
タグ(3)
0 件の賞賛
返信
1 返信

848件の閲覧回数
jamesbone
NXP TechSupport
NXP TechSupport

It seems that you are having a false detect in the Interrupt module,  you can try to do the configuration in this way

  1. Falling Edge .....
    mw.l 0x3020000c 0x000C0000
  2. Enable interrupt on GPIO1_IO09
    mw.l 0x30200014 0x00000200
  3. Use Dumb PMIC mode to power off the SoC
    mw.l 0x30370038 0x60
0 件の賞賛
返信