
Allen,
-----Original Message----- From: Allen Martin [mailto:amartin@nvidia.com] Sent: Tuesday, June 05, 2012 2:20 PM To: Tom Warren; swarren@wwwdotorg.org; sjg@chromium.org Cc: u-boot@lists.denx.de Subject: [PATCH v2 0/10] split tegra20 arm7 code into separate SPL
This patch series fixes a long standing problem with the tegra20 u-boot build. Tegra20 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.
Changes: v2:
- renamed tegra2 to tegra20 to match kernel and devicetree naming policy
- pulled all SPL related config overrides to a separate file to clean up
ifdefs from seabard.h
- rebased to TOT u-boot/master and fixed a bug related to init sequence
changes between this patch series and new EMC code
- made u-boot.t2 target work even if CONFIG_OF is disabled
- added back USE_PRIVATE_LIBGCC
[PATCH 01/10] tegra20: rename tegra2 -> tegra20 [PATCH 02/10] tegra20: move tegra20 SoC code to [PATCH 03/10] mkconfig: add support for SPL CPU [PATCH 04/10] ARM: Fix arm720t SPL build [PATCH 05/10] tegra20: remove timer_init from SPL build [PATCH 06/10] ARM: add tegra20 support to arm720t [PATCH 07/10] tegra20: add SPL config options for seaboard [PATCH 08/10] tegra20: add u-boot.t2 target [PATCH 09/10] tegra20: Remove CPU init code from tegra20 u-boot [PATCH 10/10] tegra20: Remove armv4t build flags
Did you use the -C option for format-patch? I'd expect a lot of these file moves to show up as simple renames.
Tom
.gitignore | 1 - Makefile | 14 - arch/arm/cpu/arm720t/cpu.c | 2 - arch/arm/cpu/arm720t/interrupts.c | 4 - arch/arm/cpu/arm720t/start.S | 19 +- arch/arm/cpu/arm720t/tegra20/Makefile | 48 - arch/arm/cpu/arm720t/tegra20/board.h | 25 - arch/arm/cpu/arm720t/tegra20/cpu.c | 259 ----- arch/arm/cpu/arm720t/tegra20/cpu.h | 99 -- arch/arm/cpu/arm720t/tegra20/spl.c | 133 --- arch/arm/cpu/armv7/start.S | 2 + arch/arm/cpu/armv7/tegra2/Makefile | 59 ++ arch/arm/cpu/armv7/tegra2/ap20.c | 366 +++++++ arch/arm/cpu/armv7/tegra2/board.c | 151 +++ arch/arm/cpu/armv7/tegra2/clock.c | 1087 ++++++++++++++++++++ arch/arm/cpu/armv7/tegra2/config.mk | 35 + arch/arm/cpu/armv7/tegra2/crypto.c | 230 +++++ arch/arm/cpu/armv7/tegra2/crypto.h | 36 + arch/arm/cpu/armv7/tegra2/emc.c | 286 +++++ arch/arm/cpu/armv7/tegra2/funcmux.c | 200 ++++ arch/arm/cpu/armv7/tegra2/lowlevel_init.S | 42 + arch/arm/cpu/armv7/tegra2/pinmux.c | 572 ++++++++++ arch/arm/cpu/armv7/tegra2/pmu.c | 70 ++ arch/arm/cpu/armv7/tegra2/sys_info.c | 35 + arch/arm/cpu/armv7/tegra2/timer.c | 111 ++ arch/arm/cpu/armv7/tegra2/usb.c | 460 +++++++++ arch/arm/cpu/armv7/tegra2/warmboot.c | 386 +++++++ arch/arm/cpu/armv7/tegra2/warmboot_avp.c | 250 +++++ arch/arm/cpu/armv7/tegra2/warmboot_avp.h | 81 ++ arch/arm/cpu/armv7/tegra20/Makefile | 48 - arch/arm/cpu/armv7/tegra20/config.mk | 28 - arch/arm/cpu/armv7/tegra20/usb.c | 460 --------- arch/arm/cpu/tegra20-common/Makefile | 59 -- arch/arm/cpu/tegra20-common/ap20.c | 110 -- arch/arm/cpu/tegra20-common/board.c | 134 --- arch/arm/cpu/tegra20-common/clock.c | 1087 -----------------
arch/arm/cpu/tegra20-common/crypto.c | 230 ----- arch/arm/cpu/tegra20-common/crypto.h | 36 - arch/arm/cpu/tegra20-common/emc.c | 286 ----- arch/arm/cpu/tegra20-common/funcmux.c | 200 ---- arch/arm/cpu/tegra20-common/lowlevel_init.S | 42 - arch/arm/cpu/tegra20-common/pinmux.c | 572 ---------- arch/arm/cpu/tegra20-common/pmu.c | 70 -- arch/arm/cpu/tegra20-common/sys_info.c | 35 - arch/arm/cpu/tegra20-common/timer.c | 111 -- arch/arm/cpu/tegra20-common/warmboot.c | 386 ------- arch/arm/cpu/tegra20-common/warmboot_avp.c | 250 ----- arch/arm/cpu/tegra20-common/warmboot_avp.h | 81 -- arch/arm/include/asm/arch-tegra2/ap20.h | 109 ++ arch/arm/include/asm/arch-tegra2/apb_misc.h | 36 + arch/arm/include/asm/arch-tegra2/board.h | 30 + arch/arm/include/asm/arch-tegra2/clk_rst.h | 147 +++ arch/arm/include/asm/arch-tegra2/clock.h | 406 ++++++++ arch/arm/include/asm/arch-tegra2/emc.h | 113 ++ arch/arm/include/asm/arch-tegra2/flow.h | 36 + arch/arm/include/asm/arch-tegra2/funcmux.h | 69 ++ arch/arm/include/asm/arch-tegra2/fuse.h | 39 + arch/arm/include/asm/arch-tegra2/gp_padctrl.h | 73 ++ arch/arm/include/asm/arch-tegra2/gpio.h | 289 ++++++ arch/arm/include/asm/arch-tegra2/mmc.h | 27 + arch/arm/include/asm/arch-tegra2/pinmux.h | 354 +++++++ arch/arm/include/asm/arch-tegra2/pmc.h | 132 +++ arch/arm/include/asm/arch-tegra2/pmu.h | 30 + arch/arm/include/asm/arch-tegra2/scu.h | 43 + arch/arm/include/asm/arch-tegra2/sdram_param.h | 148 +++ arch/arm/include/asm/arch-tegra2/sys_proto.h | 35 + arch/arm/include/asm/arch-tegra2/tegra2.h | 86 ++ arch/arm/include/asm/arch-tegra2/tegra2_spi.h | 76 ++ arch/arm/include/asm/arch-tegra2/tegra_i2c.h | 164 +++ arch/arm/include/asm/arch-tegra2/timer.h | 30 + arch/arm/include/asm/arch-tegra2/uart-spi-switch.h | 46 + arch/arm/include/asm/arch-tegra2/uart.h | 47 + arch/arm/include/asm/arch-tegra2/usb.h | 252 +++++ arch/arm/include/asm/arch-tegra2/warmboot.h | 150 +++ arch/arm/include/asm/arch-tegra20/ap20.h | 109 -- arch/arm/include/asm/arch-tegra20/apb_misc.h | 36 - arch/arm/include/asm/arch-tegra20/board.h | 30 - arch/arm/include/asm/arch-tegra20/clk_rst.h | 147 --- arch/arm/include/asm/arch-tegra20/clock.h | 406 -------- arch/arm/include/asm/arch-tegra20/emc.h | 113 -- arch/arm/include/asm/arch-tegra20/flow.h | 36 - arch/arm/include/asm/arch-tegra20/funcmux.h | 69 -- arch/arm/include/asm/arch-tegra20/fuse.h | 39 - arch/arm/include/asm/arch-tegra20/gp_padctrl.h | 73 -- arch/arm/include/asm/arch-tegra20/gpio.h | 289 ------ arch/arm/include/asm/arch-tegra20/hardware.h | 29 - arch/arm/include/asm/arch-tegra20/mmc.h | 27 - arch/arm/include/asm/arch-tegra20/pinmux.h | 354 ------- arch/arm/include/asm/arch-tegra20/pmc.h | 132 --- arch/arm/include/asm/arch-tegra20/pmu.h | 30 - arch/arm/include/asm/arch-tegra20/scu.h | 43 - arch/arm/include/asm/arch-tegra20/sdram_param.h | 148 --- arch/arm/include/asm/arch-tegra20/sys_proto.h | 35 - arch/arm/include/asm/arch-tegra20/tegra2.h | 86 -- arch/arm/include/asm/arch-tegra20/tegra2_spi.h | 76 -- arch/arm/include/asm/arch-tegra20/tegra_i2c.h | 164 --- arch/arm/include/asm/arch-tegra20/timer.h | 30 - .../arm/include/asm/arch-tegra20/uart-spi-switch.h | 46 - arch/arm/include/asm/arch-tegra20/uart.h | 47 - arch/arm/include/asm/arch-tegra20/usb.h | 252 ----- arch/arm/include/asm/arch-tegra20/warmboot.h | 150 --- board/nvidia/common/board.c | 2 - board/nvidia/seaboard/config.mk | 1 - boards.cfg | 17 +- doc/README.SPL | 12 - include/configs/seaboard.h | 6 - include/configs/tegra2-common.h | 21 +- include/configs/tegra2-spl.h | 87 -- mkconfig | 15 +- spl/Makefile | 4 - 110 files changed, 7438 insertions(+), 7978 deletions(-)
-- nvpublic