The restore sequence in lowlevel_init was in the wrong order, causing lr to lose its original value and be set equal to ip instead.
Signed-off-by: Albert ARIBAUD <albert.u.b...@aribaud.net> --- arch/arm/cpu/armv7/omap3/lowlevel_init.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/cpu/armv7/omap3/lowlevel_init.S b/arch/arm/cpu/armv7/omap3/lowlevel_init.S index ebf69fa..7dde7c3 100644 --- a/arch/arm/cpu/armv7/omap3/lowlevel_init.S +++ b/arch/arm/cpu/armv7/omap3/lowlevel_init.S @@ -225,8 +225,8 @@ ENTRY(lowlevel_init) bl cpy_clk_code #endif /* NAND Boot */ bl s_init /* go setup pll, mux, memory */ - ldr ip, [sp] /* restore save ip */ mov lr, ip /* restore link reg */ + ldr ip, [sp] /* restore save ip */ /* back to arch calling code */ mov pc, lr -- 1.7.9.5 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot