How to boot u-boot from QSPI

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to boot u-boot from QSPI

7,603 Views
tfe
Contributor V

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.

Labels (4)
13 Replies

3,000 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi,

Have you tried to use mfgtool to flash your application?

Using Mfg_tool to flash at QuadSPI1 interface

/Alejandro

3,000 Views
tfe
Contributor V

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.

0 Kudos

3,000 Views
timesyssupport
Senior Contributor II

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

0 Kudos

3,000 Views
tfe
Contributor V

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.

0 Kudos

3,000 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi,

Just to clarify, do you want to use mfgtool in Linux? or what tool you want to use ?

/Alejandro

0 Kudos

3,000 Views
karina_valencia
NXP Apps Support
NXP Apps Support

timesyssupport​ please continue with the follow up.

0 Kudos

3,000 Views
timesyssupport
Senior Contributor II

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

0 Kudos

3,000 Views
tfe
Contributor V

The Vybrid Sample Code can be found here:

Sample Code for Vybrid Controller Tower System

Cheers

0 Kudos

3,000 Views
timesyssupport
Senior Contributor II

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

3,000 Views
tfe
Contributor V

No problem. Could you link me the original notes in the mean time?

Cheers.

0 Kudos

3,000 Views
timesyssupport
Senior Contributor II

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

0 Kudos

3,000 Views
karina_valencia
NXP Apps Support
NXP Apps Support

timesyssupport​ can you  continue with the follow up?

0 Kudos

3,001 Views
karina_valencia
NXP Apps Support
NXP Apps Support

timesyssupport​ can you help with this case?

0 Kudos