[PATCH] spl: Provide more space to be used for storing SPL on imx28 OCRAM

sbabic at denx.de sbabic at denx.de
Sat Feb 5 17:40:08 CET 2022

> With the current configuration provided in mxsimage{-spl}.mx28.cfg the
> size of SPL binary has been constrained to 32 KiB, due to "LOAD IVT"
> command with 0x8000 offset.
> The problem was that, the imx28 ROM takes the u-boot.sb and then
> extracts from it the IVT header and places it on the 0x8000 OCRAM offset
> overwriting any valid (i.e. loaded from eMMC or SPI-NOR) SPL code. This
> bug was unnoticed as the overwrite size was just 32 bytes, so the
> probability that some important code is altered was low.
> However, in the XEA board (where the SPL size is ~39KiB), the overwritten
> data was `(struct dm_spi_ops *) 0x800c <mxs_spi_ops>`, which is used
> during the boot process.
> As a result the SPL execution code hanged with "undefined instruction"
> abort as callbacks (with wrong addresses) from it were called.
> The fix is to change the OCRAM's offset where IVT is loaded to 0xE000,
> so the SPL can grow up to ~57KiB (the maximal size of OCRAM memory
> available is 0xE3FC).
> Signed-off-by: Lukasz Majewski <lukma at denx.de>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de

More information about the U-Boot mailing list