]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/mach-mvebu/spl.c
ARM: keystone2: Cleanup SoC detection
[u-boot] / arch / arm / mach-mvebu / spl.c
index 402e520ea996edf44d487b2c41a802af2482208b..af61ded42efe070ffe6d3102748a69c2735f57d7 100644 (file)
@@ -14,10 +14,21 @@ DECLARE_GLOBAL_DATA_PTR;
 
 u32 spl_boot_device(void)
 {
-       /* Right now only booting via SPI NOR flash is supported */
+#if defined(CONFIG_SPL_SPI_FLASH_SUPPORT)
        return BOOT_DEVICE_SPI;
+#endif
+#if defined(CONFIG_SPL_MMC_SUPPORT)
+       return BOOT_DEVICE_MMC1;
+#endif
 }
 
+#ifdef CONFIG_SPL_MMC_SUPPORT
+u32 spl_boot_mode(void)
+{
+       return MMCSD_MODE_RAW;
+}
+#endif
+
 void board_init_f(ulong dummy)
 {
        /* Set global data pointer */
@@ -26,8 +37,17 @@ void board_init_f(ulong dummy)
        /* Linux expects the internal registers to be at 0xf1000000 */
        arch_cpu_init();
 
+       /*
+        * Pin muxing needs to be done before UART output, since
+        * on A38x the UART pins need some re-muxing for output
+        * to work.
+        */
+       board_early_init_f();
+
        preloader_console_init();
 
+       timer_init();
+
        /* First init the serdes PHY's */
        serdes_phy_config();