diff options
author | Marek Vasut <marex@denx.de> | 2016-05-14 23:43:01 +0200 |
---|---|---|
committer | Andreas Bießmann <andreas@biessmann.org> | 2016-06-12 23:49:38 +0200 |
commit | 1c24f13f694e94650211607dc0365d654577e259 (patch) | |
tree | e5294ccfc9cdcc92fefd428e53692442daecf516 /arch/arm/mach-at91/spl.c | |
parent | 885fc03aab946d3c0a842aaf32f9513e3a7c8c20 (diff) | |
download | u-boot-1c24f13f694e94650211607dc0365d654577e259.tar.gz |
ARM: at91: sama5: Extend boot device autodetection
Extend the boot device autodetection from SAMA5D2 only to the entire
SAMA5Dx family of microcontrollers.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Wenyou Yang <wenyou.yang@atmel.com>
Reviewed-by: Andreas Bießmann <andreas@biessmann.org>
[minor compile fix for SAMA5D2]
Signed-off-by: Andreas Bießmann <andreas@biessmann.org>
Diffstat (limited to 'arch/arm/mach-at91/spl.c')
-rw-r--r-- | arch/arm/mach-at91/spl.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/arch/arm/mach-at91/spl.c b/arch/arm/mach-at91/spl.c index c4ed224d03..f255b59195 100644 --- a/arch/arm/mach-at91/spl.c +++ b/arch/arm/mach-at91/spl.c @@ -23,20 +23,22 @@ void at91_disable_wdt(void) } #endif -#if defined(CONFIG_SAMA5D2) +#if defined(CONFIG_SAMA5D2) || defined(CONFIG_SAMA5D3) || \ + defined(CONFIG_SAMA5D4) +#include <asm/arch/sama5_boot.h> struct { u32 r4; } bootrom_stash __attribute__((section(".data"))); u32 spl_boot_device(void) { - u32 dev = (bootrom_stash.r4 >> ATMEL_SAMA5D2_BOOT_FROM_OFF) & - ATMEL_SAMA5D2_BOOT_FROM_MASK; - u32 off = (bootrom_stash.r4 >> ATMEL_SAMA5D2_BOOT_DEV_ID_OFF) & - ATMEL_SAMA5D2_BOOT_DEV_ID_MASK; + u32 dev = (bootrom_stash.r4 >> ATMEL_SAMA5_BOOT_FROM_OFF) & + ATMEL_SAMA5_BOOT_FROM_MASK; + u32 off = (bootrom_stash.r4 >> ATMEL_SAMA5_BOOT_DEV_ID_OFF) & + ATMEL_SAMA5_BOOT_DEV_ID_MASK; #if defined(CONFIG_SYS_USE_MMC) - if (dev == ATMEL_SAMA5D2_BOOT_FROM_MCI) { + if (dev == ATMEL_SAMA5_BOOT_FROM_MCI) { if (off == 0) return BOOT_DEVICE_MMC1; if (off == 1) @@ -47,10 +49,13 @@ u32 spl_boot_device(void) #endif #if defined(CONFIG_SYS_USE_SERIALFLASH) || defined(CONFIG_SYS_USE_SPIFLASH) - if (dev == ATMEL_SAMA5D2_BOOT_FROM_SPI) + if (dev == ATMEL_SAMA5_BOOT_FROM_SPI) return BOOT_DEVICE_SPI; #endif + if (dev == ATMEL_SAMA5_BOOT_FROM_SAMBA) + return BOOT_DEVICE_USB; + printf("ERROR: SMC/TWI/QSPI boot device not supported!\n" " Boot device %i, controller number %i\n", dev, off); |