summaryrefslogtreecommitdiff
path: root/arch/arm/mach-at91/spl.c
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2016-05-14 23:43:01 +0200
committerAndreas Bießmann <andreas@biessmann.org>2016-06-12 23:49:38 +0200
commit1c24f13f694e94650211607dc0365d654577e259 (patch)
treee5294ccfc9cdcc92fefd428e53692442daecf516 /arch/arm/mach-at91/spl.c
parent885fc03aab946d3c0a842aaf32f9513e3a7c8c20 (diff)
downloadu-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.c19
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);