ARM Samsung: fix booting from NAND with pbl
The ARM pbl is linked at (TEXT_BASE - SZ_2M). This conflicts with the temporary stack used in s3c24x0_nand_boot. Moving the stack to (TEXT_BASE - SZ_2M) fixes this problem. With this patch a compressed barebox with pbl can boot on mini2440 from NAND. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
9f297c8754
commit
558d72dc51
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <sizes.h>
|
||||
#include <mach/s3c-iomap.h>
|
||||
|
||||
.section ".text_bare_init.s3c24x0_disable_wd","ax"
|
||||
|
@ -258,7 +259,7 @@ s3c24x0_nand_boot:
|
|||
beq 2f
|
||||
mov pc, lr /* NOR case: nothing to do here */
|
||||
|
||||
2: ldr sp, =TEXT_BASE /* Setup a temporary stack in SDRAM */
|
||||
2: ldr sp, =(TEXT_BASE - SZ_2M) /* Setup a temporary stack in SDRAM */
|
||||
/*
|
||||
* We still run at a location we are not linked to. But lets still running
|
||||
* from the internal SRAM, this may speed up the boot
|
||||
|
@ -269,7 +270,7 @@ s3c24x0_nand_boot:
|
|||
/*
|
||||
* Adjust the return address to the correct address in SDRAM
|
||||
*/
|
||||
ldr r1, =TEXT_BASE
|
||||
ldr r1, =(TEXT_BASE - SZ_2M)
|
||||
add lr, lr, r1
|
||||
|
||||
mov pc, lr
|
||||
|
|
Loading…
Reference in New Issue