[U-Boot] [PATCH 0/9] split tegra arm7 code into separate SPL

Allen Martin
2012-05-10T07:02:18Z

This patch series fixes a long standing problem with the tegra2 u-boot
build. Tegra2 contains an ARM7TDMI boot processor and a Cortex A9
main processor. Prior to this patch series this was accomplished by
#ifdefing out any armv7 code from the early boot sequence and creating
a single binary that runs on both both the ARM7TDMI and A9. This was
very fragile as changes to compiler options or any additions or
rearranging of the early boot code could add additional armv7 specific
code causing it to fail on the ARM7TDMI.

This patch series pulls all the armv4t code out into a separate SPL
that does nothing more than initialize the A9 and transfer control to
it. The resultint SPL and armv7 u-boot are concatenated together into
a single image.

[PATCH 1/9] tegra2: move tegra2 SoC code to arch/arm/cpu/tegra2-common
[PATCH 2/9] mkconfig: add support for SPL CPU
[PATCH 3/9] ARM: Fix arm720t SPL build
[PATCH 4/9] tegra: Add SPL build support to tegra boards
[PATCH 5/9] ARM: add tegra support to arm720t
[PATCH 6/9] tegra: enable SPL build for seaboard
[PATCH 7/9] tegra: add u-boot.t2 target
[PATCH 8/9] tegra2: Remove CPU init code from tegra2 u-boot
[PATCH 9/9] tegra2: Remove USE_PRIVATE_LIBGCC and armv4t build flags

Makefile | 9 +
arch/arm/cpu/arm720t/cpu.c | 3 +-
arch/arm/cpu/arm720t/interrupts.c | 5 +-
arch/arm/cpu/arm720t/start.S | 19 +-
arch/arm/cpu/arm720t/tegra2/Makefile | 48 ++
arch/arm/cpu/arm720t/tegra2/board.h | 25 +
arch/arm/cpu/arm720t/tegra2/cpu.c | 259 +++++++
arch/arm/cpu/arm720t/tegra2/cpu.h | 99 +++
arch/arm/cpu/arm720t/tegra2/spl.c | 133 ++++
arch/arm/cpu/armv7/start.S | 2 -
arch/arm/cpu/armv7/tegra2/Makefile | 12 +-
arch/arm/cpu/armv7/tegra2/ap20.c | 324 ---------
arch/arm/cpu/armv7/tegra2/ap20.h | 102 ---
arch/arm/cpu/armv7/tegra2/board.c | 151 ----
arch/arm/cpu/armv7/tegra2/clock.c | 1052 ---------------------------
arch/arm/cpu/armv7/tegra2/config.mk | 8 -
arch/arm/cpu/armv7/tegra2/funcmux.c | 184 -----
arch/arm/cpu/armv7/tegra2/lowlevel_init.S | 41 --
arch/arm/cpu/armv7/tegra2/pinmux.c | 572 ---------------
arch/arm/cpu/armv7/tegra2/sys_info.c | 35 -
arch/arm/cpu/armv7/tegra2/timer.c | 111 ---
arch/arm/cpu/tegra2-common/Makefile | 56 ++
arch/arm/cpu/tegra2-common/ap20.c | 73 ++
arch/arm/cpu/tegra2-common/board.c | 129 ++++
arch/arm/cpu/tegra2-common/clock.c | 1052 +++++++++++++++++++++++++++
arch/arm/cpu/tegra2-common/funcmux.c | 184 +++++
arch/arm/cpu/tegra2-common/lowlevel_init.S | 41 ++
arch/arm/cpu/tegra2-common/pinmux.c | 572 +++++++++++++++
arch/arm/cpu/tegra2-common/sys_info.c | 35 +
arch/arm/cpu/tegra2-common/timer.c | 111 +++
arch/arm/include/asm/arch-tegra2/hardware.h | 29 +
board/nvidia/common/Makefile | 2 +-
board/nvidia/common/board.c | 2 +
board/nvidia/seaboard/config.mk | 1 +
boards.cfg | 7 +-
doc/README.SPL | 12 +
include/configs/seaboard.h | 9 +
include/configs/tegra2-common.h | 23 +-
mkconfig | 15 +-
spl/Makefile | 4 +
40 files changed, 2949 insertions(+), 2602 deletions(-)

--
nvpublic