Skip to content

: arm: Provide lowlevel_init C function wrapper for v7

Tom Rini u-boot 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 2 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 2 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [U-Boot] [PATCH 0/2]: arm: Provide lowlevel_init C function wrapper for v7
Quoted 15 lines · Stefano Babic
Quoted 2 lines · Tom Rini

Hey all,

Hi Tom,

Quoted 8 lines

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.

Quoted 6 lines

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.

Signature · 1 line
Tom