[PATCH 1/1] doc: describe TPL/VPL/SPL boot
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Wed Aug 23 22:32:18 CEST 2023
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.
More information about the U-Boot
mailing list