
On 8/23/23 22:14, Pali Rohár wrote:
On Wednesday 23 August 2023 21:57:28 Heinrich Schuchardt wrote:
+Booting from TPL/SPL +====================
+The main U-Boot binary may be to large to be loaded directly by the Boot ROM. +This was the main driver for splitting up U-Boot into multiple boot stages with +successively larger binaries.
+U-Boot typically goes through the following boot phases where TPL, VPL, and SPL +are optional. While many boards use SPL only few use TPL.
+TPL
- Very early init, as tiny as possible. This loads SPL (or VPL if enabled).
This is not truth. SPL loads TPL. Or at least it was about year ago for powerpc plat.
Thanks for reviewing.
Cf. doc/arch/sandbox/sandbox.rst
For roc-cc-rk3328_defconfig TPL is much smaller than SPL:
78224 spl/u-boot-spl-nodtb.bin 20744 tpl/u-boot-tpl-nodtb.bin
For P2020RDB-PC_NAND_defconfig SPL is much smaller than TPL:
63624 tpl/u-boot-tpl-nodtb.bin 4096 spl/u-boot-spl-nodtb.bin
If some boards are running TPL->SPL and others SPL->TPL, we really have a naming convention issue. We cannot expect any user to understand such a confusion.
Looking at the MAINTAINER file it seems that POWERPC should be set to orphaned.
Best regards
Heinrich
+VPL
- Optional verification step, which can select one of several SPL binaries,
- if A/B verified boot is enabled. Implementation of the VPL logic is
- work-in-progress. For now it just boots into SPL.
+SPL
- Secondary program loader. Sets up SDRAM and loads U-Boot proper. It may also
- load other firmware components.
SPL initializes NAND then loads TPL from NAND, TPL initialize DDR and then loads U-Boot.