MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Data Structures | |
struct | flexio_mculcd_dma_handle_t |
FlexIO MCULCD DMA transfer handle, users should not touch the content of the handle. More... | |
Macros | |
#define | FSL_FLEXIO_MCULCD_DMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 0)) |
FlexIO MCULCD DMA driver version 2.0.0. More... | |
Typedefs | |
typedef void(* | flexio_mculcd_dma_transfer_callback_t )(FLEXIO_MCULCD_Type *base, flexio_mculcd_dma_handle_t *handle, status_t status, void *userData) |
FlexIO MCULCD master callback for transfer complete. More... | |
DMA Transactional | |
status_t | FLEXIO_MCULCD_TransferCreateHandleDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_dma_handle_t *handle, flexio_mculcd_dma_transfer_callback_t callback, void *userData, dma_handle_t *txDmaHandle, dma_handle_t *rxDmaHandle) |
Initializes the FLEXO MCULCD master DMA handle. More... | |
status_t | FLEXIO_MCULCD_TransferDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_dma_handle_t *handle, flexio_mculcd_transfer_t *xfer) |
Performs a non-blocking FlexIO MCULCD transfer using DMA. More... | |
void | FLEXIO_MCULCD_TransferAbortDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_dma_handle_t *handle) |
Aborts a FlexIO MCULCD transfer using DMA. More... | |
status_t | FLEXIO_MCULCD_TransferGetCountDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_dma_handle_t *handle, size_t *count) |
Gets the remaining bytes for FlexIO MCULCD DMA transfer. More... | |
struct _flexio_mculcd_dma_handle |
typedef for flexio_mculcd_dma_handle_t in advance.
Data Fields | |
FLEXIO_MCULCD_Type * | base |
Pointer to the FLEXIO_MCULCD_Type. More... | |
uint8_t | txShifterNum |
Number of shifters used for TX. More... | |
uint8_t | rxShifterNum |
Number of shifters used for RX. More... | |
dma_trigger_burst_t | txTriggerBurst |
Trigger burst setting for TX. More... | |
dma_trigger_burst_t | rxTriggerBurst |
Trigger burst setting for RX. More... | |
uint32_t | burstBytes |
DMA transfer bytes per burst. More... | |
uint32_t | dataAddrOrSameValue |
When sending the same value for many times, this is the value to send. More... | |
size_t | dataCount |
Total count to be transferred. More... | |
volatile size_t | remainingCount |
Remaining count still not transfered. More... | |
volatile uint32_t | state |
FlexIO MCULCD driver internal state. More... | |
dma_handle_t * | txDmaHandle |
DMA handle for MCULCD TX. | |
dma_handle_t * | rxDmaHandle |
DMA handle for MCULCD RX. | |
flexio_mculcd_dma_transfer_callback_t | completionCallback |
Callback for MCULCD DMA transfer. | |
void * | userData |
User Data for MCULCD DMA callback. | |
FLEXIO_MCULCD_Type* flexio_mculcd_dma_handle_t::base |
uint8_t flexio_mculcd_dma_handle_t::txShifterNum |
uint8_t flexio_mculcd_dma_handle_t::rxShifterNum |
dma_trigger_burst_t flexio_mculcd_dma_handle_t::txTriggerBurst |
dma_trigger_burst_t flexio_mculcd_dma_handle_t::rxTriggerBurst |
uint32_t flexio_mculcd_dma_handle_t::burstBytes |
uint32_t flexio_mculcd_dma_handle_t::dataAddrOrSameValue |
When writing or reading array, this is the address of the data array.
size_t flexio_mculcd_dma_handle_t::dataCount |
volatile size_t flexio_mculcd_dma_handle_t::remainingCount |
volatile uint32_t flexio_mculcd_dma_handle_t::state |
#define FSL_FLEXIO_MCULCD_DMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 0)) |
typedef void(* flexio_mculcd_dma_transfer_callback_t)(FLEXIO_MCULCD_Type *base, flexio_mculcd_dma_handle_t *handle, status_t status, void *userData) |
When transfer finished, the callback function is called and returns the status
as kStatus_FLEXIO_MCULCD_Idle.
status_t FLEXIO_MCULCD_TransferCreateHandleDMA | ( | FLEXIO_MCULCD_Type * | base, |
flexio_mculcd_dma_handle_t * | handle, | ||
flexio_mculcd_dma_transfer_callback_t | callback, | ||
void * | userData, | ||
dma_handle_t * | txDmaHandle, | ||
dma_handle_t * | rxDmaHandle | ||
) |
This function initializes the FLEXO MCULCD master DMA handle which can be used for other FLEXO MCULCD transactional APIs. For a specified FLEXO MCULCD instance, call this API once to get the initialized handle.
base | Pointer to FLEXIO_MCULCD_Type structure. |
handle | Pointer to flexio_mculcd_dma_handle_t structure to store the transfer state. |
callback | MCULCD transfer complete callback, NULL means no callback. |
userData | callback function parameter. |
txDmaHandle | User requested DMA handle for FlexIO MCULCD DMA TX, the DMA request source of this handle should be the first of TX shifters. |
rxDmaHandle | User requested DMA handle for FlexIO MCULCD DMA RX, the DMA request source of this handle should be the last of RX shifters. |
kStatus_Success | Successfully create the handle. |
status_t FLEXIO_MCULCD_TransferDMA | ( | FLEXIO_MCULCD_Type * | base, |
flexio_mculcd_dma_handle_t * | handle, | ||
flexio_mculcd_transfer_t * | xfer | ||
) |
This function returns immediately after transfer initiates. To check whether the transfer is completed, user could:
base | pointer to FLEXIO_MCULCD_Type structure. |
handle | pointer to flexio_mculcd_dma_handle_t structure to store the transfer state. |
xfer | Pointer to FlexIO MCULCD transfer structure. |
kStatus_Success | Successfully start a transfer. |
kStatus_InvalidArgument | Input argument is invalid. |
kStatus_FLEXIO_MCULCD_Busy | FlexIO MCULCD is not idle, it is running another transfer. |
void FLEXIO_MCULCD_TransferAbortDMA | ( | FLEXIO_MCULCD_Type * | base, |
flexio_mculcd_dma_handle_t * | handle | ||
) |
base | pointer to FLEXIO_MCULCD_Type structure. |
handle | FlexIO MCULCD DMA handle pointer. |
status_t FLEXIO_MCULCD_TransferGetCountDMA | ( | FLEXIO_MCULCD_Type * | base, |
flexio_mculcd_dma_handle_t * | handle, | ||
size_t * | count | ||
) |
base | pointer to FLEXIO_MCULCD_Type structure. |
handle | FlexIO MCULCD DMA handle pointer. |
count | Number of count transferred so far by the DMA transaction. |
kStatus_Success | Get the transferred count Successfully. |
kStatus_NoTransferInProgress | No transfer in process. |