![]() |
RTEMS 6.1
|
Data Structures | |
| struct | _flexio_mculcd_smartdma_handle |
| FlexIO MCULCD SMARTDMA transfer handle, users should not touch the content of the handle. More... | |
| struct | _flexio_mculcd_smartdma_config |
| FlexIO MCULCD SMARTDMA configuration. More... | |
Macros | |
| #define | FSL_FLEXIO_MCULCD_SMARTDMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 2)) |
| FlexIO MCULCD SMARTDMA driver version. | |
| #define | FLEXIO_MCULCD_SMARTDMA_TX_LEN_ALIGN 64U |
| SMARTDMA transfer size should be multiple of 64 bytes. | |
| #define | FLEXIO_MCULCD_SMARTDMA_TX_ADDR_ALIGN 4U |
| SMARTDMA transfer memory address should be 4 byte aligned. | |
Typedefs | |
| typedef struct _flexio_mculcd_smartdma_handle | flexio_mculcd_smartdma_handle_t |
| typedef for flexio_mculcd_smartdma_handle_t in advance. | |
| typedef void(* | flexio_mculcd_smartdma_transfer_callback_t) (FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, status_t status, void *userData) |
| FlexIO MCULCD master callback for transfer complete. | |
| typedef struct _flexio_mculcd_smartdma_config | flexio_mculcd_smartdma_config_t |
| FlexIO MCULCD SMARTDMA configuration. | |
SMARTDMA Transactional | |
| status_t | FLEXIO_MCULCD_TransferCreateHandleSMARTDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, const flexio_mculcd_smartdma_config_t *config, flexio_mculcd_smartdma_transfer_callback_t callback, void *userData) |
| Initializes the FLEXO MCULCD master SMARTDMA handle. | |
| status_t | FLEXIO_MCULCD_TransferSMARTDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, flexio_mculcd_transfer_t *xfer) |
| Performs a non-blocking FlexIO MCULCD transfer using SMARTDMA. | |
| void | FLEXIO_MCULCD_TransferAbortSMARTDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle) |
| Aborts a FlexIO MCULCD transfer using SMARTDMA. | |
| status_t | FLEXIO_MCULCD_TransferGetCountSMARTDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, size_t *count) |
| Gets the remaining bytes for FlexIO MCULCD SMARTDMA transfer. | |
| typedef void(* flexio_mculcd_smartdma_transfer_callback_t) (FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, status_t status, void *userData) |
FlexIO MCULCD master callback for transfer complete.
When transfer finished, the callback function is called and returns the status as kStatus_FLEXIO_MCULCD_Idle.
| void FLEXIO_MCULCD_TransferAbortSMARTDMA | ( | FLEXIO_MCULCD_Type * | base, |
| flexio_mculcd_smartdma_handle_t * | handle | ||
| ) |
Aborts a FlexIO MCULCD transfer using SMARTDMA.
| base | pointer to FLEXIO_MCULCD_Type structure. |
| handle | FlexIO MCULCD SMARTDMA handle pointer. |
| status_t FLEXIO_MCULCD_TransferCreateHandleSMARTDMA | ( | FLEXIO_MCULCD_Type * | base, |
| flexio_mculcd_smartdma_handle_t * | handle, | ||
| const flexio_mculcd_smartdma_config_t * | config, | ||
| flexio_mculcd_smartdma_transfer_callback_t | callback, | ||
| void * | userData | ||
| ) |
Initializes the FLEXO MCULCD master SMARTDMA handle.
This function initializes the FLEXO MCULCD master SMARTDMA 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_smartdma_handle_t structure to store the transfer state. |
| config | Pointer to the configuration. |
| callback | MCULCD transfer complete callback, NULL means no callback. |
| userData | callback function parameter. |
| kStatus_Success | Successfully create the handle. |
| status_t FLEXIO_MCULCD_TransferGetCountSMARTDMA | ( | FLEXIO_MCULCD_Type * | base, |
| flexio_mculcd_smartdma_handle_t * | handle, | ||
| size_t * | count | ||
| ) |
Gets the remaining bytes for FlexIO MCULCD SMARTDMA transfer.
| base | pointer to FLEXIO_MCULCD_Type structure. |
| handle | FlexIO MCULCD SMARTDMA handle pointer. |
| count | Number of count transferred so far by the SMARTDMA transaction. |
| kStatus_Success | Get the transferred count Successfully. |
| kStatus_NoTransferInProgress | No transfer in process. |
| status_t FLEXIO_MCULCD_TransferSMARTDMA | ( | FLEXIO_MCULCD_Type * | base, |
| flexio_mculcd_smartdma_handle_t * | handle, | ||
| flexio_mculcd_transfer_t * | xfer | ||
| ) |
Performs a non-blocking FlexIO MCULCD transfer using SMARTDMA.
This function returns immediately after transfer initiates. Use the callback function to check whether the transfer is completed.
| base | pointer to FLEXIO_MCULCD_Type structure. |
| handle | pointer to flexio_mculcd_smartdma_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. |