]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
arm64: zynqmp: Define distro boot commnads for qspi and nand
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Thu, 24 Jan 2019 06:02:04 +0000 (11:32 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 28 Jan 2019 07:37:22 +0000 (08:37 +0100)
This patch adds distro boot commands for qspi and nand. The
distro boot commands now reads the script from flash offset
of 63.5MB and executes it.

Setup default location via script_offset_f to 63.5MB to match the most
xilinx reference boards. 512kB allocated space for script size
(script_size_f) should be more than enough to cover custom boot logic.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
include/configs/xilinx_zynqmp.h

index f093f0fd821fdfc7b16ac6d5a3e3a6a085a7117c..6fdf7eecf972a3045d42f8135b4a2ba4eb0bbb43 100644 (file)
        "kernel_addr_r=0x18000000\0" \
        "scriptaddr=0x02000000\0" \
        "ramdisk_addr_r=0x02100000\0" \
+       "script_offset_f=0x3e80000\0" \
+       "script_size_f=0x80000\0" \
 
 #if defined(CONFIG_MMC_SDHCI_ZYNQ)
 # define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0) func(MMC, mmc, 1)
 # define BOOT_TARGET_DEVICES_DHCP(func)
 #endif
 
+#if defined(CONFIG_ZYNQMP_GQSPI)
+# define BOOT_TARGET_DEVICES_QSPI(func)        func(QSPI, qspi, 0)
+#else
+# define BOOT_TARGET_DEVICES_QSPI(func)
+#endif
+
+#if defined(CONFIG_NAND_ARASAN)
+# define BOOT_TARGET_DEVICES_NAND(func)        func(NAND, nand, 0)
+#else
+# define BOOT_TARGET_DEVICES_NAND(func)
+#endif
+
 #define BOOTENV_DEV_XILINX(devtypeu, devtypel, instance) \
        "bootcmd_xilinx=run $modeboot\0"
 
 #define BOOTENV_DEV_NAME_XILINX(devtypeu, devtypel, instance) \
        "xilinx "
 
+#define BOOTENV_DEV_QSPI(devtypeu, devtypel, instance) \
+       "bootcmd_qspi0=sf probe 0 0 0 && " \
+                      "sf read $scriptaddr $script_offset_f $script_size_f && " \
+                      "source ${scriptaddr}; echo SCRIPT FAILED: continuing...;\0"
+
+#define BOOTENV_DEV_NAME_QSPI(devtypeu, devtypel, instance) \
+       "qspi "
+
+#define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \
+       "bootcmd_nand0= nand info && " \
+                      "nand read $scriptaddr $script_offset_f $script_size_f && " \
+                      "source ${scriptaddr}; echo SCRIPT FAILED: continuing...;\0"
+
+#define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
+       "nand "
+
 #define BOOT_TARGET_DEVICES(func) \
        BOOT_TARGET_DEVICES_MMC(func) \
+       BOOT_TARGET_DEVICES_QSPI(func) \
+       BOOT_TARGET_DEVICES_NAND(func) \
        BOOT_TARGET_DEVICES_USB(func) \
        BOOT_TARGET_DEVICES_SCSI(func) \
        BOOT_TARGET_DEVICES_PXE(func) \