RTEMS 6.1-rc5
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs
Flexio_edma_mculcd

Data Structures

struct  _flexio_mculcd_edma_handle
 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.
 

Typedefs

typedef struct _flexio_mculcd_edma_handle flexio_mculcd_edma_handle_t
 typedef for flexio_mculcd_edma_handle_t in advance.
 
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.
 

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.
 
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.
 
void FLEXIO_MCULCD_TransferAbortEDMA (FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle)
 Aborts a FlexIO MCULCD transfer using eDMA.
 
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.
 

Detailed Description

Typedef Documentation

◆ flexio_mculcd_edma_transfer_callback_t

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.

When transfer finished, the callback function is called and returns the status as kStatus_FLEXIO_MCULCD_Idle.

Function Documentation

◆ FLEXIO_MCULCD_TransferAbortEDMA()

void FLEXIO_MCULCD_TransferAbortEDMA ( FLEXIO_MCULCD_Type base,
flexio_mculcd_edma_handle_t handle 
)

Aborts a FlexIO MCULCD transfer using eDMA.

Parameters
basepointer to FLEXIO_MCULCD_Type structure.
handleFlexIO MCULCD eDMA handle pointer.

◆ FLEXIO_MCULCD_TransferCreateHandleEDMA()

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.

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.

Parameters
basePointer to FLEXIO_MCULCD_Type structure.
handlePointer to flexio_mculcd_edma_handle_t structure to store the transfer state.
callbackMCULCD transfer complete callback, NULL means no callback.
userDatacallback function parameter.
txDmaHandleUser requested eDMA handle for FlexIO MCULCD eDMA TX, the DMA request source of this handle should be the first of TX shifters.
rxDmaHandleUser requested eDMA handle for FlexIO MCULCD eDMA RX, the DMA request source of this handle should be the last of RX shifters.
Return values
kStatus_SuccessSuccessfully create the handle.

◆ FLEXIO_MCULCD_TransferEDMA()

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.

This function returns immediately after transfer initiates. To check whether the transfer is completed, user could:

  1. Use the transfer completed callback;
  2. Polling function FLEXIO_MCULCD_GetTransferCountEDMA
Parameters
basepointer to FLEXIO_MCULCD_Type structure.
handlepointer to flexio_mculcd_edma_handle_t structure to store the transfer state.
xferPointer to FlexIO MCULCD transfer structure.
Return values
kStatus_SuccessSuccessfully start a transfer.
kStatus_InvalidArgumentInput argument is invalid.
kStatus_FLEXIO_MCULCD_BusyFlexIO MCULCD is not idle, it is running another transfer.

◆ FLEXIO_MCULCD_TransferGetCountEDMA()

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.

Parameters
basepointer to FLEXIO_MCULCD_Type structure.
handleFlexIO MCULCD eDMA handle pointer.
countNumber of count transferred so far by the eDMA transaction.
Return values
kStatus_SuccessGet the transferred count Successfully.
kStatus_NoTransferInProgressNo transfer in process.