aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/lib/crt0_64.S
diff options
context:
space:
mode:
authorScott Wood2015-03-24 13:25:02 -0700
committerYork Sun2015-04-23 16:46:50 -0700
commitb2d5ac59859fa946e47fb6ab1f4f3486d4988680 (patch)
tree6c148fbcd0a66138d4d98dcf050df44d24fbef06 /arch/arm/lib/crt0_64.S
parent39b0bbbb23076a7109eeb20b6ae812edcd60ffc2 (diff)
armv8/ls2085aqds: NAND boot support
This adds NAND boot support for LS2085AQDS, using SPL framework. Details of forming NAND image can be found in README. Signed-off-by: Scott Wood <scottwood@freescale.com> [York Sun: Remove +S from defconfig after commit 252ed872] Signed-off-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'arch/arm/lib/crt0_64.S')
-rw-r--r--arch/arm/lib/crt0_64.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
index 16540114323..bc9c53c308d 100644
--- a/arch/arm/lib/crt0_64.S
+++ b/arch/arm/lib/crt0_64.S
@@ -61,7 +61,11 @@ ENTRY(_main)
/*
* Set up initial C runtime environment and call board_init_f(0).
*/
+#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_STACK)
+ ldr x0, =(CONFIG_SPL_STACK)
+#else
ldr x0, =(CONFIG_SYS_INIT_SP_ADDR)
+#endif
sub x18, x0, #GD_SIZE /* allocate one GD above SP */
bic x18, x18, #0x7 /* 8-byte alignment for GD */
zero_gd:
@@ -77,6 +81,7 @@ zero_gd:
mov x0, #0
bl board_init_f
+#if !defined(CONFIG_SPL_BUILD)
/*
* Set up intermediate environment (new sp and gd) and call
* relocate_code(addr_moni). Trick here is that we'll return
@@ -119,4 +124,6 @@ clear_loop:
/* NOTREACHED - board_init_r() does not return */
+#endif /* !CONFIG_SPL_BUILD */
+
ENDPROC(_main)