Trusted Firmware for Cortex-A (TF-A) is an implementation of EL3 secure firmware. TF-A replaces PPA in secure firmware role.
In LS2088ARDB, Boot option switching between parallel NOR boot and QSPI NOR boot cannot be performed using commands. Boot option switching can be done by adjusting DIP switch settings and jumper settings on the Reference Design Board. For details, see Layerscape Software Development Kit User Guide.
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 QSPI NOR flash 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_qspi.pbl and fip.bin) in QSPI NOR flash.
You need to compile the rcw_2000_qspi.bin binary to build the bl2_qspi.pbl binary.
Clone the rcw repository and compile the PBL binary.
The compiled PBL binary for QSPI NOR flash on LS2088ARDB, rcw_2000_qspi.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.
You need to compile the u-boot.bin binary to build the fip.bin binary.
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 LSDK 18.12 and onwards U-Boot binary.
Clone the atf repository and compile the TF-A binaries, bl2_qspi.pbl and fip.bin.
The compiled BL2 binaries, bl2.bin and bl2_qspi.pbl are available at atf/build/ls2088ardb/release/.For any update in the BL2 source code or RCW binary, the bl2_qspi.pbl binary needs to be recompiled.
To compile the BL2 binary without OPTEE:
make PLAT=ls2088ardb bl2 BOOT_MODE=qspi pbl RCW=<path_to_rcw_binary>/rcw_2000_qspi.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=sd 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).
DPMAC1@xgmii, DPMAC2@xgmii, DPMAC3@xgmii, DPMAC4@xgmii, DPMAC5@xgmii, DPMAC6@xgmii, DPMAC7@xgmii, DPMAC8@xgmii
For details about the flash image layout for TF-A binaries, refer LSDK memory layout for TF-A boot flow.