[U-Boot] [RFC] arm926ejs: fix jump to RAM nand_boot

Albert Aribaud
2010-10-31T21:20:46Z

RFC again. WARNING -- apply *above* the previous one, not instead!

I *think* the current jump to nand_boot was wrong, because it
loads an offset but does not add it to the relocated base before
jumping to it. I thus applied the same sequence as board_init_r.

Wolfgang, please test to see if tx25 works with this.

Alexander, Darius, others who already tested the previous RFC patch,
please test for non-regression.

Amicalement,
Albert.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
---
arch/arm/cpu/arm926ejs/start.S | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
index 6dcc9b4..098b426 100644
--- a/arch/arm/cpu/arm926ejs/start.S
+++ b/arch/arm/cpu/arm926ejs/start.S
@@ -276,7 +276,10 @@ clbss_l:str r2, [r0] /* clear loop... */
*/
#ifdef CONFIG_NAND_SPL
ldr r0, _nand_boot_ofs
- mov pc, r0
+ adr r1, _start
+ add lr, r0, r1
+ add lr, lr, r9
+ mov pc, lr

_nand_boot_ofs:
.word nand_boot
--
1.7.1