diff options
Diffstat (limited to 'arch/arm/mach-mvebu/spl.c')
-rw-r--r-- | arch/arm/mach-mvebu/spl.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c index 402e520ea99..af61ded42ef 100644 --- a/arch/arm/mach-mvebu/spl.c +++ b/arch/arm/mach-mvebu/spl.c @@ -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(); |