From d3f34e752dd432eb75e50b2f2ab44d0849b3deef Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Fri, 10 Jul 2015 00:04:23 +0200 Subject: arm: socfpga: spl: Add support for booting from SD/MMC Add code and configuration options to support booting from RAW SD/MMC card as well as for ext4/vfat filesystems. Enable support for booting from SD/MMC card, but don't enable the filesystem support just yet to retain compatibility with old SoCFPGA card format. Signed-off-by: Marek Vasut --- arch/arm/mach-socfpga/spl.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'arch/arm/mach-socfpga') diff --git a/arch/arm/mach-socfpga/spl.c b/arch/arm/mach-socfpga/spl.c index ea0ed1a24d..bacc845cd4 100644 --- a/arch/arm/mach-socfpga/spl.c +++ b/arch/arm/mach-socfpga/spl.c @@ -31,8 +31,25 @@ static struct nic301_registers *nic301_regs = u32 spl_boot_device(void) { +#ifdef CONFIG_SPL_MMC_SUPPORT + socfpga_per_reset(SOCFPGA_RESET(SDMMC), 0); + socfpga_per_reset(SOCFPGA_RESET(DMA), 0); + return BOOT_DEVICE_MMC1; +#else return BOOT_DEVICE_RAM; +#endif +} + +#ifdef CONFIG_SPL_MMC_SUPPORT +u32 spl_boot_mode(void) +{ +#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT) + return MMCSD_MODE_FS; +#else + return MMCSD_MODE_RAW; +#endif } +#endif static void socfpga_nic301_slave_ns(void) { -- cgit v1.2.1