diff --git a/board/aries/ma5d4evk/ma5d4evk.c b/board/aries/ma5d4evk/ma5d4evk.c
index 0293b29d0ea628784e87ed5515d70c293f59a78a..6393948c496315bfd3adb520057a131add3a2ebd 100644
--- a/board/aries/ma5d4evk/ma5d4evk.c
+++ b/board/aries/ma5d4evk/ma5d4evk.c
@@ -22,6 +22,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <spi.h>
+#include <spl.h>
 #include <version.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -345,6 +346,23 @@ void spl_board_init(void)
 #endif
 }
 
+void board_boot_order(u32 *spl_boot_list)
+{
+	spl_boot_list[0] = spl_boot_device();
+
+	switch (spl_boot_list[0]) {
+	case BOOT_DEVICE_MMC1:
+	case BOOT_DEVICE_MMC2:
+		spl_boot_list[0] = BOOT_DEVICE_MMC1;
+		break;
+	case BOOT_DEVICE_SPI:
+		break;
+	case BOOT_DEVICE_USB:
+		spl_boot_list[0] = BOOT_DEVICE_MMC2;
+		break;
+	}
+}
+
 static void ddr2_conf(struct atmel_mpddrc_config *ddr2)
 {
 	ddr2->md = (ATMEL_MPDDRC_MD_DBW_32_BITS | ATMEL_MPDDRC_MD_DDR2_SDRAM);