GPIOTE

nRF54L15 | nRF54L10 | nRF54L05 Datasheet

Individual GPIOTE channels and interrupts can have independent security settings and are defined as secure or non-secure.

GPIOTE channels

GPIOTE channel security is configured using FEATURE.GPIOTE[n].CH[o] (n=0..1) (o=0..7).

A GPIOTE channel configured as secure can only be used by secure code to send tasks and receive events. A GPIOTE channel configured as non-secure can be used by both secure and non-secure code to send tasks and receive events.

GPIOTE channel tasks and events can be configured with a specific GPIO pin.
  • A secure GPIOTE channel can be configured with both secure and non-secure GPIO pins
  • A non-secure GPIOTE channel can only be configured with non-secure GPIO pins
See CONFIG[n].PSEL and CONFIG[n].PORT registers for more information.

GPIOTE channels that are not configured as described will not write to the pin when triggering the SET[n], CLR[n], and OUT[n] tasks, and will not generate the IN[n] event with changes in the pin polarity.

A GPIOTE channel n configured as secure has the following properties only during secure code execution:
  • Trigger SET[n], CLR[n], and OUT[n] tasks
  • Generate IN[n] events
  • Access to the corresponding CONFIG[n] register
A GPIOTE channel n configured as non-secure has the following properties during both secure and non-secure code execution:
  • Trigger SET[n], CLR[n], and OUT[n] tasks
  • Generate IN[n] events
  • Access to the corresponding CONFIG[n] register

A security fault is triggered when there is an access violation when accessing registers TASKS_SET[n], TASKS_CLR[n], TASKS_OUT[n], EVENTS_IN[n], or CONFIG[n].

GPIOTE channels can connect to PPI channels in order to send and receive events from other peripherals. GPIOTE channels can only publish or subscribe from DPPI channels that have the correct security attribute. An attempt to subscribe or publish on a DPPI channel configured as secure by a non-secure GPIOTE channel is ignored. A secure GPIOTE channel can subscribe or publish to both secure and non-secure DPPI channels.

GPIOTE interrupts

The security of the GPIOTE interrupt is configured using FEATURE.GPIOTE[n].INTERRUPT[o] (n=0..1) (o=0..7).

A secure fault is triggered when non-secure code attempts to access registers INTENSET/INTENCLR on a secure GPIOTE interrupt.

GPIOTE interrupt i can only be generated by IN[j] event if interrupt i and channel j have the correct security attribute.

A secure GPIOTE interrupt can be triggered by an event generated by a secure and non-secure GPIOTE channel.

A non-secure GPIOTE interrupt can only be triggered by an event generated by non-secure GPIOTE channel.