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