Port event

nRF54LV10A Preliminary Datasheet

PORT is an event that can be generated from multiple input pins using the GPIO DETECT signal.

The event will be generated on the rising edge of the DETECT signal. See GPIO — General purpose input/output for more information about the DETECT signal.

There are two DETECT signals that come from the GPIO peripheral , the secure DETECT_SEC for pins marked as secure and the non-secure DETECT_NONSEC. Each signal has a corresponding port event, EVENTS_PORT[n].SECURE and EVENTS_PORT[n].NONSECURE. Secure events are not accessible from the non-secure side.

The GPIO DETECT signal will not wake the system up again if the system is put into System ON IDLE while the DETECT signal is high. Make sure to clear all DETECT sources before entering sleep. If the LATCH register is used as a source, a new rising edge will be generated on DETECT if any bit in LATCH is still high after clearing all or part of the register. This could occur if one of the PINx.DETECT signals is still high, for example. See Pin sense mechanism for more information.

Setting the system to System OFF while DETECT is high will cause a wakeup from System OFF reset.

This feature can be used to wake up the CPU from a WFI or WFE type sleep in System ON when all peripherals and the CPU are idle, meaning the lowest power consumption in System ON mode.

In order to prevent spurious interrupts from the PORT event while configuring the sources, the following must be performed:
  1. Disable interrupts on the PORT event (through INTENCLR.PORT).
  2. Configure the sources (PIN_CNF[n].SENSE in GPIO).
  3. Clear any potential event that could have occurred during configuration (write '0' to EVENTS_PORT).
  4. Enable interrupts (through INTENSET.PORT).