[U-Boot] [PATCH] arm: vf610: fix boot from SD-card

Bill Pringlemeir bpringlemeir at nbsps.com
Thu Jan 8 19:29:44 CET 2015


On  8 Jan 2015, stefan at agner.ch wrote:

> Boot from SD-card (and probably also from NAND) was broken since
> commit d6d07a9bec ("arm: vf610: add NAND support for vf610twr").

It was broke before that when fsl_qspi was added?  Or at least that also
added a lot of code.  It maybe dependant on the compiler (and hence
binary size).

> It looks like the increased size of U-Boot lead to a situation where
> the boot ROM overwrote its own stack/heap while loading U-Boot from
> the SD-card to the SRAM.

I didn't think of this.  That is a possibility.

> However, U-Boot worked fine when loaded through USB serial loader
> directly into SRAM. It looks like loading from SD-card uses other
> stack/heap location then the serial loader (or maybe no stack or heap
> at all).

I have tried various u-boot images with git-bisect.  For instance when
the QSPI was added, I had issues.  It seems that an image near 220k was
a threshold.  The offset in the On-chip SRAM is 0x8000 (from the 'ld'
file) and the imximage prints '3f008000'. So, I think that the offset
takes the breaking point to where we cross from OC-SRAM0 to OC-SRAM1; I
guess a stack maybe located here but it must be fairly small.  I thought
that maybe the HAB has a mapping of device memory start/size and didn't
like it when we crossed the boundary.

> This fix moves U-Boot to gfxRAM, which is 512kB in size and is not
> used by the boot ROM nor the SD-card loader of it.

Whatever the issue is, this fixes it for me as well.  I would guess that
NAND boot is also not possible or probably anything but serial-download
modes.

Thanks,
Bill Pringlemeir.


More information about the U-Boot mailing list