diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index d2abf31..a908004 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -10,8 +10,8 @@
 obj-$(CONFIG_AT91SAM9N12) += mpddrc.o spl_at91.o
 obj-$(CONFIG_AT91SAM9X5) += mpddrc.o spl_at91.o
 obj-$(CONFIG_SAMA5D2) += bootparams_atmel.o mpddrc.o spl_atmel.o matrix.o atmel_sfr.o
-obj-$(CONFIG_SAMA5D3) += mpddrc.o spl_atmel.o
-obj-$(CONFIG_SAMA5D4) += mpddrc.o spl_atmel.o matrix.o atmel_sfr.o
+obj-$(CONFIG_SAMA5D3) += bootparams_atmel.o mpddrc.o spl_atmel.o
+obj-$(CONFIG_SAMA5D4) += bootparams_atmel.o mpddrc.o spl_atmel.o matrix.o atmel_sfr.o
 obj-y += spl.o
 endif
 
diff --git a/arch/arm/mach-at91/include/mach/sama5_boot.h b/arch/arm/mach-at91/include/mach/sama5_boot.h
new file mode 100644
index 0000000..8911a44
--- /dev/null
+++ b/arch/arm/mach-at91/include/mach/sama5_boot.h
@@ -0,0 +1,25 @@
+/*
+ * Boot mode definitions for the SAMA5Dx SoC
+ *
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __SAMA5_BOOT_H
+#define __SAMA5_BOOT_H
+
+/* Boot modes stored by BootROM in r4 */
+#define ATMEL_SAMA5_BOOT_FROM_OFF	0
+#define ATMEL_SAMA5_BOOT_FROM_MASK	0xf
+#define ATMEL_SAMA5_BOOT_FROM_SPI	(0 << 0)
+#define ATMEL_SAMA5_BOOT_FROM_MCI	(1 << 0)
+#define ATMEL_SAMA5_BOOT_FROM_SMC	(2 << 0)
+#define ATMEL_SAMA5_BOOT_FROM_TWI	(3 << 0)
+#define ATMEL_SAMA5_BOOT_FROM_QSPI	(4 << 0)
+#define ATMEL_SAMA5_BOOT_FROM_SAMBA	(7 << 0)
+
+#define ATMEL_SAMA5_BOOT_DEV_ID_OFF	4
+#define ATMEL_SAMA5_BOOT_DEV_ID_MASK	0xf
+
+#endif /* __SAMA5_BOOT_H */
diff --git a/arch/arm/mach-at91/include/mach/sama5d2.h b/arch/arm/mach-at91/include/mach/sama5d2.h
index ee841da..25c8541 100644
--- a/arch/arm/mach-at91/include/mach/sama5d2.h
+++ b/arch/arm/mach-at91/include/mach/sama5d2.h
@@ -230,18 +230,6 @@
 /* No PMECC Galois table in ROM */
 #define NO_GALOIS_TABLE_IN_ROM
 
-/* Boot modes stored by BootROM in r4 */
-#define ATMEL_SAMA5D2_BOOT_FROM_OFF	0
-#define ATMEL_SAMA5D2_BOOT_FROM_MASK	0xf
-#define ATMEL_SAMA5D2_BOOT_FROM_SPI	(0 << 0)
-#define ATMEL_SAMA5D2_BOOT_FROM_MCI	(1 << 0)
-#define ATMEL_SAMA5D2_BOOT_FROM_SMC	(2 << 0)
-#define ATMEL_SAMA5D2_BOOT_FROM_TWI	(3 << 0)
-#define ATMEL_SAMA5D2_BOOT_FROM_QSPI	(4 << 0)
-
-#define ATMEL_SAMA5D2_BOOT_DEV_ID_OFF	4
-#define ATMEL_SAMA5D2_BOOT_DEV_ID_MASK	0xf
-
 #ifndef __ASSEMBLY__
 unsigned int get_chip_id(void);
 unsigned int get_extension_chip_id(void);
diff --git a/arch/arm/mach-at91/spl.c b/arch/arm/mach-at91/spl.c
index c4ed224..f255b59 100644
--- a/arch/arm/mach-at91/spl.c
+++ b/arch/arm/mach-at91/spl.c
@@ -23,20 +23,22 @@
 }
 #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 @@
 #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);
 
