> 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 <lu...@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: sba...@denx.de =====================================================================