
Hi Marek, Pali,
On Thu, Jul 08 2021, Marek Behún wrote:
From: Pali Rohár pali@kernel.org
Now that proper load and execution addresses are set in v1 kwbimage, we can use BootROM to continue loading main U-Boot binary instead of U-Boot's SPL code.
This also reduces the size of U-Boot's SPL image.
The v1 kwbimage contains two separate executable parts: DDR training code (contains SPL) and bootloader (contains main U-Boot). BootROM first loads the first part, executes it and expects that the code returns back. Afterwards it loads the second part and executes it.
The current SPL code (used for the first part) for non-UART/NAND boots never returns back to BootROM and loads main U-Boot from external storage itself, and it lets BootROM think that it is still executing the first part - DDR training code.
With this change the SPL always returns execution back to BootROM and lets BootROM to load and execute U-Boot, like it was already done when booting from UART and NAND.
Note that the config options CONFIG_SPL_SPI_FLASH_SUPPORT, CONFIG_SPL_SPI_LOAD and CONFIG_SPL_SPI_SUPPORT needs to be enabled as config option CONFIG_SYS_U_BOOT_OFFS (used by kwbimage) depends on it.
I think it's worth noting here that a subsequent commit will remove both.
baruch