public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 0/10] split tegra20 arm7 code into separate SPL
@ 2012-06-05 21:20 Allen Martin
  2012-06-05 21:20 ` [U-Boot] [PATCH v2 01/10] tegra20: rename tegra2 -> tegra20 Allen Martin
                   ` (10 more replies)
  0 siblings, 11 replies; 40+ messages in thread
From: Allen Martin @ 2012-06-05 21:20 UTC (permalink / raw)
  To: u-boot

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

 .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

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2012-06-07 20:02 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-05 21:20 [U-Boot] [PATCH v2 0/10] split tegra20 arm7 code into separate SPL Allen Martin
2012-06-05 21:20 ` [U-Boot] [PATCH v2 01/10] tegra20: rename tegra2 -> tegra20 Allen Martin
2012-06-06 16:11   ` Stephen Warren
2012-06-06 18:02     ` Allen Martin
2012-06-05 21:20 ` [U-Boot] [PATCH v2 02/10] tegra20: move tegra20 SoC code to arch/arm/cpu/tegra20-common Allen Martin
2012-06-06 16:16   ` Stephen Warren
2012-06-06 18:07     ` Allen Martin
2012-06-05 21:20 ` [U-Boot] [PATCH v2 03/10] mkconfig: add support for SPL CPU Allen Martin
2012-06-06 16:20   ` Stephen Warren
2012-06-06 18:09     ` Allen Martin
2012-06-05 21:20 ` [U-Boot] [PATCH v2 04/10] ARM: Fix arm720t SPL build Allen Martin
2012-06-05 21:20 ` [U-Boot] [PATCH v2 05/10] tegra20: remove timer_init from " Allen Martin
2012-06-05 21:20 ` [U-Boot] [PATCH v2 06/10] ARM: add tegra20 support to arm720t Allen Martin
2012-06-06 16:39   ` Stephen Warren
2012-06-06 18:25     ` Allen Martin
2012-06-06 19:17       ` Stephen Warren
2012-06-06 22:18         ` Allen Martin
2012-06-06 23:19           ` Stephen Warren
2012-06-05 21:20 ` [U-Boot] [PATCH v2 07/10] tegra20: add SPL config options for seaboard Allen Martin
2012-06-06 16:44   ` Stephen Warren
2012-06-06 18:40     ` Allen Martin
2012-06-07  7:15     ` Sughosh Ganu
2012-06-07 16:36       ` Stephen Warren
2012-06-07 17:04         ` Sughosh Ganu
2012-06-07 20:02           ` Stephen Warren
2012-06-05 21:20 ` [U-Boot] [PATCH v2 08/10] tegra20: add u-boot.t2 target Allen Martin
2012-06-06 16:48   ` Stephen Warren
2012-06-06 19:37     ` Allen Martin
2012-06-06 19:53       ` Tom Warren
2012-06-06 19:57         ` Stephen Warren
2012-06-06 22:00           ` Allen Martin
2012-06-07  2:02             ` Stephen Warren
2012-06-07 17:06               ` Allen Martin
2012-06-05 21:20 ` [U-Boot] [PATCH v2 09/10] tegra20: Remove CPU init code from tegra20 u-boot Allen Martin
2012-06-06 16:51   ` Stephen Warren
2012-06-06 19:42     ` Allen Martin
2012-06-05 21:20 ` [U-Boot] [PATCH v2 10/10] tegra20: Remove armv4t build flags Allen Martin
2012-06-06 16:52   ` Stephen Warren
2012-06-05 21:25 ` [U-Boot] [PATCH v2 0/10] split tegra20 arm7 code into separate SPL Tom Warren
2012-06-05 23:45   ` Allen Martin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox