User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 353
UG585 (v1.11) September 27, 2016
Chapter 12: Quad-SPI Flash Controller
CPU_1x Clock
Refer to section 25.2 CPU Clock, for general clock programming information. The CPU_1x clock runs
asynchronous to the Quad-SPI reference clock.
QSPI_REF_CLK and Quad-SPI Interface Clocks
The QSPI_REF_CLK is the main controller clock. The QSPI_REF_CLK is sourced from the PS Clock
Subsystem. The clock enable, PLL select, and divisor setting are programmed using the
slcr.LQSPI_CLK_CTRL register. Refer to section 25.6.3 SDIO, SMC, SPI, Quad-SPI and UART Clocks to
program the QSPI_REF_CLK frequency.
To generate the Quad-SPI interface clock, the QSPI_REF_CLK is divided down by 2, 4, 8, 16, 32, 64,
128, or 256 using the qspi.Config_reg [BAUD_RATE_DIV] bit field.
For power management, the clock enable in the slcr register can be used to turn off the clock. The
operating frequency for the reference clock is defined in the data sheet.
Clock Ratio Restriction in Manual Mode
In manual mode, the QSPI_REF_CLK frequency must be of greater than or equal value to that of
CPU_1x clock frequency for reliable operation of the controller.
There is no such restriction in automatic mode.The reference clock is divided down by
qspi.Config_reg[baud_rate_divisor] to generate the SCLK clock for the flash memory.
Example: Setup Reference Clock
This example assumes the selected PLL (ARM, DDR or IO) is operating at 1000 MHz and the desired
Quad-SPI reference clock frequency is 200 MHz.
1. Select PLL source, divisors and enable. Write 0x0000_0501 to the slcr.QSPI_CLK_CTRL
register.
a. Enable the reference clock.
b. Divide the I/O PLL clock by 5: DIVISOR = 0x05.
c. Select the I/O PLL as the clock source.
Quad-SPI Feedback Clock
The Quad-SPI interface supports an optional feedback clock pin named qspi_sclk_fb_out. This pin is
used with the high speed Quad-SPI timing mode, where the memory interface clock needs to be
greater than 40 MHz. The feedback signal is received from the internal input from the I/O so MIO pin
8 needs to be programmed and allowed to freely toggle. Refer to optional programming example in
section 12.5.2 MIO Programming for instructions on how to program the MIO_PIN_08 register.
When Quad-SPI feedback mode is used, the qspi_sclk_fb_out pin should only be connected to a
pull-up or pull-down resistor which is needed to set the MIO voltage mode (vmode).