xref: /rk3399_ARM-atf/docs/plat/allwinner.rst (revision 2dde1f51493a252184807bd8f71a4d7058ea9178)
1Trusted 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.
7
8U-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).
11
12BL31 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
32
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
42