blob: 825fded48eb68c61c79ec570ec6bca48f9ef58b2 [file] [log] [blame]
Samuel Holland74383202017-08-12 04:07:39 -05001Trusted Firmware-A for Allwinner ARMv8 SoCs
2===========================================
3
4Trusted Firmware-A (TF-A) implements the EL3 firmware layer for Allwinner
5SoCs with ARMv8 cores. Only BL31 is used to provide proper EL3 setup and
6PSCI runtime services.
Andre Przywara4416ba82018-06-22 00:33:28 +01007
Samuel Holland74383202017-08-12 04:07:39 -05008U-Boot's SPL acts as a loader, loading both BL31 and BL33 (typically U-Boot).
9Loading is done from SD card, eMMC or SPI flash, also via an USB debug
10interface (FEL).
Andre Przywara4416ba82018-06-22 00:33:28 +010011
Samuel Holland74383202017-08-12 04:07:39 -050012BL31 lives in SRAM A2, which is documented to be accessible from secure
13world only.
14
15Current limitations:
16
17- Missing PMIC support
18
19After building bl31.bin, the binary must be fed to the U-Boot build system
20to include it in the FIT image that the SPL loader will process.
21bl31.bin can be either copied (or sym-linked) into U-Boot's root directory,
22or the environment variable BL31 must contain the binary's path.
23See the respective `U-Boot documentation`_ for more details.
24
25To build:
26
27::
28
29 make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_a64 DEBUG=1 bl31
30
31.. _U-Boot documentation: http://git.denx.de/?p=u-boot.git;f=board/sunxi/README.sunxi64;hb=HEAD
Amit Singh Tomar2f372242018-06-20 00:44:50 +053032
33Trusted OS dispatcher
34=====================
35
36One can boot Trusted OS(OP-TEE OS, bl32 image) along side bl31 image on Allwinner A64.
37
38In order to include the 'opteed' dispatcher in the image, pass 'SPD=opteed' on the command line
39while compiling the bl31 image and make sure the loader (SPL) loads the Trusted OS binary to
40the beginning of DRAM (0x40000000).
41