[U-Boot] [PATCH 00/26] arm: add full relocation / cache support
Heiko Schocher
hs at denx.de
Wed Aug 11 20:15:31 CEST 2010
This patch series add full relocation and cache support for arm
based boards. I test this for arm1136, arm_cortexa8 and arm926ejs
based boards.
Relocation support:
!! This change is not compatible to old code !!
If you want to compile in old style, you can set
CONFIG_SYS_ARM_WITHOUT_RELOC
but this possibility will be removed soon, so please
adapt your board(s)
changed arch/arm/lib/board.c to get inline with arch/powerpc/lib/board.c
maybe it is possible to snyc them to one arch/generic/lib/board.c?
This approach is similiar to powerpc, so there is a need for
an initial stack pointer addr defined through CONFIG_SYS_INIT_SP_ADDR.
Please also read doc/README.arm-relocation There is more
info what is done, and maybe should be done.
Cache support:
I used the patches from Alessandro Rubini:
http://lists.denx.de/pipermail/u-boot/2010-January/067099.html
and rebased them to actual code. Also, in case of full relocation,
the position of the TLB can not be set on compile time, instead
it is calculated in board_init_f() and stored in gd. Also added
cache support for arm_cortexa8 and arm1136.
Heiko Schocher (26):
arm: get rid of bi_env
ARM: flush cache for arm926
ARM: cp15: setup mmu and enable dcache
ARM V7 (OMAP): add data cache support, test on Beagle board
ARM (ARM11): add data cache support, test on Qong board
relocation: fixup cmdtable
common: move TOTAL_MALLOC_LEN to include/common.h
i2c: fix command usage help
disk/part.c: fix relocation fixup
i2c, omap24xx: set bus_initialized only after relocation.
nand_boot_fsl_nfc.c: make "nfc" a "static const" pointer
ARM: add relocation support
ARM: implement relocation for ARM11
ARM: implement relocation for ARM V7 (OMAP)
ARM: implement relocation for ARM926
ARM: implement relocation for ARM920
ARM: implement relocation for ARM925
ARM: implement relocation for ARM946
ARM: implement relocation for pxa
ARM: implement relocation for ixp
ARM: implement relocation for sa1100
ARM: implement relocation for s3c44b0
ARM: implement relocation for lh7a40x
ARM: implement relocation for arm_intcm
ARM: implement relocation for arm720t
ARM: implement relocation for arm1176
arch/arm/config.mk | 8 +
arch/arm/cpu/arm1136/start.S | 206 +++++++++++++++
arch/arm/cpu/arm1136/u-boot.lds | 14 +-
arch/arm/cpu/arm1176/start.S | 286 ++++++++++++++++++++
arch/arm/cpu/arm1176/u-boot.lds | 14 +-
arch/arm/cpu/arm720t/start.S | 170 ++++++++++++
arch/arm/cpu/arm720t/u-boot.lds | 14 +-
arch/arm/cpu/arm920t/start.S | 225 ++++++++++++++++-
arch/arm/cpu/arm920t/u-boot.lds | 14 +-
arch/arm/cpu/arm925t/start.S | 204 ++++++++++++++-
arch/arm/cpu/arm925t/u-boot.lds | 14 +-
arch/arm/cpu/arm926ejs/orion5x/dram.c | 24 ++-
arch/arm/cpu/arm926ejs/start.S | 172 ++++++++++++-
arch/arm/cpu/arm926ejs/u-boot.lds | 14 +-
arch/arm/cpu/arm946es/start.S | 168 ++++++++++++-
arch/arm/cpu/arm946es/u-boot.lds | 14 +-
arch/arm/cpu/arm_intcm/start.S | 166 ++++++++++++
arch/arm/cpu/arm_intcm/u-boot.lds | 14 +-
arch/arm/cpu/armv7/mx51/u-boot.lds | 14 +-
arch/arm/cpu/armv7/omap3/cache.S | 82 ++++++
arch/arm/cpu/armv7/omap3/emif4.c | 34 +++
arch/arm/cpu/armv7/omap3/sdrc.c | 38 +++
arch/arm/cpu/armv7/start.S | 191 +++++++++++++-
arch/arm/cpu/armv7/u-boot.lds | 14 +-
arch/arm/cpu/ixp/start.S | 280 ++++++++++++++++++++
arch/arm/cpu/ixp/u-boot.lds | 14 +-
arch/arm/cpu/lh7a40x/start.S | 187 +++++++++++++-
arch/arm/cpu/lh7a40x/u-boot.lds | 14 +-
arch/arm/cpu/pxa/start.S | 168 ++++++++++++
arch/arm/cpu/pxa/u-boot.lds | 14 +-
arch/arm/cpu/s3c44b0/start.S | 174 ++++++++++++
arch/arm/cpu/s3c44b0/u-boot.lds | 14 +-
arch/arm/cpu/sa1100/start.S | 162 ++++++++++++
arch/arm/cpu/sa1100/u-boot.lds | 14 +-
arch/arm/include/asm/config.h | 3 +-
arch/arm/include/asm/global_data.h | 11 +
arch/arm/include/asm/u-boot-arm.h | 14 +-
arch/arm/include/asm/u-boot.h | 4 -
arch/arm/lib/board.c | 468 ++++++++++++++++++++++++++++++++-
arch/arm/lib/cache-cp15.c | 82 ++++++
arch/arm/lib/cache.c | 13 +-
arch/arm/lib/interrupts.c | 19 ++-
arch/avr32/include/asm/u-boot.h | 1 -
arch/avr32/lib/board.c | 25 +--
arch/i386/include/asm/u-boot.h | 4 -
arch/m68k/lib/board.c | 35 +---
arch/mips/include/asm/u-boot.h | 2 -
arch/mips/lib/board.c | 36 +---
arch/powerpc/lib/board.c | 10 -
arch/sparc/lib/board.c | 28 +--
board/davedenx/qong/config.mk | 4 +-
board/davedenx/qong/qong.c | 87 ++++---
board/karo/tx25/config.mk | 4 +-
board/karo/tx25/tx25.c | 11 +-
board/keymile/km_arm/km_arm.c | 24 ++
board/logicpd/imx27lite/config.mk | 2 +-
board/logicpd/imx27lite/imx27lite.c | 15 +-
board/ti/beagle/config.mk | 2 +-
common/cmd_bdinfo.c | 12 +-
common/cmd_bmp.c | 6 +
common/cmd_i2c.c | 9 +
common/command.c | 37 +++
disk/part.c | 11 +-
doc/README.arm-relocation | 321 ++++++++++++++++++++++
drivers/i2c/omap24xx_i2c.c | 4 +-
include/command.h | 3 +
include/common.h | 9 +
include/configs/da850evm.h | 6 +-
include/configs/imx27lite-common.h | 5 +
include/configs/km_arm.h | 4 +
include/configs/omap3_beagle.h | 6 +
include/configs/qong.h | 11 +
include/configs/tx25.h | 13 +-
nand_spl/board/karo/tx25/u-boot.lds | 14 +-
nand_spl/nand_boot.c | 7 +
nand_spl/nand_boot_fsl_nfc.c | 13 +-
76 files changed, 4320 insertions(+), 230 deletions(-)
create mode 100644 doc/README.arm-relocation
- changes since previous patch set
- add CONFIG_SYS_ARM_WITHOUT_RELOC
- changed order of patches -> cache patches are independent
from relocation patches
- add missing cpu types:
arm1176 arm720t arm920t arm925t arm946es arm_intcm
ixp lh7a40x pxa s3c44b0 sa1100
- only converted boards which I had tested
- rebased againt current top of tree
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list