mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-18 06:58:54 +00:00
arm64: zynqmp: Add support for generic QSPI boot
This patch is enabling support for SPL QSPI boot. First of all it is necessary to generate atf-spi.ub which is different format than atf-uboot.ub (this can be made as legacy image too) ADDR=`arm-xilinx-linux-gnueabi-readelf -a bl31.elf | grep "Entry point address" | cut -d ':' -f 2 | sed -e 's/^[ \t]*//'` aarch64-linux-gnu-objcopy -O binary bl31.elf bl31.bin ./tools/mkimage -f auto -A arm64 -T firmware -C none -O u-boot -a $ADDR -e $ADDR -n "atf1" -E -b arch/arm/dts/zynqmp-zcu102.dtb -d bl31.bin atf-uboot.ub ./tools/mkimage -A arm64 -T firmware -C none -O u-boot -a $ADDR -e $ADDR -n "atf-for-qspi" -E -d bl31.bin atf-spi.ub This patch is using this QSPI layout with offsets: 0 boot.bin 512k atf-ub 640k u-boot.bin 1280k u-boot.img Which corresponding by writing these images(read from MMC) mmcinfo sf probe load mmc 0 10000000 boot.bin sf erase 0 +$filesize sf write 10000000 0 $filesize load mmc 0 10000000 atf-spi.ub sf erase 0x80000 +$filesize sf write 10000000 0x80000 $filesize load mmc 0 10000000 u-boot.bin sf erase 0xa0000 +$filesize sf write 10000000 0xa0000 $filesize load mmc 0 10000000 u-boot.img sf erase 0x140000 +$filesize sf write 10000000 0x140000 $filesize For testing u-boot running in EL3 you can break atf-spi.ub like this: sf probe sf erase 0x80000 +4 Then u-boot.img is executed. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
8a705a2d4d
commit
24124abe06
2 changed files with 10 additions and 0 deletions
|
@ -804,6 +804,7 @@
|
|||
};
|
||||
|
||||
qspi: spi@ff0f0000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
compatible = "xlnx,zynqmp-qspi-1.0";
|
||||
status = "disabled";
|
||||
clock-names = "ref_clk", "pclk";
|
||||
|
|
|
@ -234,6 +234,15 @@
|
|||
|
||||
#define CONFIG_SPL_FRAMEWORK
|
||||
|
||||
#if defined(CONFIG_SPL_SPI_FLASH_SUPPORT)
|
||||
# define CONFIG_SPL_SPI_LOAD
|
||||
# define CONFIG_SYS_SPI_KERNEL_OFFS 0x80000
|
||||
# define CONFIG_SYS_SPI_ARGS_OFFS 0xa0000
|
||||
# define CONFIG_SYS_SPI_ARGS_SIZE 0xa0000
|
||||
|
||||
# define CONFIG_SYS_SPI_U_BOOT_OFFS 0x170000
|
||||
#endif
|
||||
|
||||
/* u-boot is like dtb */
|
||||
#define CONFIG_SPL_FS_LOAD_ARGS_NAME "u-boot.bin"
|
||||
#define CONFIG_SYS_SPL_ARGS_ADDR 0x8000000
|
||||
|
|
Loading…
Add table
Reference in a new issue