net: fm: add TFABOOT support
[oweals/u-boot.git] / common / board_r.c
index 9402c0ef2194f26a8cd37ca1dc43fd9191e09986..21d3b3c64c648806e13ff7c4937fbfb7714f48b2 100644 (file)
@@ -140,15 +140,12 @@ static int initr_reloc_global_data(void)
         */
        fixup_cpu();
 #endif
-#ifdef CONFIG_SYS_EXTRA_ENV_RELOC
+#if !defined(CONFIG_ENV_ADDR) || defined(ENV_IS_EMBEDDED)
        /*
-        * Some systems need to relocate the env_addr pointer early because the
-        * location it points to will get invalidated before env_relocate is
-        * called.  One example is on systems that might use a L2 or L3 cache
-        * in SRAM mode and initialize that cache from SRAM mode back to being
-        * a cache in cpu_init_r.
+        * Relocate the early env_addr pointer unless we know it is not inside
+        * the binary. Some systems need this and for the rest, it doesn't hurt.
         */
-       gd->env_addr += gd->relocaddr - CONFIG_SYS_MONITOR_BASE;
+       gd->env_addr += gd->reloc_off;
 #endif
 #ifdef CONFIG_OF_EMBED
        /*
@@ -456,7 +453,8 @@ static int initr_env(void)
        else
                set_default_env(NULL, 0);
 #ifdef CONFIG_OF_CONTROL
-       env_set_addr("fdtcontroladdr", gd->fdt_blob);
+       env_set_hex("fdtcontroladdr",
+                   (unsigned long)map_to_sysmem(gd->fdt_blob));
 #endif
 
        /* Initialize from environment */
@@ -746,7 +744,7 @@ static init_fnc_t init_sequence_r[] = {
        /* initialize higher level parts of CPU like time base and timers */
        cpu_init_r,
 #endif
-#ifdef CONFIG_PPC
+#if defined(CONFIG_PPC) && !defined(CONFIG_DM_SPI)
        initr_spi,
 #endif
 #ifdef CONFIG_CMD_NAND