[Armadeus-commitlog] armadeus branch, master, updated. armadeus-4.1-54-g0a672e0
Brought to you by:
sszy
|
From: jorasse <jo...@us...> - 2012-02-13 23:37:00
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 0a672e05b0f816e724f681e32a1869a9d2b442f9 (commit)
from 2889b522aae55c6794e0a4fb3f26c42e394f203a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0a672e05b0f816e724f681e32a1869a9d2b442f9
Author: Eric Jarrige <eri...@ar...>
Date: Tue Feb 14 00:36:36 2012 +0100
[UBOOT] apf27: make UBoot self relocatable and bootable from NAND flash
-----------------------------------------------------------------------
Summary of changes:
.../device/armadeus/apf27/apf27-u-boot-2011.12.h | 2 +-
...-Add-support-for-the-armadeus-apf27-board.patch | 38 +++++++++++++++----
...elocation.patch => 330-arm926-relocation.patch} | 15 ++++----
3 files changed, 39 insertions(+), 16 deletions(-)
copy patches/u-boot/2011.12/{425-cortex-relocation.patch => 330-arm926-relocation.patch} (59%)
diff --git a/buildroot/target/device/armadeus/apf27/apf27-u-boot-2011.12.h b/buildroot/target/device/armadeus/apf27/apf27-u-boot-2011.12.h
index 2c5e2a2..03dc92b 100644
--- a/buildroot/target/device/armadeus/apf27/apf27-u-boot-2011.12.h
+++ b/buildroot/target/device/armadeus/apf27/apf27-u-boot-2011.12.h
@@ -518,7 +518,7 @@
/* making u-boot runnable from flash and also RAM that is usefull to boot */
/* from serial port and from flash with only one version of U-Boot */
#ifndef CONFIG_SYS_TEXT_BASE
-#define CONFIG_SYS_TEXT_BASE 0xA0000000
+#define CONFIG_SYS_TEXT_BASE 0xA1000000
#endif
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE \
diff --git a/patches/u-boot/2011.12/302-Add-support-for-the-armadeus-apf27-board.patch b/patches/u-boot/2011.12/302-Add-support-for-the-armadeus-apf27-board.patch
index 6f4b9e9..45dd049 100644
--- a/patches/u-boot/2011.12/302-Add-support-for-the-armadeus-apf27-board.patch
+++ b/patches/u-boot/2011.12/302-Add-support-for-the-armadeus-apf27-board.patch
@@ -304,7 +304,7 @@ new file mode 100644
index 0000000..4d72d8c
--- /dev/null
+++ b/board/armadeus/apf27/lowlevel_init.S
-@@ -0,0 +1,343 @@
+@@ -0,0 +1,365 @@
+/*
+ * For clock initialization, see chapter 3 of the "MCIMX27 Multimedia
+ * Applications Processor Reference Manual, Rev. 0.2".
@@ -590,8 +590,6 @@ index 0000000..4d72d8c
+.globl lowlevel_init
+lowlevel_init:
+
-+ mov r10, lr
-+
+ init_aipi
+
+ /* configure csx */
@@ -632,7 +630,7 @@ index 0000000..4d72d8c
+ writel(DSCR7, CONFIG_SYS_DSCR7_VAL)
+ writel(DSCR2, CONFIG_SYS_DSCR2_VAL)
+
-+
++ init_clock
+
+ /* skip clock and sdram initialization if we run from ram */
+ cmp pc, #0xa0000000
@@ -640,13 +638,37 @@ index 0000000..4d72d8c
+ cmp pc, #0xc0000000
+ bhi 1f
+
-+ mov pc,r10
++ b copy2ram
+1:
-+ init_clock
-+
+ sdram_init
+
-+ mov pc,r10
++/* make U-Boot runnable form "almost" anywhere */
++/* but SYS_TEXT_BASE should be in RAM */
++copy2ram: /* populate _TEXT_BASE with U-Boot from load addr */
++ ldr r0, _start_adr
++ ldr r1, _copy2ram
++ sub r1, r1, r0
++ adr r0, copy2ram
++ sub r0, r0, r1
++ ldr r1, =CONFIG_SYS_TEXT_BASE
++ cmp r0, r1
++ beq end_of_copy2ram /* skip U-Boot copy */
++ ldr r2, =CONFIG_SYS_MONITOR_LEN
++ add r2, r2, r0 /* r2 <- source end address */
++
++copy_loop:
++ ldmia r0!, {r9-r10} /* copy from source address [r0] */
++ stmia r1!, {r9-r10} /* copy to target address [r1] */
++ cmp r0, r2 /* until source end address [r2] */
++ blo copy_loop
++
++end_of_copy2ram:
++ mov pc,lr
++
++_copy2ram:
++ .word copy2ram
++_start_adr:
++ .word _start /* r12 saved upper lr*/
+
diff --git a/board/armadeus/apf27/u-boot-nand.lds b/board/armadeus/apf27/u-boot-nand.lds
new file mode 100644
diff --git a/patches/u-boot/2011.12/425-cortex-relocation.patch b/patches/u-boot/2011.12/330-arm926-relocation.patch
similarity index 59%
copy from patches/u-boot/2011.12/425-cortex-relocation.patch
copy to patches/u-boot/2011.12/330-arm926-relocation.patch
index 6fdcbfc..01b0db6 100644
--- a/patches/u-boot/2011.12/425-cortex-relocation.patch
+++ b/patches/u-boot/2011.12/330-arm926-relocation.patch
@@ -1,4 +1,4 @@
-cortex: Fix jump to the relocated board_init_r
+ARM926: Fix jump to the relocated board_init_r
Jump to the relocated board_init_r according to the initial computation
and remove computation against current PC addr as relocated address is
@@ -8,16 +8,17 @@ already known and fixed.
Signed-off-by: Eric Jarrige <eri...@ar...>
Cc: Stefano Babic <sb...@de...>
---
---- u-boot-custom/arch/arm/cpu/armv7/start.S 2012-01-03 18:46:47.651835000 +0100
-+++ u-boot-custom/arch/arm/cpu/armv7/start.S 2012-01-03 18:48:01.351825420 +0100
-@@ -278,9 +278,7 @@ jump_2_ram:
- mcr p15, 0, r0, c7, c5, 4 @ ISB
- #endif
+--- u-boot-2011.12/arch/arm/cpu/arm926ejs/start.S 2011-12-23 20:25:35.000000000 +0100
++++ u-boot-2011.12/arch/arm/cpu/arm926ejs/start.S 2012-02-13 23:21:32.829376232 +0100
+@@ -323,9 +323,7 @@ _nand_boot_ofs:
+ .word nand_boot
+ #else
ldr r0, _board_init_r_ofs
-- adr r1, _start
+- ldr r1, _TEXT_BASE
- add lr, r0, r1
- add lr, lr, r9
+ add lr, r0, r6
/* setup parameters for board_init_r */
mov r0, r5 /* gd_t */
mov r1, r6 /* dest_addr */
+
hooks/post-receive
--
armadeus
|