[U-Boot] [PATCH v2 0/10] split tegra20 arm7 code into separate SPL

Tom Warren TWarren at nvidia.com
Tue Jun 5 23:25:12 CEST 2012


Allen,

> -----Original Message-----
> From: Allen Martin [mailto:amartin at nvidia.com]
> Sent: Tuesday, June 05, 2012 2:20 PM
> To: Tom Warren; swarren at wwwdotorg.org; sjg at chromium.org
> Cc: u-boot at 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


More information about the U-Boot mailing list