summaryrefslogtreecommitdiff
path: root/lib_mips/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib_mips/board.c')
-rw-r--r--lib_mips/board.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/lib_mips/board.c b/lib_mips/board.c
index 9c997f1..dfe6831 100644
--- a/lib_mips/board.c
+++ b/lib_mips/board.c
@@ -30,6 +30,7 @@
#include <net.h>
#include <environment.h>
#include <nand.h>
+#include <onenand_uboot.h>
#include <spi.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -71,6 +72,15 @@ static ulong mem_malloc_brk;
*/
unsigned long mips_io_port_base = -1;
+int __board_early_init_f(void)
+{
+ /*
+ * Nothing to do in this dummy implementation
+ */
+ return 0;
+}
+int board_early_init_f(void) __attribute__((weak, alias("__board_early_init_f")));
+
/*
* The Malloc area is immediately below the monitor copy in DRAM
*/
@@ -168,6 +178,7 @@ static int init_baudrate (void)
typedef int (init_fnc_t) (void);
init_fnc_t *init_sequence[] = {
+ board_early_init_f,
timer_init,
env_init, /* initialize environment */
#ifdef CONFIG_INCA_IP
@@ -378,6 +389,15 @@ void board_init_r (gd_t *id, ulong dest_addr)
mem_malloc_init();
malloc_bin_reloc();
+#ifdef CONFIG_CMD_NAND
+ puts ("NAND: ");
+ nand_init (); /* go init the NAND */
+#endif
+
+#if defined(CONFIG_CMD_ONENAND)
+ onenand_init();
+#endif
+
/* relocate environment function pointers etc. */
env_relocate();
@@ -419,11 +439,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
}
#endif
-#ifdef CONFIG_CMD_NAND
- puts ("NAND: ");
- nand_init (); /* go init the NAND */
-#endif
-
#ifdef CONFIG_CMD_SPI
puts ("SPI: ");
spi_init (); /* go init the SPI */