summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/armv7/ls102xa/spl.c
diff options
context:
space:
mode:
authorAlison Wang <b18965@freescale.com>2014-12-03 15:00:47 +0800
committerYork Sun <yorksun@freescale.com>2014-12-11 09:39:22 -0800
commit86949c2b7c94542c20767c405fc458346bd3975b (patch)
tree7ab36213ccc4ae4e92b5df1624cc4a10e0bbc7c0 /arch/arm/cpu/armv7/ls102xa/spl.c
parent2565d18de0c57d95b32686f11aa98fd40d8a7e26 (diff)
downloadblackbird-obmc-uboot-86949c2b7c94542c20767c405fc458346bd3975b.tar.gz
blackbird-obmc-uboot-86949c2b7c94542c20767c405fc458346bd3975b.zip
arm: ls102xa: Add SD boot support for LS1021AQDS board
This patch adds SD boot support for LS1021AQDS board. SPL framework is used. PBL initialize the internal RAM and copy SPL to it, then SPL initialize DDR using SPD and copy u-boot from SD card to DDR, finally SPL transfer control to u-boot. Signed-off-by: Alison Wang <alison.wang@freescale.com> Signed-off-by: Jason Jin <jason.jin@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'arch/arm/cpu/armv7/ls102xa/spl.c')
-rw-r--r--arch/arm/cpu/armv7/ls102xa/spl.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/ls102xa/spl.c b/arch/arm/cpu/armv7/ls102xa/spl.c
new file mode 100644
index 0000000000..1dfbf54802
--- /dev/null
+++ b/arch/arm/cpu/armv7/ls102xa/spl.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2014 Freescale Semiconductor, Inc.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <spl.h>
+
+u32 spl_boot_device(void)
+{
+#ifdef CONFIG_SPL_MMC_SUPPORT
+ return BOOT_DEVICE_MMC1;
+#endif
+ return BOOT_DEVICE_NAND;
+}
+
+u32 spl_boot_mode(void)
+{
+ switch (spl_boot_device()) {
+ case BOOT_DEVICE_MMC1:
+#ifdef CONFIG_SPL_FAT_SUPPORT
+ return MMCSD_MODE_FAT;
+#else
+ return MMCSD_MODE_RAW;
+#endif
+ case BOOT_DEVICE_NAND:
+ return 0;
+ default:
+ puts("spl: error: unsupported device\n");
+ hang();
+ }
+}
OpenPOWER on IntegriCloud