]> git.dujemihanovic.xyz Git - u-boot.git/commit
vexpress64: fvp: enable OF_CONTROL
authorAndre Przywara <andre.przywara@arm.com>
Fri, 4 Mar 2022 16:30:11 +0000 (16:30 +0000)
committerTom Rini <trini@konsulko.com>
Fri, 1 Apr 2022 18:55:38 +0000 (14:55 -0400)
commitc0fce929564f996f6f21418827c48519eb79d1b6
tree6170d97b72a1e2d7b37144f1ec98d1dc4854c0a6
parent71fa41ebfc3f247f5f2654045713242830fde471
vexpress64: fvp: enable OF_CONTROL

The FVP base model is relying on a DT for Linux operation, so there is
no reason we would need to rely on hardcoded information for U-Boot.
Letting U-Boot use a DT will open up the usage of actual peripherals,
beyond the support for semihosting only.

Enable OF_CONTROL in the Kconfig, and use the latest dts files from
Linux. Depending on whether we use the boot-wrapper or TF-A, there is
already a DTB provided or not, respectively.

To cover the boot-wrapper, we add an arm64 Linux kernel header, which
allows the boot-wrapper to treat U-Boot like a Linux kernel. U-Boot will
find the pointer to the DTB in x0, and will use it.

Even though TF-A carries a DT, at the moment this is not made available
to non-secure world, so to not break users, we use the U-Boot provided
DTB copy in that case. For some reason TF-A puts some DT like structure
at the address x0 is pointing at, but that is very small and doesn't
carry any hardware information. Make the code to ignore those small DTBs.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
arch/arm/Kconfig
arch/arm/dts/Makefile
board/armltd/vexpress64/Kconfig
board/armltd/vexpress64/vexpress64.c
configs/vexpress_aemv8a_semi_defconfig