1*4882a593SmuzhiyunFreescale ARM64 SoCs like LS2080A have ARM TrustZone components like 2*4882a593SmuzhiyunTZPC-BP147 (TrustZone Protection Controller) and TZASC-400 (TrustZone 3*4882a593SmuzhiyunAddress Space Controller). 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunWhile most of the configuration related programming of these peripherals 6*4882a593Smuzhiyunis left to a root-of-trust security software layer (running in EL3 7*4882a593Smuzhiyunprivilege mode), but still some configurations of these peripherals 8*4882a593Smuzhiyunmight be required while the bootloader is executing in EL3 privilege 9*4882a593Smuzhiyunmode. The following sections define how to turn on these features for 10*4882a593SmuzhiyunLS2080A like SoCs. 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunTZPC-BP147 (TrustZone Protection Controller) 13*4882a593Smuzhiyun============================================ 14*4882a593Smuzhiyun- Depends on CONFIG_FSL_TZPC_BP147 configuration flag. 15*4882a593Smuzhiyun- Separates Secure World and Normal World on-chip RAM (OCRAM) spaces. 16*4882a593Smuzhiyun- Provides a programming model to set access control policy via the TZPC 17*4882a593Smuzhiyun TZDECPROT Registers. 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunTZASC-400 (TrustZone Address Space Controller) 20*4882a593Smuzhiyun============================================== 21*4882a593Smuzhiyun- Depends on CONFIG_FSL_TZASC_400 configuration flag. 22*4882a593Smuzhiyun- Separates Secure World and Normal World external memory spaces for bus masters 23*4882a593Smuzhiyun such as processors and DMA-equipped peripherals. 24*4882a593Smuzhiyun- Supports 8 fully programmable address regions, initially inactive at reset, 25*4882a593Smuzhiyun and one base region, always active, that covers the remaining address space. 26