Patchwork [U-Boot,v6,11/31] Add spl load feature

login
register
mail settings
Submitter Simon Glass
Date March 6, 2013, 12:39 a.m.
Message ID <1362530405-10824-12-git-send-email-sjg@chromium.org>
Download mbox | patch
Permalink /patch/225212/
State Accepted, archived
Delegated to: Tom Rini
Headers show

Comments

Simon Glass - March 6, 2013, 12:39 a.m.
This adds secondary program loader support to the generic board.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v6:
- Unify code in reserve_stacks() and reserve_stacks_spl()

Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None

 common/board_f.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Patch

diff --git a/common/board_f.c b/common/board_f.c
index d674f9d..42042cc 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -312,6 +312,7 @@  static int reserve_uboot(void)
 	return 0;
 }
 
+#ifndef CONFIG_SPL_BUILD
 /* reserve memory for malloc() area */
 static int reserve_malloc(void)
 {
@@ -331,6 +332,7 @@  static int reserve_board(void)
 			sizeof(bd_t), gd->dest_addr_sp);
 	return 0;
 }
+#endif
 
 static int setup_machine(void)
 {
@@ -370,6 +372,13 @@  static int reserve_fdt(void)
 
 static int reserve_stacks(void)
 {
+#ifdef CONFIG_SPL_BUILD
+# ifdef CONFIG_ARM
+	gd->dest_addr_sp -= 128;	/* leave 32 words for abort-stack */
+	gd->irq_sp = gd->dest_addr_sp;
+# endif
+#else
+
 	/* setup stack pointer for exceptions */
 	gd->dest_addr_sp -= 16;
 	gd->dest_addr_sp &= ~0xf;
@@ -391,8 +400,10 @@  static int reserve_stacks(void)
 #  endif
 	/* leave 3 words for abort-stack, plus 1 for alignment */
 	gd->dest_addr_sp -= 16;
+# endif /* Architecture specific code */
 
 	return 0;
+#endif
 }
 
 static int display_new_sp(void)
@@ -537,8 +548,10 @@  static init_fnc_t init_sequence_f[] = {
 	reserve_lcd,
 #endif
 	reserve_uboot,
+#ifndef CONFIG_SPL_BUILD
 	reserve_malloc,
 	reserve_board,
+#endif
 	setup_machine,
 	reserve_global_data,
 	reserve_fdt,