8.4.1 Description

The TrustZone Address Space Controller (TZC) performs security checks on transactions to DDR memory and filters bus accesses from the system bus hosts to the DDR memory controller.

A filter relates to a DDR memory controller port and a system bus port, while a region is part of the memory space.

Table 8-2. TZC Controllers
TZC ControllerTZC Filter IndexDDR Memory Controller Port IndexConnected Hosts
TZC_SYS01TZAESB, USB, ICM
TZC_SYS12DMA0, DMA1
TZC_SYS23LCDC, GPU2DC
TZC_SYS34GMAC0–1, SDMMC0–2, DMA2
TZC_CPU00CPU

The TZC is divided into two independent controllers, TZC_SYS and TZC_CPU. TZC_CPU is placed between the processor and the DDR memory controller and includes only one filter. TZC_SYS is placed between the other hosts of the system and the DDR memory controller and includes four filters.

Each TZC includes a control unit and one or more filter units.

The control unit stores the configuration while filter units perform security checks. All filters operate from one set of shared region configuration registers. This ensures consistency across all filter units.

In addition to the default base region (Region 0), the TZC creates up to eight fully programmable regions (Regions 1..8) in the DDR memory address space, each with an individual security level setting. System bus host accesses must meet the security requirements to gain access to the DDR memory. The base address, top address, enable, and security parameters for each region are configurable.

All control registers are Secure access only. The TZC returns error responses for all Non-secure accesses.

Note: Secure accesses that target reserved areas of the user interface and writes to read-only registers are ignored. The TZC does not send an error response in these cases.
Note: The notation 'TZC_nnn’ replaces the prefixes ‘TZC_SYS_’ and ‘TZC_CPU_’ when it precedes register names.