[U-Boot] [PATCH v1] arm: socfpga: Enable load zImage and Linux DTB from QSPI

Stefan Roese sr at denx.de
Thu Nov 26 07:12:44 CET 2015


On 26.11.2015 03:32, Chin Liang See wrote:
> Adding new environment qspiload which will load zImage and
> Linux DTB from serial NOR flash. The default flash offset for
> the images as below and they are configurable during run time.
>
> - zImage located at 0xa0000 with assuming file size 6MB
> - Linux DTB located at 0x50000 with assuming file size 28kB
>
> Please adjust the file size env var if exceeding the default
>
> Signed-off-by: Chin Liang See <clsee at altera.com>
> Cc: Dinh Nguyen <dinguyen at opensource.altera.com>
> Cc: Dinh Nguyen <dinh.linux at gmail.com>
> Cc: Pavel Machek <pavel at denx.de>
> Cc: Marek Vasut <marex at denx.de>
> Cc: Stefan Roese <sr at denx.de>
> ---
>   include/configs/socfpga_arria5_socdk.h   | 10 +++++++++-
>   include/configs/socfpga_cyclone5_socdk.h | 10 +++++++++-
>   2 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/include/configs/socfpga_arria5_socdk.h b/include/configs/socfpga_arria5_socdk.h
> index 91ecbf7..0506336 100644
> --- a/include/configs/socfpga_arria5_socdk.h
> +++ b/include/configs/socfpga_arria5_socdk.h
> @@ -77,9 +77,11 @@
>   	"ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
>   		"bootm ${loadaddr} - ${fdt_addr}\0" \
>   	"bootimage=zImage\0" \
> +	"bootimagesize=0x600000\0" \
>   	"fdt_addr=100\0" \
>   	"fdtimage=socfpga.dtb\0" \
> -		"fsloadcmd=ext2load\0" \
> +	"fdtimagesize=0x7000\0" \
> +	"fsloadcmd=ext2load\0" \
>   	"bootm ${loadaddr} - ${fdt_addr}\0" \
>   	"mmcroot=/dev/mmcblk0p2\0" \
>   	"mmcboot=setenv bootargs " CONFIG_BOOTARGS \
> @@ -90,6 +92,12 @@
>   		"load mmc 0:1 ${fdt_addr} ${fdtimage}\0" \
>   	"qspiroot=/dev/mtdblock0\0" \
>   	"qspirootfstype=jffs2\0" \
> +	"qspiloadcs=0\0" \
> +	"qspibootimageaddr=0xa0000\0" \
> +	"qspifdtaddr=0x50000\0" \
> +	"qspiload=sf probe ${qspiloadcs};" \
> +		"sf read ${loadaddr} ${qspibootimageaddr} ${bootimagesize};" \
> +		"sf read ${fdt_addr} ${qspifdtaddr} ${fdtimagesize};\0" \
>   	"qspiboot=setenv bootargs " CONFIG_BOOTARGS \
>   		" root=${qspiroot} rw rootfstype=${qspirootfstype};"\
>   		"bootm ${loadaddr} - ${fdt_addr}\0"
> diff --git a/include/configs/socfpga_cyclone5_socdk.h b/include/configs/socfpga_cyclone5_socdk.h
> index b5cf393..d7369ee 100644
> --- a/include/configs/socfpga_cyclone5_socdk.h
> +++ b/include/configs/socfpga_cyclone5_socdk.h
> @@ -77,9 +77,11 @@
>   	"ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
>   		"bootm ${loadaddr} - ${fdt_addr}\0" \
>   	"bootimage=zImage\0" \
> +	"bootimagesize=0x600000\0" \
>   	"fdt_addr=100\0" \
>   	"fdtimage=socfpga.dtb\0" \
> -		"fsloadcmd=ext2load\0" \
> +	"fdtimagesize=0x7000\0" \
> +	"fsloadcmd=ext2load\0" \
>   	"bootm ${loadaddr} - ${fdt_addr}\0" \
>   	"mmcroot=/dev/mmcblk0p2\0" \
>   	"mmcboot=setenv bootargs " CONFIG_BOOTARGS \
> @@ -90,6 +92,12 @@
>   		"load mmc 0:1 ${fdt_addr} ${fdtimage}\0" \
>   	"qspiroot=/dev/mtdblock0\0" \
>   	"qspirootfstype=jffs2\0" \
> +	"qspiloadcs=0\0" \
> +	"qspibootimageaddr=0xa0000\0" \
> +	"qspifdtaddr=0x50000\0" \
> +	"qspiload=sf probe ${qspiloadcs};" \
> +		"sf read ${loadaddr} ${qspibootimageaddr} ${bootimagesize};" \
> +		"sf read ${fdt_addr} ${qspifdtaddr} ${fdtimagesize};\0" \
>   	"qspiboot=setenv bootargs " CONFIG_BOOTARGS \
>   		" root=${qspiroot} rw rootfstype=${qspirootfstype};"\
>   		"bootm ${loadaddr} - ${fdt_addr}\0"

I know that you didn't introduce this here, but wouldn't it make
sense to switch to the generic FS commands, "load" and "ls" instead
of using the specific ones "ext2load" etc? Especially since EXT2
is a bit deprecated.

Thanks,
Stefan



More information about the U-Boot mailing list