Jump to main content

##

# 2.93 Quad Serial Peripheral Interface (QSPI)

This Plib implements software abstraction for QSPI Peripheral.

Note: Not all APIs maybe implemented. See the specific device family section for available APIs.

## Library Interface

Quad Serial Peripheral Interface peripheral library provides the following interfaces:

Functions

QSPI Mode:

Name | Description
--- | ---
QSPIx_Initialize | Initializes given instance of the QSPI peripheral
QSPIx_CommandWrite | Writes command to QSPI slave device
QSPIx_RegisterRead | Reads particular register of QSPI slave device
QSPIx_RegisterWrite | Writes to particular register of QSPI slave device
QSPIx_MemoryRead | Reads from the specified address of the serial flash device
QSPIx_MemoryWrite | Writes to the specified address of the serial flash device

SPI Mode:

Name | Description
--- | ---
QSPIx_Initialize | Initializes given instance of the QSPI peripheral
QSPIx_TransferSetup | Setup QSPI operational parameters as desired by the client.
QSPIx_WriteRead | Write and Read data on QSPI peripheral.
QSPIx_Write | Write data on QSPI peripheral.
QSPIx_Read | Read data on QSPI peripheral.
QSPIx_IsBusy | Returns transfer status of QSPI peripheral.
QSPIx_CallbackRegister | Allows application to register callback with PLIB.

Data types and constants

Name | Type | Description
--- | --- | ---
QSPI_ADDRESS_LENGTH | Enum | Defines the data type to specify address length
QSPI_LANE_WIDTH | Enum | Defines the data type to specify lane width
QSPI_OPTION_LENGTH | Enum | Defines the data type to specify option length
QSPI_PROTOCOL_TYPE | Enum | Defines the QSPI Protocol type - STD_SPI, TWIN_QUAD, OCTAFLASH and HYPERFLASH
QSPI_CLOCK_PHASE | Enum | Identifies QSPI Clock Phase Options
QSPI_CLOCK_POLARITY | Enum | Identifies QSPI Clock Polarity Options
QSPI_DATA_BITS | Enum | Identifies SPI bits per transfer
QSPI_TRANSFER_SETUP | Struct | Identifies the setup parameters which can be changed dynamically
qspi_command_xfer_t | Struct | Defines the data type for the QSPI commands transfer
qspi_register_xfer_t | Struct | Defines the data type for the QSPI register data transfer
qspi_memory_xfer_t | Struct | Defines the data type for the QSPI memory transfer
QSPI_CALLBACK | Typedef | Pointer to a Callback function. This is used in SPI mode only