cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
1,159 Views
Registered: ‎07-06-2017

Axi Quad SPI fails to send data in quad mode and sends it in standard mode instead

Hi, I have added an "axi quad spi" IP to my zynq-7000 running baremetal. TL;DR problem: Even though I configure the axi_quad_spi IP in quad mode, everything is being sent only over Q0 (as in standard mode).

 

The AXI4 port is connected to the GP0 of the Zynq. I know for sure the AXI4 path works correctly, and that the axi_quad_spi tri-state pins are handled correctly. The settings for the IP are as follow:

 

axi_quad.png

 

After booting, from the Xilinx SDK XSCT console (AXI4 on GP0) I try then to send a msi_enable command to the QSPI flash memory (N25Q128A), which is as follows (base address is on 0x40000000):

 

mwr 0x40000060 0x1E6       - Disable master transaction and reset RX/TX FIFOs
mwr 0x40000068 0x06         - Write enable command (supported by my memory)
mwr 0x40000070 0xFFFFFFFE      - Chip select for the first slave
mwr 0x40000060 0x086     - Enable master transaction
mwr 0x40000070 0xFFFFFFFF     - Disable chip select
mwr 0x40000060 0x186     - Disable master transaction

 

These steps are according to the axi_quad_spi datasheet pg153 , page 99.

I have connected an oscilloscope to all the signals between the FPGA and the QSPI flash, and what I see happening is that the command 0x06 goes in quad mode (2 cycles, 4 bits each cyle), it goes only on Q0 (8 cycles, 1 bit per cycle). So somehow even though the axi_quad_spi IP is configured in Quad mode, it is sending the data in standard mode. The QSPI flash memory is configured for quad in the registers, so it can't understand standard mode.

 

Is there something I might be missing to configure in the registers or something else I forgot? Thanks in advance.

Tags (6)
0 Kudos
4 Replies
Highlighted
1,118 Views
Registered: ‎07-06-2017

Even if I send erase, read or write commands, everything goes only through one lane (Q0). Any ideas? =/ 

 

Thanks in advance.

0 Kudos
Highlighted
707 Views
Registered: ‎02-07-2019

DId you ever resolve this problem?  I'm seeing a similar issue when working with the VCU118 eval board.  In memory there are also commands to set quad read/write mode, but I haven't been able to configure these properly.

0 Kudos
Highlighted
108 Views
Registered: ‎10-07-2019

We are also suffering the same issue.  Some times it works, other times AXI QUAD ignores the command!

we can send RST, RST MEM, ERASE, PROGRAM, all can work 9/10

then 1/10 AXI simply ignores the commands !

Any help ?

Tags (1)
0 Kudos
Highlighted
Visitor
Visitor
51 Views
Registered: ‎06-29-2020

Hi, rob.walker@quantum.com @davidmewkalo2 

 

I am also face the same issue. my data is goes only in io0 signal only. 

Did you resolve this issue. please help me in this..

Thanks

0 Kudos