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