Trusted Firmware for Cortex-A (TF-A) is an implementation of EL3 secure firmware. TF-A replaces PPA in secure firmware role.
Please note the steps listed in this topic can only be performed with LSDK 18.12 and newer releases.
To migrate to the TF-A boot flow from the previous boot flow (with PPA), you need to compile the TF-A binaries, bl2_<boot_mode>.pbl and fip.bin, and flash these binaries on the specific boot medium on the board.
For NOR boot, you need to compile the following TF-A binaries.
|TF-A binary name
Follow these steps to compile and deploy TF-A binaries (bl2_nor.pbl and fip.bin) on the NOR flash.
You need to compile the rcw_1600.bin binary to build the bl2_nor.pbl binary.
Clone the rcw repository and compile the PBL binary.
The compiled PBL binary for NOR boot on LS1043ARDB, rcw_1600.bin, is available at rcw/ls1043ardb/RR_FQPP_1455/.
See the rcw/ls1043ardb/README file for an explanation of the naming convention for the directories that contain the RCW source and binary files.
If the make command shows the error "*** Your GCC is older than 6.0 and is not supported", ensure that you are using Ubuntu 18.04 64-bit version for building the LSDK 18.12 U-Boot binary.
Clone the atf repository and compile the TF-A binaries, bl2_nor.pbl and fip.bin.
The compiled BL2 images, bl2.bin and bl2_nor.pbl are available at atf/build/ls1043ardb/release/.For any update in the BL2 source code or RCW binary, the bl2_nor.pbl binary needs to be recompiled.
To compile the BL2 binary without OPTEE:
$ make PLAT=ls1043ardb bl2 BOOT_MODE=nor pbl RCW=<path_to_rcw_binary>/rcw_1600.bin
The compiled BL31 and FIP binaries, bl31.bin, fip.bin, are available at atf/build/ls1043ardb/release/.For any update in the BL31, BL32, or BL33 binaries, the fip.bin binary needs to be recompiled.
To compile the FIP binary without OPTEE and without trusted board boot:
$ make PLAT=ls1043ardb fip BOOT_MODE=nor BL33=<path_to_u-boot_binary>/u-boot.bin
To compile the FIP binary with trusted board boot, refer the read me at <atf repository>/plat/nxp/README.TRUSTED_BOOT
For details about the flash image layout for TF-A binaries, refer LSDK memory layout for TF-A boot flow.