summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/configs/socfpga_common.h18
-rw-r--r--include/configs/socfpga_cyclone5_socdk.h18
2 files changed, 36 insertions, 0 deletions
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 7577e2471d..017a1247ba 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -267,11 +267,28 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
#define BOOT_TARGET_DEVICES_MMC(func)
#endif
+#ifdef CONFIG_CMD_SF
+#define BOOT_TARGET_DEVICES_QSPI(func) func(QSPI, qspi, na)
+#else
+#define BOOT_TARGET_DEVICES_QSPI(func)
+#endif
+
+#define BOOTENV_DEV_QSPI(devtypeu, devtypel, instance) \
+ "bootcmd_qspi=run qspiload; run qspiboot\0"
+
+#define BOOTENV_DEV_NAME_QSPI(devtypeu, devtypel, instance) \
+ "qspi "
+
#define BOOT_TARGET_DEVICES(func) \
BOOT_TARGET_DEVICES_MMC(func) \
+ BOOT_TARGET_DEVICES_QSPI(func) \
BOOT_TARGET_DEVICES_PXE(func) \
BOOT_TARGET_DEVICES_DHCP(func)
+#ifndef SOCFPGA_BOOT_SETTINGS
+#define SOCFPGA_BOOT_SETTINGS
+#endif
+
#include <config_distro_bootcmd.h>
#ifndef CONFIG_EXTRA_ENV_SETTINGS
@@ -284,6 +301,7 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
"pxefile_addr_r=0x02200000\0" \
"ramdisk_addr_r=0x02300000\0" \
"socfpga_legacy_reset_compat=1\0" \
+ SOCFPGA_BOOT_SETTINGS \
BOOTENV
#endif
diff --git a/include/configs/socfpga_cyclone5_socdk.h b/include/configs/socfpga_cyclone5_socdk.h
index 18da8496ef..63313615e6 100644
--- a/include/configs/socfpga_cyclone5_socdk.h
+++ b/include/configs/socfpga_cyclone5_socdk.h
@@ -16,6 +16,24 @@
/* Ethernet on SoC (EMAC) */
+/* QSPI boot */
+#define FDT_SIZE __stringify(0x00010000)
+#define KERNEL_SIZE __stringify(0x005d0000)
+#define QSPI_FDT_ADDR __stringify(0x00220000)
+#define QSPI_KERNEL_ADDR __stringify(0x00230000)
+
+#define SOCFPGA_BOOT_SETTINGS \
+ "fdt_size=" FDT_SIZE "\0" \
+ "kernel_size=" KERNEL_SIZE "\0" \
+ "qspi_fdt_addr=" QSPI_FDT_ADDR "\0" \
+ "qspi_kernel_addr=" QSPI_KERNEL_ADDR "\0" \
+ "qspiboot=setenv bootargs earlycon " \
+ "root=/dev/mtdblock1 rw rootfstype=jffs2; " \
+ "bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
+ "qspiload=sf probe; " \
+ "sf read ${kernel_addr_r} ${qspi_kernel_addr} ${kernel_size}; " \
+ "sf read ${fdt_addr_r} ${qspi_fdt_addr} ${fdt_size}\0"
+
/* The rest of the configuration is shared */
#include <configs/socfpga_common.h>