Samuel Holland | 7438320 | 2017-08-12 04:07:39 -0500 | [diff] [blame] | 1 | Trusted Firmware-A for Allwinner ARMv8 SoCs |
| 2 | =========================================== |
| 3 | |
| 4 | Trusted Firmware-A (TF-A) implements the EL3 firmware layer for Allwinner |
| 5 | SoCs with ARMv8 cores. Only BL31 is used to provide proper EL3 setup and |
| 6 | PSCI runtime services. |
Andre Przywara | 4416ba8 | 2018-06-22 00:33:28 +0100 | [diff] [blame^] | 7 | |
Samuel Holland | 7438320 | 2017-08-12 04:07:39 -0500 | [diff] [blame] | 8 | U-Boot's SPL acts as a loader, loading both BL31 and BL33 (typically U-Boot). |
| 9 | Loading is done from SD card, eMMC or SPI flash, also via an USB debug |
| 10 | interface (FEL). |
Andre Przywara | 4416ba8 | 2018-06-22 00:33:28 +0100 | [diff] [blame^] | 11 | |
Samuel Holland | 7438320 | 2017-08-12 04:07:39 -0500 | [diff] [blame] | 12 | BL31 lives in SRAM A2, which is documented to be accessible from secure |
| 13 | world only. |
| 14 | |
| 15 | Current limitations: |
| 16 | |
| 17 | - Missing PMIC support |
| 18 | |
| 19 | After building bl31.bin, the binary must be fed to the U-Boot build system |
| 20 | to include it in the FIT image that the SPL loader will process. |
| 21 | bl31.bin can be either copied (or sym-linked) into U-Boot's root directory, |
| 22 | or the environment variable BL31 must contain the binary's path. |
| 23 | See the respective `U-Boot documentation`_ for more details. |
| 24 | |
| 25 | To 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 Tomar | 2f37224 | 2018-06-20 00:44:50 +0530 | [diff] [blame] | 32 | |
| 33 | Trusted OS dispatcher |
| 34 | ===================== |
| 35 | |
| 36 | One can boot Trusted OS(OP-TEE OS, bl32 image) along side bl31 image on Allwinner A64. |
| 37 | |
| 38 | In order to include the 'opteed' dispatcher in the image, pass 'SPD=opteed' on the command line |
| 39 | while compiling the bl31 image and make sure the loader (SPL) loads the Trusted OS binary to |
| 40 | the beginning of DRAM (0x40000000). |
| 41 | |