Access controls are defined by the characteristics of the peripheral.
Peripherals can have their security attribute set as one of the following:
- Always secure
- For a peripheral related to system control.
- Always non-secure
- For some general-purpose peripherals.
- Configurable
- For general-purpose peripherals that may be configured for secure only access.
The full list of peripherals and their corresponding security attributes can be found in Memory. For each peripheral with ID n, PERIPHID[n]. PERM will show whether the security attribute for this peripheral is configurable or not.
If not hardcoded, the security attribute can configured using the PERIPHID[id].PERM.
At reset, all user-selectable and split security peripherals are set to be secure with secure DMA where present.
Secure code can access both secure peripherals and non-secure peripherals.