[155] GPIOTE: IN event may occur more than once on input edge

This anomaly applies to IC Rev. Rev 1, build codes QIAA-Cx0, CKAA-Cx0.

It was inherited from the previous IC revision Engineering C nRF52840.


IN event occurs more than once on an input edge.


Input signal edges are closer together than 1.3 µs or >= 750 kHz for a periodic signal.


Tasks connected through PPI or SHORTS to this event might be triggered twice.


Apply the following code when any GPIOTE channel is configured to generate an IN event on edges that can occur within 1.3 µs of each other:

*(volatile uint32_t *)(NRF_GPIOTE_BASE + 0x600 + (4 * GPIOTE_CH_USED)) = 1;
Important: A clock is kept on by the workaround and must be reverted to avoid higher current consumption when GPIOTE is not in use, using the following code:

*(volatile uint32_t *)(NRF_GPIOTE_BASE + 0x600 + (4 * GPIOTE_CH_USED)) = 0;