User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 344
UG585 (v1.11) September 27, 2016
Chapter 12: Quad-SPI Flash Controller
AXI Read Command Processing
AXI read burst commands are translated into SPI flash read instructions that are sent to the Quad-SPI
controller TxFIFO. The controller transmit logic is responsible for retrieving the read instructions from
the FIFO and passing them along to the SPI flash memory according to the SPI protocol.
A 64-deep FIFO is used to provide read data buffering to hold up to four burst-of-16 data. Since the
Rx FIFO starts receiving data as soon as the chip-select signal is active, the linear address module
removes incoming data that corresponds to the instruction code, if any, the address, the dummy
cycles, and responses to the AXI read instruction with valid data.
Interface Configuration and Read Modes
AXI read burst transfers are translated into SPI flash read instructions that are sent to the controller's
TxFIFO. The transmit logic retrieves the read instructions from the TxFIFO and passes them to the SPI
flash memory device according to the SPI protocol.
Software defines the SPI read command that is used in linear addressing mode by writing to
qspi.LQSPI_CFG[INST_CODE]. The supported read command codes and the recommended
configuration register settings (qspi.LQSPI_CFG) are listed in Table 12-3. The optimal register values
for Quad-SPI boot performance using a 33 MHz PS_CLK are shown in Table 6-10 and Table 12-3.
These Quad-SPI registers can be programmed in non-secure mode using the Register Initialization
feature in the BootROM header to speed up loading of the FSBL/User code. If a faster PS_CLK is used,
then the clock dividers need to be adjusted.
The choice of operating mode depends on the capabilities of the attached device. The I/O Fast Read
modes use 4-bit parallel transfers for address and data. This leads to the fastest performance. The
Output Fast Read modes use 4-bit parallel transfers for data only. These are still faster than a serial
bit mode.
Performance Modes
To get the highest performance, the user should use the Quad-SPI controller in the Quad I/O mode.
The user can improve read performance by using the Quad-SPI device in continuous read mode.
This eliminates read instruction overhead for successive commands. Please refer to the LQSPI_CFG
register for more details (see Appendix B, Register Details).
Refer to the applicable Zynq-7000 AP SoC data sheet for operating frequencies.
Table 12-3: Quad-SPI Device Configuration Register Values
Operating
Mode
Instruction
Code
Winbond & Spansion Micron
1 Device 2 Devices 1 Device 2 Devices
Read (serial bit) 0x03 0x80000003 0xE0000003 0x80000003 0xE0000003
Fast Read (serial bit) 0x0B 0x8000010B 0xE000010B 0x8000010B 0xE000010B
Dual Output Fast Read 0x3B 0x8000013B 0xE000013B 0x8000013B 0xE000013B
Quad Output Fast Read 0x6B 0x8000016B 0xE000016B 0x8000016B 0xE000016B
Dual I/O Fast Read 0xBB 0x82FF00BB 0xE2FF00BB 0x82FF01BB 0xE2FF01BB
Quad I/O Fast Read 0xEB 0x82FF02EB 0xE2FF02EB 0x82FF04EB 0xE2FF06EB