The quad serial peripheral interface (QSPI) module is a kind of SPI module that allows single, dual, or quad read access to external SPI devices. This module has a memory mapped register interface, which provides a direct interface for accessing data from external SPI devices and thus simplifying software requirements. The QSPI works as a master only.
The one QSPI in the device is primarily intended for fast booting from quad-SPI flash memories. Figure 24-101 shows the QSPI module overview.
The QSPI supports the following features:
- General SPI features:
- Programmable clock divider
- Six pin interface
- Programmable length (from 1 to 128 bits) of the words transferred
- Programmable number (from 1 to 4096) of the words transferred
- 4 external chip-select signals
- Support for 3-, 4-, or 6-pin SPI interface
- Optional interrupt generation on word or frame (number of words) completion
- Programmable delay between chip select activation and output data from 0 to 3 QSPI clock cycles
- Programmable signal polarities
- Programmable active clock edge
- Software-controllable interface allowing for any type of SPI transfer
- Control through L3_MAIN configuration port
- Serial flash interface (SFI) features:
- Serial flash read/write interface
- Additional registers for defining read and write commands to the external serial flash device
- 1 to 4 address bytes
- Fast read support, where fast read requires dummy bytes after address bytes; 0 to 3 dummy bytes can be configured.
- Dual read support
- Quad read support
- Little-endian support (only for memory mapped registers used to configure QSPI controller and not SPI content accesses)
- Linear increment addressing mode only
The QSPI supports only dual and quad reads. Dual or quad writes are not supported. In addition, there is no "pass through" mode supported where the data present on the QSPI input is sent to its output.
Note: The QSPI module does not support cache line wrap mode.