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