RTEMS 6.1-rc2
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs
Flexio_smartdma_mculcd

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.
 

Detailed Description

Typedef Documentation

◆ flexio_mculcd_smartdma_transfer_callback_t

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.

Function Documentation

◆ FLEXIO_MCULCD_TransferAbortSMARTDMA()

void FLEXIO_MCULCD_TransferAbortSMARTDMA ( FLEXIO_MCULCD_Type base,
flexio_mculcd_smartdma_handle_t handle 
)

Aborts a FlexIO MCULCD transfer using SMARTDMA.

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

◆ FLEXIO_MCULCD_TransferCreateHandleSMARTDMA()

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.

Parameters
basePointer to FLEXIO_MCULCD_Type structure.
handlePointer to flexio_mculcd_smartdma_handle_t structure to store the transfer state.
configPointer to the configuration.
callbackMCULCD transfer complete callback, NULL means no callback.
userDatacallback function parameter.
Return values
kStatus_SuccessSuccessfully create the handle.

◆ FLEXIO_MCULCD_TransferGetCountSMARTDMA()

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.

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

◆ FLEXIO_MCULCD_TransferSMARTDMA()

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.

Parameters
basepointer to FLEXIO_MCULCD_Type structure.
handlepointer to flexio_mculcd_smartdma_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.