]> git.sur5r.net Git - u-boot/blobdiff - board/freescale/p1_p2_rdb_pc/spl.c
VCMA9: remove EXT2 support
[u-boot] / board / freescale / p1_p2_rdb_pc / spl.c
index 07fab463491c520e87c6c5a47601ba449a8133e8..8d0d850480212c881e0a8b3eb94518e7af8a27a7 100644 (file)
@@ -20,7 +20,7 @@ static const u32 sysclk_tbl[] = {
        99999000, 11111000, 12499800, 13333200
 };
 
-ulong get_effective_memsize(void)
+phys_size_t get_effective_memsize(void)
 {
        return CONFIG_SYS_L2_SIZE;
 }
@@ -83,12 +83,21 @@ void board_init_r(gd_t *gd, ulong dest_addr)
        mem_malloc_init(CONFIG_SPL_RELOC_MALLOC_ADDR,
                        CONFIG_SPL_RELOC_MALLOC_SIZE);
 
+#ifndef CONFIG_SPL_NAND_BOOT
        env_init();
+#endif
 #ifdef CONFIG_SPL_MMC_BOOT
        mmc_initialize(bd);
 #endif
        /* relocate environment function pointers etc. */
+#ifdef CONFIG_SPL_NAND_BOOT
+       nand_spl_load_image(CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE,
+                           (uchar *)CONFIG_ENV_ADDR);
+       gd->env_addr  = (ulong)(CONFIG_ENV_ADDR);
+       gd->env_valid = 1;
+#else
        env_relocate();
+#endif
 
 #ifdef CONFIG_SYS_I2C
        i2c_init_all();
@@ -97,11 +106,17 @@ void board_init_r(gd_t *gd, ulong dest_addr)
 #endif
 
        gd->ram_size = initdram(0);
+#ifdef CONFIG_SPL_NAND_BOOT
+       puts("Tertiary program loader running in sram...");
+#else
        puts("Second program loader running in sram...\n");
+#endif
 
 #ifdef CONFIG_SPL_MMC_BOOT
        mmc_boot();
 #elif defined(CONFIG_SPL_SPI_BOOT)
        spi_boot();
+#elif defined(CONFIG_SPL_NAND_BOOT)
+       nand_boot();
 #endif
 }