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||Components|
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_1800.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 LS2088ARDB, rcw_1800.bin, is available at rcw/ls2088ardb/FFFFFFFF_PP_HH_0x2a_0x41
See the rcw/ls2088ardb/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 and onwards 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/ls2088ardb/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=ls2088ardb bl2 BOOT_MODE=nor pbl RCW=<path_to_rcw_binary>/rcw_1800.bin
The compiled BL31 and FIP binaries, bl31.bin, fip.bin, are available at atf/build/ls2088ardb/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=ls2088ardb 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
TF-A binaries can be loaded to LS2088ARDB from a TFTP server or from a mass storage device (SD, USB, or SATA).
For details about the flash image layout for TF-A binaries, refer LSDK memory layout for TF-A boot flow.