UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer mkipper
Observer
3,385 Views
Registered: ‎11-14-2016

Zynq BootROM with parallel QSPI flash chips

I have a Zynq-based board that is connected via QSPI to two 16MB flash chips in a parallel arrangement, and I'm having some issues getting my system to boot. I've created a boot.bin file, and when I load it over JTAG I have no issues. The problems come up when I try to write it to flash and reboot. 

 

I have the Zynq QSPI driver enabled in U-Boot, and U-Boot correctly identifies my chip as 32MB (2x16MB). I can do reads/writes and everything seems good. I haven't actually scoped the QSPI lines, but if I write data from RAM to flash and read it back there are no issues. Also, based on the bitrates I'm seeing, I'm 99% sure that it's doing things in parallel QSPI mode. 

 

However, when I try to write my boot.bin image from RAM to flash and restart, my system doesn't show any signs of life. When I read back the flash from QSPI, it matches up with the boot.bin file's contents.

 

I'm new to the whole Zynq BootROM thing, so I'm posting this in the hopes that I'm missing something obvious. Do I need to enable a certain bootgen flag? I see -dual_qspi_mode, but that supposedly creates two files. If this is the golden ticket, how would I write these two files to flash using U-Boot?

 

I'm just looking for some high-level direction here. I'm not very experienced with this platform so I'm sorry if this has been asked before. 

0 Kudos
4 Replies
Adventurer
Adventurer
3,273 Views
Registered: ‎06-08-2015

Re: Zynq BootROM with parallel QSPI flash chips

I've only written to parallel QSPI flash using the Xilinx SDK "Program Flash" menu function. I've found that it is important to specify the Flash Type as "qspi_dual_parallel" or the boot fails.

0 Kudos
Observer ganeshtk
Observer
917 Views
Registered: ‎12-06-2016

Re: Zynq BootROM with parallel QSPI flash chips

@mkipper
Hi,

 

have you got any lead to solve this problem? I am struggling with exactly same problem. I can dump and verify the bin file through JTAG, but FPGA cant boot itself from the Flash after Reset. I have scoped all the signals around the Flash and looks like everything is in order. I also see a clock of correcet frequency and a meaninful change in CS and data signals.

 

I have one more similar board which has no issue with the Flash boot operation. So, I compared the behaviour of both boards clock, CS, and data signals. I have noticed that the failing board does not complete its opetation, meaning clock, CS and DQ signals are vanishing immedietly, whereas in operating board they last for longer period of time.

 

Thanks

Ganesh

 

0 Kudos
Observer ganeshtk
Observer
888 Views
Registered: ‎12-06-2016

Re: Zynq BootROM with parallel QSPI flash chips

Issue is solved for me.

 

The BootRom header sets false clock frequency of QSPI Flash. I have changed this default frequency (lowered the value) in .init file and problem solved.

 

Regards,

Ganesh

0 Kudos
Observer zaku89
Observer
40 Views
Registered: ‎05-30-2018

Re: Zynq BootROM with parallel QSPI flash chips

Hello ganeshtk,

I have the same issue. Which .init file do you modify? I assume my initial frequency is 200MHz, which is also too high.

0 Kudos