Hello Thomas,
Those notes are internal here at Timesys; I have asked that we publish a guide for this in the future - if anything is missing/not obvious, please don't hesitate to follow up and we will assist.
Generally, these steps were used (echos noted just in case this is scripted):
Append a SPI Flash header, according to you part, to the start of the the u-boot binary, u-boot.imx
(Refer to 19.5.1.5 QuadSPI Configuration Parameters, QuadSPI Configuration Parameters, Chapter System Boot, page 829. in reference manual.) Attached is a reference, for the Vybrid Tower Eval Kit.
Boot the Vybrid TWR from SD card and then write the uboot, kernel, dtb and fs to qspi flash using the below commands:
echo "erasing mtd4"
flash_erase /dev/mtd4 0 0
echo "erasing mtd5"
flash_erase /dev/mtd5 0 0
echo "erasing mtd6"
flash_erase /dev/mtd6 0 0
echo "erasing mtd7"
flash_erase /dev/mtd7 0 0
echo "writing uboot to spi flash offset 0"
nandwrite -p -m /dev/mtd4 /home/u-boot.imx
echo "writing device tree to spi flash offset 0x100000"
nandwrite -p -m /dev/mtd5 /home/vf610-twr.dtb
echo "writing kernel to spi flash offset 0x200000"
nandwrite -p -m /dev/mtd6 /home/uImage
echo "Done"
- To boot uboot from QSPI, change the boot config appropriately to boot from QSPI. (See boot config section in schematics).
Once at the uboot prompt, use the below command to load the kernel and dtb from serial flash:
sf probe 0; sf probe 1; sf read 0x82000000 <dtb_partition_offset-0x100000> <size_of_dtb_file>; sf read 0x81000000 <dtb_partition_offset-0x200000> <size_of_kernel>; bootm 0x81000000 - 0x82000000