8.4.3.3 Exceptions

Not all bits are coded. In several cases, the peripheral security access is not controlled through the TZPM: Always Secure IDs, TZC-400 protected IDs, specific IPs (secure DMA, OTP).

For some peripherals, the bit index controlling the access permission differs from the peripheral ID. This is the case when several peripherals share a common security bit:

  • CSI, CSI2DC and ISC permissions are controlled by the bit index ID_ISC.
  • DDRPUBL and DDRUMCTL permissions are controlled by the bit index ID_DDRPUBL.

Some peripheral IDs do not correspond to a peripheral user interface but only to an interrupt (ex: ID_AES_SINT). In this case, the security bit is read-only and generally equal to zero except when the associated interrupt targets only the Non-secure world. Note that the security bit value should be considered as don't-care for interrupt-only IDs.

Some peripheral IDs are not assigned to any functionality (“reserved”). The corresponding security bit is 0 (don't care), read-only.

ID_TZAESB_NS is the only programmable-secure peripheral with value 1 (not secure) after reset.

ID_UHPHS is the only programmable-secure peripheral with user interface security controlled by HMatrix programming. The corresponding TZPM bit only controls the security of USB host ports, due to the fact that the USB Host is a native AHB peripheral and is plugged directly on HMatrix (not plugged on an HBridge).