Kinetis SDK v.2.0 API Reference Manual
Rev. 0
Freescale Semiconductor, Inc.
|
Files | |
file | fsl_flexio_spi_edma.h |
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 FLEXO 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... | |
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 |
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 FLEXO SPI master eDMA handle which can be used for other FLEXO SPI master transactional APIs. 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_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. |