MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
FlexIO DMA MCU Interface LCD Driver

Overview

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

Data Structure Documentation

struct _flexio_mculcd_dma_handle

typedef for flexio_mculcd_dma_handle_t in advance.

Data Fields

FLEXIO_MCULCD_Typebase
 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.
 

Field Documentation

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

Macro Definition Documentation

#define FSL_FLEXIO_MCULCD_DMA_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))

Typedef Documentation

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.

Function Documentation

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.

Parameters
basePointer to FLEXIO_MCULCD_Type structure.
handlePointer to flexio_mculcd_dma_handle_t structure to store the transfer state.
callbackMCULCD transfer complete callback, NULL means no callback.
userDatacallback function parameter.
txDmaHandleUser requested DMA handle for FlexIO MCULCD DMA TX, the DMA request source of this handle should be the first of TX shifters.
rxDmaHandleUser requested DMA handle for FlexIO MCULCD DMA RX, the DMA request source of this handle should be the last of RX shifters.
Return values
kStatus_SuccessSuccessfully 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:

  1. Use the transfer completed callback;
  2. Polling function FLEXIO_MCULCD_GetTransferCountDMA
Parameters
basepointer to FLEXIO_MCULCD_Type structure.
handlepointer to flexio_mculcd_dma_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.
void FLEXIO_MCULCD_TransferAbortDMA ( FLEXIO_MCULCD_Type base,
flexio_mculcd_dma_handle_t *  handle 
)
Parameters
basepointer to FLEXIO_MCULCD_Type structure.
handleFlexIO MCULCD DMA handle pointer.
status_t FLEXIO_MCULCD_TransferGetCountDMA ( FLEXIO_MCULCD_Type base,
flexio_mculcd_dma_handle_t *  handle,
size_t *  count 
)
Parameters
basepointer to FLEXIO_MCULCD_Type structure.
handleFlexIO MCULCD DMA handle pointer.
countNumber of count transferred so far by the DMA transaction.
Return values
kStatus_SuccessGet the transferred count Successfully.
kStatus_NoTransferInProgressNo transfer in process.