cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
11,193 Views
Registered: ‎07-18-2010

Can not boot Zynq from SD or QSPI

Dear all:

 

we have some problems when boot Zynq from SD card or QSPI, and hope to get your help.

 

Some info about the board:

P/N:       XC7Z020-1CLG400CES

SD card:   Kinston 4G, Class-4

QSPI:      N25Q128A13ESF40F  (Feedback clock is not connected)

ISE DS:    14.2

PS Clock:   50Mhz

 

SD MIO: 40 ~ 45,    

SD CD:  MIO46 (MIO0 is pull down to GND via a resistor when SD boot mode is selected)

SD WP:  MIO47

 

Clock source of SDIO is set to 50MHz  (in PCW)

 

 

The problem is :  no data is output on the data(0) ~ Data(3) of SD, although it seems to have

Valid signals on the SD_CLK and SD_CMD

 

we tried many times, and got the same result: Zynq can not boot from SD because no signals

were found on data(0) ~ Data(3) of SD.

 

After we program the .mcs (FSBL + Hello world Example) to QSPI via JTAG, and changed the

Boot mode to QSPI, we found that Zynq also can not be booted, the reason is same as the SD boot

Mode – it seems that no valid data output on the qspi_io(0) ~ qspi_io(3), (we can detect

Qspi_sclk)

 

 

We also tried to manually assert the PS_POR_B so that boot can be started after all powers are stable,

We got the same result,

 

We found the same problem in both SD boot and QSPI boot, which is no valid data output in SD Data(0) ~ data(3) or QSPI_io(0) ~QSPI_io(3).

So we think we maybe miss some key points about the boot, which may be the root cause, do you have

Any suggestion about the problem?

 

Expect your reply.

 

Regards

zhaohl

2012.12.14

 

  

 

0 Kudos
7 Replies
Highlighted
Adventurer
Adventurer
11,173 Views
Registered: ‎05-16-2012

Hello,

 

If you can Program the QSPI I guess you can debug an applcation, am I right?

If so, I would recommend to make a Zynq FSBL project, build it, "#define FSBL_DEBUG_INFO"  in the "fsbl_debug.h" file and debug the project using:

Right-Click: "Debug as" -> Launch on Hardware.

If you connect a Serial Terminal to your System you should be able to see the Output as you step through.

The FSBL should write, where the Error is.

 

In the FSBL Code the device initialization (ps7_init) happens right at the beginning and way before the access to the SD-card. If this fails maybe your device configuration is not valid. Let us know how far you get.

 

Regards,

Peter

0 Kudos
Highlighted
Adventurer
Adventurer
10,421 Views
Registered: ‎05-12-2012

Very similar problem we catch, only on our custom board with zynq-045. Did you find a solution?

0 Kudos
Highlighted
Visitor
Visitor
10,389 Views
Registered: ‎04-27-2013

Hello,

 

I have the same problem with a custom board too. The QPSI-Flash is programmable, the sd-card with correct files was inserted.

The debugging with fsbl gave me the following outputs:

 

  • Boot-Mode SD-Card:
Xilinx First Stage Boot Loader
Release 14.6/2013.2     Aug 29 2013-14:01:36
Devcfg driver initialized
Silicon Version 3.1
Watchdog driver initialized
Boot mode is SD
SD: rc= 0
send_cmd: Error: (0x00048000) cmd: 55 arg: 0x0
send_cmd: Error: (0x00018100) cmd: 2 arg: 0x0
send_cmd: Error: (0x00018100) cmd: 3 arg: 0x12340000
send_cmd: Error: (0x00018100) cmd: 7 arg: 0x0
send_cmd: Error: (0x00018100) cmd: 179arg: 0x0
dma_trans_cmpl: Error: (0x00018100)
SD Initialization Failed.
SD: Unable to open file BOOT.BIN: 3
SD_INIT_FAIL
FSBL Status = 0xA009

This Boot Mode Doesn't Support Fallback
In FsblHookFallback function
  •  Boot-Mode QSPI:
Xilinx First Stage Boot Loader
Release 14.6/2013.2     Aug 29 2013-14:01:36
Devcfg driver initialized
Silicon Version 3.1
Watchdog driver initialized
Boot mode is QSPI
Single Flash Information
FlashID=0x1 0x2 0x20
SPANSION 512M Bits
QSPI Init Done
Flash Base Address: 0xFC000000
Reboot status register: 0x60000000
Multiboot Register: 0x0000C000
Image Start Address: 0x00000000
Partition Header Offset:0xFFFFFFFF
Bank Selection 255

Any ideas?

 

Regards,

logatom

0 Kudos
Highlighted
Adventurer
Adventurer
10,376 Views
Registered: ‎05-12-2012

We had found that only 2 of 5 our SD cards are able to work properly with Zynq. Anyway, could you try to debug step by step fsbl and inform us what brunch of condition is executed in image_mover.c in place

if (Silicon_Version == SILICON_VERSION_1) {

We are faced with the problem that our chip silicon version is not support Multiboot feature, but FSBL try to use it anyway.
0 Kudos
Highlighted
Observer
Observer
10,352 Views
Registered: ‎05-03-2011

Have a look at:

http://www.xilinx.com/support/answers/52023.html

We ran into this on some early versions ZC706. If things follow the card, this may be the issue (if you are using not fixed silicon).

-robin
0 Kudos
Highlighted
Explorer
Explorer
10,106 Views
Registered: ‎06-23-2013

Our custom board, modeled on zc706, does not boot from SD.  There is no output to UART1.

Please give some debug hints.

 

Our boot.bin was made by bootgen,  boot.bif has zynq_fsbl.elf, system.bit, u-boot.elf

 

The u-boot.elf is the same as used for zc706.

 

Can we examine OCM (where ?) to see if these items were loaded ?

 

Tomorrow we will oscilloscope DAT0, using microSD sniffer board, has a Polaroid 16GB class 10.

dogbytes
0 Kudos
Highlighted
Explorer
Explorer
10,085 Views
Registered: ‎06-23-2013

Our serial-USB gadget was faulty.

 

There was memory clocking change needed in FSBL because custom board did not use same DDR3 as zc706.

 

Now boot.bin was loaded from microSD, FSBL and u-boot ran, then Starting kernel,... got a kernel panic about

 

xttcps_timer_init

 

So things are progressing...

dogbytes
0 Kudos