fsl-ch3/lowlevel: TZPC and TZASC programming to configure non-secure accesses
[platform/kernel/u-boot.git] / doc / README.fsl-trustzone-components
1 Freescale ARM64 SoCs like LS2085A have ARM TrustZone components like
2 TZPC-BP147 (TrustZone Protection Controller) and TZASC-400 (TrustZone
3 Address Space Controller).
4
5 While most of the configuration related programming of these peripherals
6 is left to a root-of-trust security software layer (running in EL3
7 privilege mode), but still some configurations of these peripherals
8 might be required while the bootloader is executing in EL3 privilege
9 mode. The following sections define how to turn on these features for
10 LS2085A like SoCs.
11
12 TZPC-BP147 (TrustZone Protection Controller)
13 ============================================
14 - Depends on CONFIG_FSL_TZPC_BP147 configuration flag.
15 - Separates Secure World and Normal World on-chip RAM (OCRAM) spaces.
16 - Provides a programming model to set access control policy via the TZPC
17   TZDECPROT Registers.
18
19 TZASC-400 (TrustZone Address Space Controller)
20 ==============================================
21 - Depends on CONFIG_FSL_TZASC_400 configuration flag.
22 - Separates Secure World and Normal World external memory spaces for bus masters
23   such as processors and DMA-equipped peripherals.
24 - Supports 8 fully programmable address regions, initially inactive at reset,
25   and one base region, always active, that covers the remaining address space.