I am working on the VF610TWR dev-kit. I wish to boot u-boot from QSPI, but have been unsuccessful in my attempts thus far.
I initially tried to simply copy U-Boot to 0x400 of QSPI0, which did not work. I understand that there are some settings that need to be copied to 0x00 of QSPI0.
The qspi_load project included in the "Vybrid Sample code"-package defines these settings, but I am still unclear on how to do this when I already have a binary (u-boot.imx).
This link describes a file (qspic.imx) that contain these settings and which is copied to the previously mentioned location, but does not specify how to obtain or generate this file.
Does anyone have any pointers related to this?
Cheers.
Hi,
Have you tried to use mfgtool to flash your application?
Using Mfg_tool to flash at QuadSPI1 interface
/Alejandro
Using the manufacturing tool seem to work. Attached is the profile I used.
Using mfg_tool is however not ideal seeing as I am currently working in Linux. This link describes how to download the program image to QSPI, but the attached source fails to build on my system.
Hello Thomas,
Where are the files included in your ZIP originating from? Were out instructions provided further up the thread on June 12th not sufficient?
Thank you,
Timesys Support
The included ZIP contains files generated using mfgTool.
I am (finally) following up the instructions from the thread posted Juine 12th. I'll keep in touch.
Hi,
Just to clarify, do you want to use mfgtool in Linux? or what tool you want to use ?
/Alejandro
timesyssupport please continue with the follow up.
Hello Thomas,
Another engineer here at Timesys had investigated QSPI; at this time, I'm not able to provide any insight, but will once the engineer has provided further information.
Can you clarify where you are obtaining the Vybrid Sample Code from?
Thank you,
Timesys Support
Hello Thomas,
We have notes on booting from QSPI, but they aren't really user-friendly. If you could allow us a bit more time, I will follow up with a process to flash and boot from QSPI.
Thank you,
Timesys Support
No problem. Could you link me the original notes in the mean time?
Cheers.
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
timesyssupport can you continue with the follow up?
timesyssupport can you help with this case?