[U-Boot] using different architecture / toolchain for SPL build

Allen Martin AMartin at nvidia.com
Wed Apr 11 03:41:01 CEST 2012

I'm trying to solve a problem we've had in the tegra build of u-boot for a while.  Tegra2/3 have an integrated arm7tdmi in addition to the cortex A9.  Initial boot of the system is always to the arm7tdmi which is responsible for turning on the clocks and power rails for the A9 and then taking it out of reset.

The tegra build of u-boot currently is a single image that executes on both the arm7tdmi and cortex A9, but it's quite fragile because we use a armv7 toolchain and have be careful about compiler options and ifdefing around inline assembly so it still boots on the arm7tdmi.

I'm looking at using an SPL build of u-boot that executes only on the arm7tdmi and initializes the bare minimum to bring up the A9 and transfer control to it.  However all the SPL examples I'm looking at assume the same toolchain and architecture for the SPL and normal u-boot build.

How would others feel about a CROSS_COMPILE_SPL variable that allowed one to override the toolchain used during the SPL build?

The architecture seems harder to fix.  It seems like I really have to have two entries in boards.cfg, which means two passes of config/make.


More information about the U-Boot mailing list