pxa: Save lr register in relocate_code function

When u-boot is compiled for PXA25x processor, pxa/start.S is calling
cpu_init_crit by BL instruction. BL is overwriting lr register so
relocate_code is going into infinite loop. This patch preservs lr
register in r12 before calling cpu_init_crit and after function returns
restores it.

Signed-off-by: Lukasz Dalek <luk0104@gmail.com>
Acked-by: Marek Vasut <marex@denx.de>
This commit is contained in:
Łukasz Dałek 2013-01-12 11:39:27 +00:00 committed by Tom Rini
parent 981481958f
commit df3ad6c81d

View file

@ -183,7 +183,9 @@ relocate_code:
/* Disable the Dcache RAM lock for stack now */
#ifdef CONFIG_CPU_PXA25X
mov r12, lr
bl cpu_init_crit
mov lr, r12
#endif
adr r0, _start