[U-Boot-Custodians] SPL / TPL

Wolfgang Denk wd at denx.de
Thu Oct 10 07:40:13 UTC 2019

Dear Masahiro,

In message <CAK7LNAR45-6SEAeGyjT8o5jP=6iNcSP=A4pW2rQV9V_JfGTi0w at mail.gmail.com> you wrote:
> This discussion started from this patch:
> https://patchwork.ozlabs.org/patch/662396/
> It happened before the rockchip stuff.

Yes, thanks for the link. Apparently I missed that discussion then :-(

I still cannot see where this thinking that "SPL is big and has all
features" and "TPL is small" is coming from.  If someone has
implemented it in this way, then he did a major mistake.

The SPL ('S' as in second) is by definition that code which gets
started by the ROM Boot loader.  THis can be small or large, have
minimal features or many - this depends on the project requitements
and the platform capabilities.  On some platforms we may see sizes
close to 128 kB, on others just 4 kB.  This size limitation
determines which features can be included into the SPL; for small
sizes there may be restrictions - in a 4 kB SPL there will be no
support for DM or DT, most likely not for a serial console.

If the available size is big enough to include all features we need
to load U-Boot proper (or, in case of Falcon boot, the Linux kernel
+ DT), that that's it.  If it is too small, then we need a third
boot stage: TPL (with 'T' as in third).

I have hard times to understand how the idea could come up to do it

Best regards,

Wolfgang Denk

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A bore is someone who persists in holding his own views after we have
enlightened him with ours.

More information about the U-Boot-Custodians mailing list