|  | MCUXpresso SDK API Reference Manual
    Rev. 0
    NXP Semiconductors | 
| Data Structures | |
| struct | flexio_spi_master_dma_handle_t | 
| FlexIO SPI DMA transfer handle, users should not touch the content of the handle.  More... | |
| Typedefs | |
| typedef flexio_spi_master_dma_handle_t | flexio_spi_slave_dma_handle_t | 
| Slave handle is the same with master handle.  More... | |
| typedef void(* | flexio_spi_master_dma_transfer_callback_t )(FLEXIO_SPI_Type *base, flexio_spi_master_dma_handle_t *handle, status_t status, void *userData) | 
| FlexIO SPI master callback for finished transmit. | |
| typedef void(* | flexio_spi_slave_dma_transfer_callback_t )(FLEXIO_SPI_Type *base, flexio_spi_slave_dma_handle_t *handle, status_t status, void *userData) | 
| FlexIO SPI slave callback for finished transmit. | |
| DMA Transactional | |
| status_t | FLEXIO_SPI_MasterTransferCreateHandleDMA (FLEXIO_SPI_Type *base, flexio_spi_master_dma_handle_t *handle, flexio_spi_master_dma_transfer_callback_t callback, void *userData, dma_handle_t *txHandle, dma_handle_t *rxHandle) | 
| Initializes the FLEXO SPI master DMA handle.  More... | |
| status_t | FLEXIO_SPI_MasterTransferDMA (FLEXIO_SPI_Type *base, flexio_spi_master_dma_handle_t *handle, flexio_spi_transfer_t *xfer) | 
| Performs a non-blocking FlexIO SPI transfer using DMA.  More... | |
| void | FLEXIO_SPI_MasterTransferAbortDMA (FLEXIO_SPI_Type *base, flexio_spi_master_dma_handle_t *handle) | 
| Aborts a FlexIO SPI transfer using DMA.  More... | |
| status_t | FLEXIO_SPI_MasterTransferGetCountDMA (FLEXIO_SPI_Type *base, flexio_spi_master_dma_handle_t *handle, size_t *count) | 
| Gets the remaining bytes for FlexIO SPI DMA transfer.  More... | |
| static void | FLEXIO_SPI_SlaveTransferCreateHandleDMA (FLEXIO_SPI_Type *base, flexio_spi_slave_dma_handle_t *handle, flexio_spi_slave_dma_transfer_callback_t callback, void *userData, dma_handle_t *txHandle, dma_handle_t *rxHandle) | 
| Initializes the FlexIO SPI slave DMA handle.  More... | |
| status_t | FLEXIO_SPI_SlaveTransferDMA (FLEXIO_SPI_Type *base, flexio_spi_slave_dma_handle_t *handle, flexio_spi_transfer_t *xfer) | 
| Performs a non-blocking FlexIO SPI transfer using DMA.  More... | |
| static void | FLEXIO_SPI_SlaveTransferAbortDMA (FLEXIO_SPI_Type *base, flexio_spi_slave_dma_handle_t *handle) | 
| Aborts a FlexIO SPI transfer using DMA.  More... | |
| static status_t | FLEXIO_SPI_SlaveTransferGetCountDMA (FLEXIO_SPI_Type *base, flexio_spi_slave_dma_handle_t *handle, size_t *count) | 
| Gets the remaining bytes to be transferred for FlexIO SPI DMA.  More... | |
| struct _flexio_spi_master_dma_handle | 
typedef for flexio_spi_master_dma_handle_t in advance.
| Data Fields | |
| size_t | transferSize | 
| Total bytes to be transferred.  More... | |
| bool | txInProgress | 
| Send transfer in progress. | |
| bool | rxInProgress | 
| Receive transfer in progress. | |
| dma_handle_t * | txHandle | 
| DMA handler for SPI send. | |
| dma_handle_t * | rxHandle | 
| DMA handler for SPI receive. | |
| flexio_spi_master_dma_transfer_callback_t | callback | 
| Callback for SPI DMA transfer. | |
| void * | userData | 
| User Data for SPI DMA callback. | |
| size_t flexio_spi_master_dma_handle_t::transferSize | 
| typedef flexio_spi_master_dma_handle_t flexio_spi_slave_dma_handle_t | 
| status_t FLEXIO_SPI_MasterTransferCreateHandleDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_master_dma_handle_t * | handle, | ||
| flexio_spi_master_dma_transfer_callback_t | callback, | ||
| void * | userData, | ||
| dma_handle_t * | txHandle, | ||
| dma_handle_t * | rxHandle | ||
| ) | 
This function initializes the FLEXO SPI master DMA handle which can be used for other FLEXO SPI master transactional APIs. Usually, for a specified FLEXO SPI instance, call this API once to get the initialized handle.
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_master_dma_handle_t structure to store the transfer state. | 
| callback | SPI callback, NULL means no callback. | 
| userData | callback function parameter. | 
| txHandle | User requested DMA handle for FlexIO SPI RX DMA transfer. | 
| rxHandle | User requested DMA handle for FlexIO SPI TX DMA transfer. | 
| kStatus_Success | Successfully create the handle. | 
| kStatus_OutOfRange | The FlexIO SPI DMA type/handle table out of range. | 
| status_t FLEXIO_SPI_MasterTransferDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_master_dma_handle_t * | handle, | ||
| flexio_spi_transfer_t * | xfer | ||
| ) | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_master_dma_handle_t structure to store the transfer state. | 
| xfer | Pointer to FlexIO SPI transfer structure. | 
| kStatus_Success | Successfully start a transfer. | 
| kStatus_InvalidArgument | Input argument is invalid. | 
| kStatus_FLEXIO_SPI_Busy | FlexIO SPI is not idle, is running another transfer. | 
| void FLEXIO_SPI_MasterTransferAbortDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_master_dma_handle_t * | handle | ||
| ) | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | FlexIO SPI DMA handle pointer. | 
| status_t FLEXIO_SPI_MasterTransferGetCountDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_master_dma_handle_t * | handle, | ||
| size_t * | count | ||
| ) | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | FlexIO SPI DMA handle pointer. | 
| count | Number of bytes transferred so far by the non-blocking transaction. | 
| 
 | inlinestatic | 
This function initializes the FlexIO SPI slave DMA handle.
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_slave_dma_handle_t structure to store the transfer state. | 
| callback | SPI callback, NULL means no callback. | 
| userData | callback function parameter. | 
| txHandle | User requested DMA handle for FlexIO SPI TX DMA transfer. | 
| rxHandle | User requested DMA handle for FlexIO SPI RX DMA transfer. | 
| status_t FLEXIO_SPI_SlaveTransferDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_slave_dma_handle_t * | handle, | ||
| flexio_spi_transfer_t * | xfer | ||
| ) | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_slave_dma_handle_t structure to store the transfer state. | 
| xfer | Pointer to FlexIO SPI transfer structure. | 
| kStatus_Success | Successfully start a transfer. | 
| kStatus_InvalidArgument | Input argument is invalid. | 
| kStatus_FLEXIO_SPI_Busy | FlexIO SPI is not idle, is running another transfer. | 
| 
 | inlinestatic | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_slave_dma_handle_t structure to store the transfer state. | 
| 
 | inlinestatic | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | FlexIO SPI DMA handle pointer. | 
| count | Number of bytes transferred so far by the non-blocking transaction. |