# U-Boot commands: program the Zynq-7000 QSPI -- TEMPLATE from release_zynq7k.
# Fill the lengths, CRC32 and offsets from scripts/qspi_image.py --layout output
# and the board's flash layout; keep the IP addresses as placeholders.
# Paste one line at a time on the PS console after stopping autoboot, and check
# every crc32 / cmp.b result.  A failed tftpboot must stop the sequence: never
# let stale DDR content be written.
#   BOOT.BIN        len <LEN_BOOT>  crc32 <CRC_BOOT>   -> QSPI 0x0
#   (bootenv)       <ENV_OFF>, <ENV_LEN> erased        -> default bootcmd
#   image.ub.qspi   len <LEN_KERN>  crc32 <CRC_KERN>   -> QSPI <KERN_OFF>
setenv ipaddr <BOARD_IP>
setenv serverip <PC_IP>
tftpboot 0x10000000 BOOT.BIN
crc32 0x10000000 <LEN_BOOT>
tftpboot 0x11000000 image.ub.qspi
crc32 0x11000000 <LEN_KERN>
sf probe 0
sf erase 0x0 <BOOT_ERASE_LEN>
sf write 0x10000000 0x0 <LEN_BOOT>
sf read 0x12000000 0x0 <LEN_BOOT>
cmp.b 0x10000000 0x12000000 <LEN_BOOT>
crc32 0x12000000 <LEN_BOOT>
sf erase <ENV_OFF> <ENV_LEN>
sf erase <KERN_OFF> <KERN_ERASE_LEN>
sf write 0x11000000 <KERN_OFF> <LEN_KERN>
sf read 0x13000000 <KERN_OFF> <LEN_KERN>
cmp.b 0x11000000 0x13000000 <LEN_KERN>
crc32 0x13000000 <LEN_KERN>
