Peripheral access control

nRF54L15 | nRF54L10 | nRF54L05 Datasheet

Peripheral access control depends on the security attributes.

Peripheral security attributes are defined in the Peripheral Instantiation table as one of the following:

Always Secure (HF S)
Access to the peripheral is always restricted to secure code.
Always Non-secure (HF NS)
Access to the peripheral is always allowed from both secure and non-secure code.
User selectable (US)
The security attribute can be configured for secure or non-secure access.

The full list of peripherals and their corresponding security attributes can be found in the Instantiation table in Memory section. For each peripheral with ID n, the register PERIPH[n].PERM.SECUREMAPPING will show whether the security attribute for this peripheral is user selectable or not.

The security attribute can be configured using the register PERIPH[n].PERM.SECATTR, if user selectable.

The DMA security attribute is determined as follows:

  • If PERIPH[n].PERM.DMA is set to NoSeparateAttribute, then PERIPH[n].PERM.DMASEC cannot be configured, it has the same value as PERIPH[n].PERM.SECATTR.
  • If PERIPH[n].PERM.DMA is set to SeparateAttribute and PERIPH[n].PERM.SECATTR is set to secure, then PERIPH[n].PERM.DMASEC is configurable. It is by default set to secure.

Secure code can access both secure peripherals and non-secure peripherals.

The DMA Privilege attribute is determined as follows:

  • If PERIPH[n].PERM.DMA is set to NoSeparateAttribute, then PERIPH[n].PERM.DMAPRIVL cannot be configured, it has the same value as PERIPH[n].PERM.PRIVLATTR.
  • If PERIPH[n].PERM.DMA is set to SeparateAttribute and PERIPH[n].PERM.PRIVLATTR is set to Privileged, then PERIPH[n].PERM.DMAPRIVL is configurable. It is by default set to Privileged.