Serial Peripheral Interface Controller
UG0331 User Guide Revision 15.0 524
The following table lists main APIs for SPI. For complete information on the APIs, refer to the Smart-
Fusion2_MSS_SPI_Driver_UG, as shown in the preceding figure.
7. For more information on SPI usage, the sample projects are available and can be generated, as
shown in the following figure.
Figure 225 • SPI Sample Project
Note: The MSS SPI does not support full behavioral simulation models. Refer to SmartFusion2 MSS BFM
Simulation User Guide for more information.
Table 497 • MSS SPI APIs
Category API Description
Initialization and
configuration
functions
MSS_SPI_init() Initializes the SPI
MSS_SPI_configure_master_mode() Configures the protocol mode, serial clock speed and
frame size for a specific target SPI slave device
MSS_SPI_configure_slave_mode() Configures a MSS SPI block for operations as a SPI slave
device
Data transfer
functions
MSS_SPI_set_slave_select() Selects a specific slave by a MSS SPI master
MSS_SPI_transfer_frame() Used by a MSS SPI master to transmit and receive a
frame up to 32 bits long
MSS_SPI_transfer_block() Used by MSS SPI masters to transmit and receive blocks
of data
MSS_SPI_clear_slave_select() To deselect a specific slave by a MSS SPI master
MSS_SPI_set_slave_tx_frame() Used by MSS SPI slaves to specify the frame that will be
transmitted
MSS_SPI_set_frame_rx_handler() Used by MSS SPI slaves to specify the receive handler
function
DMA block
transfer functions
MSS_SPI_disable() To temporarily disable a MSS SPI
MSS_SPI_set_transfer_byte_count() Specifies the number of bytes
MSS_SPI_enable() To re-enable a MSS SPI
MSS_SPI_tx_done() To find out if a DMA controlled transfer has completed