![]() |
MCUXpresso SDK API Reference Manual
Rev 2.16.000
NXP Semiconductors
|
Data Structures | |
| struct | lcdic_dma_handle_t |
| LCDIC DMA transfer handle, users should not touch the content of the handle. More... | |
Typedefs | |
| typedef void(* | lcdic_dma_callback_t )(LCDIC_Type *base, lcdic_dma_handle_t *handle, status_t status, void *userData) |
| LCDIC DMA callback called at the end of transfer. More... | |
Driver version | |
| #define | FSL_LCDIC_DMA_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) |
DMA Transactional | |
| status_t | LCDIC_TransferCreateHandleDMA (LCDIC_Type *base, lcdic_dma_handle_t *handle, lcdic_dma_callback_t callback, void *userData, dma_handle_t *txDmaHandle, dma_handle_t *rxDmaHandle, dma_descriptor_t dmaDesc[2]) |
| Initialize the LCDIC DMA handle. More... | |
| status_t | LCDIC_TransferDMA (LCDIC_Type *base, lcdic_dma_handle_t *handle, const lcdic_xfer_t *xfer) |
| Perform a non-blocking LCDIC transfer using DMA. More... | |
| status_t | LCDIC_SendDataArrayDMA (LCDIC_Type *base, lcdic_dma_handle_t *handle, const lcdic_tx_xfer_t *xfer) |
| Send data array using DMA. More... | |
| status_t | LCDIC_ReadDataArrayDMA (LCDIC_Type *base, lcdic_dma_handle_t *handle, const lcdic_rx_xfer_t *xfer) |
| Read data array using DMA. More... | |
| void | LCDIC_TransferHandleIRQDMA (LCDIC_Type *base, void *handle) |
| LCDIC IRQ handler function work with DMA transactional APIs. More... | |
| struct _lcdic_dma_handle |
Data Fields | |
| volatile bool | xferInProgress |
| Transfer in progress. | |
| lcdic_xfer_mode_t | xferMode |
| On-going transfer mode. More... | |
| dma_handle_t * | txDmaHandle |
| DMA handler for send. | |
| dma_handle_t * | rxDmaHandle |
| DMA handler for receive. | |
| lcdic_dma_callback_t | callback |
| Callback when transfer finished. More... | |
| void * | userData |
| User Data for callback. | |
| uint32_t | xferSizeWordAligned |
| 4-byte size aligned part or the transfer data size. More... | |
| uint8_t | xferSizeWordUnaligned |
| 4-byte size unaligned part of the transfer data size. More... | |
| uint8_t | rxSizeWordUnaligned |
| Same as xferSizeWordUnaligned, it is only used for RX. More... | |
| uint32_t | tmpData |
| To save temporary data during transfer. More... | |
| dma_descriptor_t * | dmaDesc |
| Pointer to two DMA descriptor, should be 16-byte aligned. More... | |
| const uint8_t * | txData |
| Pointer to the TX data. More... | |
| uint8_t * | rxData |
| Pointer to the RX data. More... | |
| lcdic_xfer_mode_t lcdic_dma_handle_t::xferMode |
| lcdic_dma_callback_t lcdic_dma_handle_t::callback |
| const uint8_t* lcdic_dma_handle_t::txData |
| uint8_t* lcdic_dma_handle_t::rxData |
| uint32_t lcdic_dma_handle_t::xferSizeWordAligned |
| uint8_t lcdic_dma_handle_t::xferSizeWordUnaligned |
| uint8_t lcdic_dma_handle_t::rxSizeWordUnaligned |
| uint32_t lcdic_dma_handle_t::tmpData |
| dma_descriptor_t* lcdic_dma_handle_t::dmaDesc |
| typedef void(* lcdic_dma_callback_t)(LCDIC_Type *base, lcdic_dma_handle_t *handle, status_t status, void *userData) |
| status_t LCDIC_TransferCreateHandleDMA | ( | LCDIC_Type * | base, |
| lcdic_dma_handle_t * | handle, | ||
| lcdic_dma_callback_t | callback, | ||
| void * | userData, | ||
| dma_handle_t * | txDmaHandle, | ||
| dma_handle_t * | rxDmaHandle, | ||
| dma_descriptor_t | dmaDesc[2] | ||
| ) |
This function initializes the LCDIC DMA handle which can be used for other LCDIC transactional APIs. Usually, for a specified LCDIC instance, user need only call this API once to get the initialized handle.
| base | LCDIC peripheral base address. |
| handle | LCDIC handle pointer. |
| callback | User callback function called at the end of a transfer. |
| userData | User data for callback. |
| txDmaHandle | DMA handle pointer for LCDIC Tx, the handle shall be static allocated by users. |
| rxDmaHandle | DMA handle pointer for LCDIC Rx, the handle shall be static allocated by users. |
| dmaDesc | User allocated dma descriptor, it should be in non-cacheable region and 16-byte aligned. |
| status_t LCDIC_TransferDMA | ( | LCDIC_Type * | base, |
| lcdic_dma_handle_t * | handle, | ||
| const lcdic_xfer_t * | xfer | ||
| ) |
This function returned immediately after transfer initiates, monitor the transfer done by callback.
| base | LCDIC peripheral base address. |
| handle | LCDIC DMA handle pointer. |
| xfer | Pointer to dma transfer structure. |
| kStatus_Success | Successfully start a transfer. |
| kStatus_InvalidArgument | Input argument is invalid. |
| kStatus_Busy | LCDIC is not idle, is running another transfer. |
| status_t LCDIC_SendDataArrayDMA | ( | LCDIC_Type * | base, |
| lcdic_dma_handle_t * | handle, | ||
| const lcdic_tx_xfer_t * | xfer | ||
| ) |
| base | LCDIC peripheral base address. |
| handle | Pointer to the lcdic_handle_t structure to store the transfer state. |
| xfer | LCDIC transfer structure. |
| kStatus_Success | Successfully start a transfer. |
| kStatus_InvalidArgument | Input argument is invalid. |
| kStatus_Busy | LCDIC driver is busy with another transfer. |
| status_t LCDIC_ReadDataArrayDMA | ( | LCDIC_Type * | base, |
| lcdic_dma_handle_t * | handle, | ||
| const lcdic_rx_xfer_t * | xfer | ||
| ) |
| base | LCDIC peripheral base address. |
| handle | Pointer to the lcdic_handle_t structure to store the transfer state. |
| xfer | LCDIC transfer structure. |
| kStatus_Success | Successfully start a transfer. |
| kStatus_InvalidArgument | Input argument is invalid. |
| kStatus_Busy | LCDIC driver is busy with another transfer. |
| void LCDIC_TransferHandleIRQDMA | ( | LCDIC_Type * | base, |
| void * | handle | ||
| ) |
IRQ handler to work with LCDIC_TransferDMA.
| base | LCDIC peripheral base address. |
| handle | Pointer to the lcdic_dma_handle_t structure to store the transfer state. |