[U-Boot] [PATCH 0/2]: arm: Provide lowlevel_init C function wrapper for v7

Tom Rini trini at ti.com
Mon Aug 13 16:57:16 CEST 2012


On 08/13/2012 12:48 AM, Stefano Babic wrote:
> On 09/08/2012 18:01, Tom Rini wrote:
>> Hey all,
>>
> 
> Hi Tom,
> 
>> As Allen Martin noted, on tegra platforms a bug is exposed when using
>> certain toolchains that currently calls to lowlevel_init must be calls
>> to another assembly function as the stack is not explicitly setup /
>> saved and thus register corruption can occur.  Over in TI-land Aneesh V
>> wrote a lowlevel_init that sets up the stack and calls s_init which is a
>> C function that does what lowlevel_init does on other platforms.  The
>> code is generic to at least v7, so this series moves it to
>> arch/arm/cpu/armv7.
> 
> Then as far as I can see in your patch, other armv7 can profit as well,
> such as the i.MX5 and i.MX6 ;-)
> 
> The only issue is to generalize the entry point for the function to
> setup PLL and or pinmux. It should be enough to change lowlevel_init to
> s_init in i.MX to do the job.

Yes, anyone could switch to this (and if it makes their code cleaner, a
C rather than asm lowlevel_init).   Just don't want to force the issue
since it requires that CONFIG_SYS_INIT_SP_ADDR be viable at this point
and that's something every platform has to determine for themselves.

-- 
Tom


More information about the U-Boot mailing list