![]() |
MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Data Structures | |
| struct | flexio_mculcd_edma_handle_t |
| FlexIO MCULCD eDMA transfer handle, users should not touch the content of the handle. More... | |
Macros | |
| #define | FSL_FLEXIO_MCULCD_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 4)) |
| FlexIO MCULCD EDMA driver version. More... | |
Typedefs | |
| typedef void(* | flexio_mculcd_edma_transfer_callback_t )(FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle, status_t status, void *userData) |
| FlexIO MCULCD master callback for transfer complete. More... | |
eDMA Transactional | |
| status_t | FLEXIO_MCULCD_TransferCreateHandleEDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle, flexio_mculcd_edma_transfer_callback_t callback, void *userData, edma_handle_t *txDmaHandle, edma_handle_t *rxDmaHandle) |
| Initializes the FLEXO MCULCD master eDMA handle. More... | |
| status_t | FLEXIO_MCULCD_TransferEDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle, flexio_mculcd_transfer_t *xfer) |
| Performs a non-blocking FlexIO MCULCD transfer using eDMA. More... | |
| void | FLEXIO_MCULCD_TransferAbortEDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle) |
| Aborts a FlexIO MCULCD transfer using eDMA. More... | |
| status_t | FLEXIO_MCULCD_TransferGetCountEDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle, size_t *count) |
| Gets the remaining bytes for FlexIO MCULCD eDMA transfer. More... | |
| struct _flexio_mculcd_edma_handle |
typedef for flexio_mculcd_edma_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... | |
| uint32_t | minorLoopBytes |
| eDMA transfer minor loop bytes. More... | |
| edma_modulo_t | txEdmaModulo |
| Modulo value for the FlexIO shifter buffer access. More... | |
| edma_modulo_t | rxEdmaModulo |
| Modulo value for the FlexIO shifter buffer access. 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... | |
| edma_handle_t * | txDmaHandle |
| DMA handle for MCULCD TX. | |
| edma_handle_t * | rxDmaHandle |
| DMA handle for MCULCD RX. | |
| flexio_mculcd_edma_transfer_callback_t | completionCallback |
| Callback for MCULCD DMA transfer. | |
| void * | userData |
| User Data for MCULCD DMA callback. | |
| FLEXIO_MCULCD_Type* flexio_mculcd_edma_handle_t::base |
| uint8_t flexio_mculcd_edma_handle_t::txShifterNum |
| uint8_t flexio_mculcd_edma_handle_t::rxShifterNum |
| uint32_t flexio_mculcd_edma_handle_t::minorLoopBytes |
| edma_modulo_t flexio_mculcd_edma_handle_t::txEdmaModulo |
| edma_modulo_t flexio_mculcd_edma_handle_t::rxEdmaModulo |
| uint32_t flexio_mculcd_edma_handle_t::dataAddrOrSameValue |
When writing or reading array, this is the address of the data array.
| size_t flexio_mculcd_edma_handle_t::dataCount |
| volatile size_t flexio_mculcd_edma_handle_t::remainingCount |
| volatile uint32_t flexio_mculcd_edma_handle_t::state |
| #define FSL_FLEXIO_MCULCD_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 4)) |
| typedef void(* flexio_mculcd_edma_transfer_callback_t)(FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_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_TransferCreateHandleEDMA | ( | FLEXIO_MCULCD_Type * | base, |
| flexio_mculcd_edma_handle_t * | handle, | ||
| flexio_mculcd_edma_transfer_callback_t | callback, | ||
| void * | userData, | ||
| edma_handle_t * | txDmaHandle, | ||
| edma_handle_t * | rxDmaHandle | ||
| ) |
This function initializes the FLEXO MCULCD master eDMA 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_edma_handle_t structure to store the transfer state. |
| callback | MCULCD transfer complete callback, NULL means no callback. |
| userData | callback function parameter. |
| txDmaHandle | User requested eDMA handle for FlexIO MCULCD eDMA TX, the DMA request source of this handle should be the first of TX shifters. |
| rxDmaHandle | User requested eDMA handle for FlexIO MCULCD eDMA 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_TransferEDMA | ( | FLEXIO_MCULCD_Type * | base, |
| flexio_mculcd_edma_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_edma_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_TransferAbortEDMA | ( | FLEXIO_MCULCD_Type * | base, |
| flexio_mculcd_edma_handle_t * | handle | ||
| ) |
| base | pointer to FLEXIO_MCULCD_Type structure. |
| handle | FlexIO MCULCD eDMA handle pointer. |
| status_t FLEXIO_MCULCD_TransferGetCountEDMA | ( | FLEXIO_MCULCD_Type * | base, |
| flexio_mculcd_edma_handle_t * | handle, | ||
| size_t * | count | ||
| ) |
| base | pointer to FLEXIO_MCULCD_Type structure. |
| handle | FlexIO MCULCD eDMA handle pointer. |
| count | Number of count transferred so far by the eDMA transaction. |
| kStatus_Success | Get the transferred count Successfully. |
| kStatus_NoTransferInProgress | No transfer in process. |