From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Date: Fri, 25 Jan 2019 12:25:31 +0100 Subject: [U-Boot] [PATCH 2/2] arm64: zynqmp: Define distro boot commnads for qspi and nand In-Reply-To: References: Message-ID: <212d51b3-1440-415c-40c6-ba4815dd20fc@suse.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 24.01.19 16:31, Michal Simek wrote: > From: Siva Durga Prasad Paladugu > > 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 > Signed-off-by: Michal Simek > --- > > include/configs/xilinx_zynqmp.h | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h > index d0515fa9bc46..5eeae6331e1c 100644 > --- a/include/configs/xilinx_zynqmp.h > +++ b/include/configs/xilinx_zynqmp.h > @@ -129,6 +129,8 @@ > "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) > @@ -160,8 +162,38 @@ > # 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_QSPI(devtypeu, devtypel, instance) \ > + "bootcmd_qspi0=sf probe 0 0 0 && " \ This > + "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 && " \ and this will emit errors if no device was found, right? That might be confusing for a user, if all he sees is a scary "device not found" message which simply only occurs because he doesn't have nand populated. Alex > + "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) \ >