|  | MCUXpresso SDK API Reference Manual
    Rev. 0
    NXP Semiconductors | 
| Data Structures | |
| struct | flexio_spi_master_edma_handle_t | 
| FlexIO SPI eDMA transfer handle, users should not touch the content of the handle.  More... | |
| Typedefs | |
| typedef flexio_spi_master_edma_handle_t | flexio_spi_slave_edma_handle_t | 
| Slave handle is the same with master handle.  More... | |
| typedef void(* | flexio_spi_master_edma_transfer_callback_t )(FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle, status_t status, void *userData) | 
| FlexIO SPI master callback for finished transmit. | |
| typedef void(* | flexio_spi_slave_edma_transfer_callback_t )(FLEXIO_SPI_Type *base, flexio_spi_slave_edma_handle_t *handle, status_t status, void *userData) | 
| FlexIO SPI slave callback for finished transmit. | |
| eDMA Transactional | |
| status_t | FLEXIO_SPI_MasterTransferCreateHandleEDMA (FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle, flexio_spi_master_edma_transfer_callback_t callback, void *userData, edma_handle_t *txHandle, edma_handle_t *rxHandle) | 
| Initializes the FlexIO SPI master eDMA handle.  More... | |
| status_t | FLEXIO_SPI_MasterTransferEDMA (FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle, flexio_spi_transfer_t *xfer) | 
| Performs a non-blocking FlexIO SPI transfer using eDMA.  More... | |
| void | FLEXIO_SPI_MasterTransferAbortEDMA (FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle) | 
| Aborts a FlexIO SPI transfer using eDMA.  More... | |
| status_t | FLEXIO_SPI_MasterTransferGetCountEDMA (FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle, size_t *count) | 
| Gets the remaining bytes for FlexIO SPI eDMA transfer.  More... | |
| static void | FLEXIO_SPI_SlaveTransferCreateHandleEDMA (FLEXIO_SPI_Type *base, flexio_spi_slave_edma_handle_t *handle, flexio_spi_slave_edma_transfer_callback_t callback, void *userData, edma_handle_t *txHandle, edma_handle_t *rxHandle) | 
| Initializes the FlexIO SPI slave eDMA handle.  More... | |
| status_t | FLEXIO_SPI_SlaveTransferEDMA (FLEXIO_SPI_Type *base, flexio_spi_slave_edma_handle_t *handle, flexio_spi_transfer_t *xfer) | 
| Performs a non-blocking FlexIO SPI transfer using eDMA.  More... | |
| static void | FLEXIO_SPI_SlaveTransferAbortEDMA (FLEXIO_SPI_Type *base, flexio_spi_slave_edma_handle_t *handle) | 
| Aborts a FlexIO SPI transfer using eDMA.  More... | |
| static status_t | FLEXIO_SPI_SlaveTransferGetCountEDMA (FLEXIO_SPI_Type *base, flexio_spi_slave_edma_handle_t *handle, size_t *count) | 
| Gets the remaining bytes to be transferred for FlexIO SPI eDMA.  More... | |
| struct _flexio_spi_master_edma_handle | 
typedef for flexio_spi_master_edma_handle_t in advance.
| Data Fields | |
| size_t | transferSize | 
| Total bytes to be transferred.  More... | |
| uint8_t | nbytes | 
| eDMA minor byte transfer count initially configured.  More... | |
| bool | txInProgress | 
| Send transfer in progress. | |
| bool | rxInProgress | 
| Receive transfer in progress. | |
| edma_handle_t * | txHandle | 
| DMA handler for SPI send. | |
| edma_handle_t * | rxHandle | 
| DMA handler for SPI receive. | |
| flexio_spi_master_edma_transfer_callback_t | callback | 
| Callback for SPI DMA transfer. | |
| void * | userData | 
| User Data for SPI DMA callback. | |
| size_t flexio_spi_master_edma_handle_t::transferSize | 
| uint8_t flexio_spi_master_edma_handle_t::nbytes | 
| typedef flexio_spi_master_edma_handle_t flexio_spi_slave_edma_handle_t | 
| status_t FLEXIO_SPI_MasterTransferCreateHandleEDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_master_edma_handle_t * | handle, | ||
| flexio_spi_master_edma_transfer_callback_t | callback, | ||
| void * | userData, | ||
| edma_handle_t * | txHandle, | ||
| edma_handle_t * | rxHandle | ||
| ) | 
This function initializes the FlexIO SPI master eDMA handle which can be used for other FlexIO SPI master transactional APIs. For a specified FlexIO SPI instance, call this API once to get the initialized handle.
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_master_edma_handle_t structure to store the transfer state. | 
| callback | SPI callback, NULL means no callback. | 
| userData | callback function parameter. | 
| txHandle | User requested eDMA handle for FlexIO SPI RX eDMA transfer. | 
| rxHandle | User requested eDMA handle for FlexIO SPI TX eDMA transfer. | 
| kStatus_Success | Successfully create the handle. | 
| kStatus_OutOfRange | The FlexIO SPI eDMA type/handle table out of range. | 
| status_t FLEXIO_SPI_MasterTransferEDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_master_edma_handle_t * | handle, | ||
| flexio_spi_transfer_t * | xfer | ||
| ) | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_master_edma_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_MasterTransferAbortEDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_master_edma_handle_t * | handle | ||
| ) | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | FlexIO SPI eDMA handle pointer. | 
| status_t FLEXIO_SPI_MasterTransferGetCountEDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_master_edma_handle_t * | handle, | ||
| size_t * | count | ||
| ) | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | FlexIO SPI eDMA handle pointer. | 
| count | Number of bytes transferred so far by the non-blocking transaction. | 
| 
 | inlinestatic | 
This function initializes the FlexIO SPI slave eDMA handle.
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_slave_edma_handle_t structure to store the transfer state. | 
| callback | SPI callback, NULL means no callback. | 
| userData | callback function parameter. | 
| txHandle | User requested eDMA handle for FlexIO SPI TX eDMA transfer. | 
| rxHandle | User requested eDMA handle for FlexIO SPI RX eDMA transfer. | 
| status_t FLEXIO_SPI_SlaveTransferEDMA | ( | FLEXIO_SPI_Type * | base, | 
| flexio_spi_slave_edma_handle_t * | handle, | ||
| flexio_spi_transfer_t * | xfer | ||
| ) | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | Pointer to flexio_spi_slave_edma_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_edma_handle_t structure to store the transfer state. | 
| 
 | inlinestatic | 
| base | Pointer to FLEXIO_SPI_Type structure. | 
| handle | FlexIO SPI eDMA handle pointer. | 
| count | Number of bytes transferred so far by the non-blocking transaction. |