]> git.sur5r.net Git - u-boot/blobdiff - common/board_r.c
Merge branch 'master' of git://www.denx.de/git/u-boot-microblaze
[u-boot] / common / board_r.c
index 5af32dd65be2632d3df7b8b1fd5cbc4126007929..d959ad3c6f90ea2c2a422b6878c11a5437764a2c 100644 (file)
@@ -15,6 +15,7 @@
 #if defined(CONFIG_CMD_BEDBUG)
 #include <bedbug/type.h>
 #endif
+#include <command.h>
 #include <console.h>
 #ifdef CONFIG_HAS_DATAFLASH
 #include <dataflash.h>
@@ -45,6 +46,7 @@
 #include <serial.h>
 #include <spi.h>
 #include <stdio_dev.h>
+#include <timer.h>
 #include <trace.h>
 #include <watchdog.h>
 #ifdef CONFIG_CMD_AMBAPP
@@ -63,6 +65,7 @@
 #ifdef CONFIG_AVR32
 #include <asm/arch/mmu.h>
 #endif
+#include <efi_loader.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -175,6 +178,9 @@ static int initr_reloc_global_data(void)
        */
        gd->fdt_blob += gd->reloc_off;
 #endif
+#ifdef CONFIG_EFI_LOADER
+       efi_runtime_relocate(gd->relocaddr, NULL);
+#endif
 
        return 0;
 }
@@ -311,13 +317,24 @@ static int initr_noncached(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
 
@@ -455,7 +472,7 @@ static int initr_dataflash(void)
 /*
  * Tell if it's OK to load the environment early in boot.
  *
- * If CONFIG_OF_CONFIG is defined, we'll check with the FDT to see
+ * If CONFIG_OF_CONTROL is defined, we'll check with the FDT to see
  * if this is OK (defaulting to saying it's OK).
  *
  * NOTE: Loading the environment early can be a bad idea if security is
@@ -603,7 +620,7 @@ static int initr_ambapp_print(void)
 }
 #endif
 
-#if defined(CONFIG_CMD_SCSI)
+#if defined(CONFIG_SCSI)
 static int initr_scsi(void)
 {
        puts("SCSI:  ");
@@ -779,6 +796,9 @@ init_fnc_t init_sequence_r[] = {
         */
 #ifdef CONFIG_CLOCKS
        set_cpu_clk_info, /* Setup clock information */
+#endif
+#ifdef CONFIG_EFI_LOADER
+       efi_memory_init,
 #endif
        stdio_init_tables,
        initr_serial,
@@ -903,7 +923,7 @@ init_fnc_t init_sequence_r[] = {
        initr_ambapp_print,
 #endif
 #endif
-#ifdef CONFIG_CMD_SCSI
+#ifdef CONFIG_SCSI
        INIT_FUNC_WATCHDOG_RESET
        initr_scsi,
 #endif