Sunxi (pine64-lts) SPL load BL32
Andre Przywara
andre.przywara at arm.com
Sat Dec 21 01:19:23 CET 2019
Hi Adam,
> I am attempting to boot the Pine64-lts with a Trusted OS. In the ARM-TF
> documentation it states "make sure the loader (SPL) loads the Trusted OS
> binary to the beginning of DRAM (0x40000000)." I have yet to find a
> mechanism by which U-Boot's SPL for this platform can be configured to do
> this. Any help would be appreciated.
It can't be easily "configured" officially, as I am not sure what would
be the proper and canonical way here.
Apart from the FEL boot hack that Amit mentioned the best way to achieve
this is to add a secure payload to the FIT image, by using a custom .its
file:
- Compile U-Boot normally, that should produce a u-boot.its file.
- Edit this file to add a node for your BL32 to the /images node:
bl32 {
description = "Secure payload";
data = /incbin/("bl32.bin");
type = "firmware";
arch = "arm64";
compression = "none";
load = <0x40000000>;
};
- Reference this node in the config_1 node below:
...
loadables = "atf", "bl32";
...
- Then recreate u-boot.itb:
./tools/mkimage -E -f u-boot.its -p 0x0 u-boot.itb
u-boot.its will be overwritten by every call to make, so take care.
The .itb file is the FIT image that goes behind the SPL on the SD
card/eMMC/SPI flash.
You can cat together spl/sunxi-spl.bin and u-boot.itb to create the final
u-boot-sunxi-with-spl.bin image.
Good luck!
Cheers,
Andre.
More information about the U-Boot
mailing list