[U-Boot] [PATCH] igep00x0: Falcon mode

Ladislav Michl ladis at linux-mips.org
Thu Jan 14 01:44:20 CET 2016


Implement spl_start_uboot to let Falcon mode work. Also as board comes
either with 256 or 512MB of memory, fixup fdt before jumping to kernel.
ATAG support for doing the same is left as an excercise for readers
loving legacy stuff.

Signed-off-by: Ladislav Michl <ladis at linux-mips.org>
---
 board/isee/igep00x0/igep00x0.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
index e2fce50..b25716a 100644
--- a/board/isee/igep00x0/igep00x0.c
+++ b/board/isee/igep00x0/igep00x0.c
@@ -10,6 +10,8 @@
 #include <ns16550.h>
 #include <twl4030.h>
 #include <netdev.h>
+#include <spl.h>
+#include <fdt_support.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/mem.h>
@@ -212,3 +214,26 @@ int board_eth_init(bd_t *bis)
 #endif
 }
 #endif
+
+#ifdef CONFIG_SPL_OS_BOOT
+int spl_start_uboot(void)
+{
+	/* break into full u-boot on 'c' */
+	if (serial_tstc() && serial_getc() == 'c')
+		return 1;
+
+	return 0;
+}
+
+void spl_board_prepare_for_linux(void)
+{
+	/* SPL initializes only first bank by default, so init both */
+	dram_init();
+#ifdef CONFIG_SPL_OF_TRANSLATE
+	/* Verify that ARGS is device tree blob and fixup memory node */
+	if (fdt_check_header((const void *)CONFIG_SYS_SPL_ARGS_ADDR) == 0)
+		fdt_fixup_memory((void *)CONFIG_SYS_SPL_ARGS_ADDR,
+				PHYS_SDRAM_1, gd->ram_size);
+#endif
+}
+#endif
-- 
2.1.4



More information about the U-Boot mailing list