[U-Boot] [PATCH] ARM: tegra: Use the IRAM for the early stack

Alban Bedel
2013-12-09T18:09:08Z

On Mon, 09 Dec 2013 10:09:49 -0700
Stephen Warren <swarren@wwwdotorg.org> wrote:

> On 12/09/2013 10:06 AM, Alban Bedel wrote:
> > Unlike many other platforms the tegra platform has the luxury of
> > already having the SDRAM running during the early init, and it is used
> > for the early stack. However the memory test of the POST subsystem is
> > expecting the SDRAM to be unused, and on tegra platforms the test fail
> > to run as it destroy the stack.
> >
> > To fix the problem simply use the IRAM for the initial stack.
>
> Can't the POST code simply touch an unused RAM address?

The memtest is run pre-relocation to in fact avoid having to take care
about some special memory regions, beside the u-boot image and
pre-relocation code.

> There is IRAM content that needs to be preserved, so we need to make
> sure we don't stomp on that. Examples are:
>
> * BIT (Boot Information Table)
> * BCT that was used to boot the system
> * Perhaps the whole IRAM is filled with code/data in the LP0
> suspend/resume case.

BIC and BCT shouldn't be problem if enough IRAM is left for the
relocation. After relocation the stack move to the SDRAM anyway.

But for LP0 I don't really understand what the problem would be. Do the
u-boot loading+relocation needs to be run when comming out of LP0?

Alban