#include <serial.h>
#include <spi.h>
#include <stdio_dev.h>
+#include <timer.h>
#include <trace.h>
#include <watchdog.h>
#ifdef CONFIG_CMD_AMBAPP
#ifdef CONFIG_AVR32
#include <asm/arch/mmu.h>
#endif
+#include <efi_loader.h>
DECLARE_GLOBAL_DATA_PTR;
*/
gd->fdt_blob += gd->reloc_off;
#endif
+#ifdef CONFIG_EFI_LOADER
+ efi_runtime_relocate(gd->relocaddr, NULL);
+#endif
return 0;
}
return 0;
}
-#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
static int initr_trap(void)
{
/*
#ifdef CONFIG_DM
static int initr_dm(void)
{
+ int ret;
+
/* Save the pre-reloc driver model and start a new one */
gd->dm_root_f = gd->dm_root;
gd->dm_root = NULL;
#ifdef CONFIG_TIMER
gd->timer = NULL;
#endif
- return dm_init_and_scan(false);
+ ret = dm_init_and_scan(false);
+ if (ret)
+ return ret;
+#ifdef CONFIG_TIMER_EARLY
+ ret = dm_timer_init();
+ if (ret)
+ return ret;
+#endif
+
+ return 0;
}
#endif
}
#endif
-#if defined(CONFIG_CMD_SCSI)
+#if defined(CONFIG_SCSI)
static int initr_scsi(void)
{
puts("SCSI: ");
*/
#ifdef CONFIG_CLOCKS
set_cpu_clk_info, /* Setup clock information */
+#endif
+#ifdef CONFIG_EFI_LOADER
+ efi_memory_init,
#endif
stdio_init_tables,
initr_serial,
#ifdef CONFIG_NEEDS_MANUAL_RELOC
initr_manual_reloc_cmdtable,
#endif
-#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
initr_trap,
#endif
#ifdef CONFIG_ADDR_MAP
initr_ambapp_print,
#endif
#endif
-#ifdef CONFIG_CMD_SCSI
+#ifdef CONFIG_SCSI
INIT_FUNC_WATCHDOG_RESET
initr_scsi,
#endif