MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Data Structures | |
struct | flexspi_edma_handle_t |
FLEXSPI DMA transfer handle, users should not touch the content of the handle. More... | |
Typedefs | |
typedef void(* | flexspi_edma_callback_t )(FLEXSPI_Type *base, flexspi_edma_handle_t *handle, status_t status, void *userData) |
FLEXSPI eDMA transfer callback function for finish and error. | |
Enumerations | |
enum | flexspi_edma_transfer_nsize_t { kFLEXPSI_EDMAnSize1Bytes = 0x1U, kFLEXPSI_EDMAnSize2Bytes = 0x2U, kFLEXPSI_EDMAnSize4Bytes = 0x4U, kFLEXPSI_EDMAnSize8Bytes = 0x8U, kFLEXPSI_EDMAnSize32Bytes = 0x20U } |
eDMA transfer configuration More... | |
Driver version | |
#define | FSL_FLEXSPI_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 2)) |
FLEXSPI EDMA driver version 2.0.2. More... | |
FLEXSPI eDMA Transactional | |
void | FLEXSPI_TransferCreateHandleEDMA (FLEXSPI_Type *base, flexspi_edma_handle_t *handle, flexspi_edma_callback_t callback, void *userData, edma_handle_t *txDmaHandle, edma_handle_t *rxDmaHandle) |
Initializes the FLEXSPI handle for transfer which is used in transactional functions and set the callback. More... | |
void | FLEXSPI_TransferUpdateSizeEDMA (FLEXSPI_Type *base, flexspi_edma_handle_t *handle, flexspi_edma_transfer_nsize_t nsize) |
Update FLEXSPI EDMA transfer source data transfer size(SSIZE) and destination data transfer size(DSIZE). More... | |
status_t | FLEXSPI_TransferEDMA (FLEXSPI_Type *base, flexspi_edma_handle_t *handle, flexspi_transfer_t *xfer) |
Transfers FLEXSPI data using an eDMA non-blocking method. More... | |
void | FLEXSPI_TransferAbortEDMA (FLEXSPI_Type *base, flexspi_edma_handle_t *handle) |
Aborts the transfer data using eDMA. More... | |
status_t | FLEXSPI_TransferGetCountEDMA (FLEXSPI_Type *base, flexspi_edma_handle_t *handle, size_t *count) |
Gets the transferred counts of transfer. More... | |
struct _flexspi_edma_handle |
Data Fields | |
edma_handle_t * | txDmaHandle |
eDMA handler for FLEXSPI Tx. More... | |
edma_handle_t * | rxDmaHandle |
eDMA handler for FLEXSPI Rx. More... | |
size_t | transferSize |
Bytes need to transfer. More... | |
flexspi_edma_transfer_nsize_t | nsize |
eDMA SSIZE/DSIZE in each transfer. More... | |
uint8_t | nbytes |
eDMA minor byte transfer count initially configured. More... | |
uint8_t | count |
The transfer data count in a DMA request. More... | |
uint32_t | state |
Internal state for FLEXSPI eDMA transfer. More... | |
flexspi_edma_callback_t | completionCallback |
A callback function called after the eDMA transfer is finished. More... | |
void * | userData |
User callback parameter. | |
edma_handle_t* flexspi_edma_handle_t::txDmaHandle |
edma_handle_t* flexspi_edma_handle_t::rxDmaHandle |
size_t flexspi_edma_handle_t::transferSize |
flexspi_edma_transfer_nsize_t flexspi_edma_handle_t::nsize |
uint8_t flexspi_edma_handle_t::nbytes |
uint8_t flexspi_edma_handle_t::count |
uint32_t flexspi_edma_handle_t::state |
flexspi_edma_callback_t flexspi_edma_handle_t::completionCallback |
#define FSL_FLEXSPI_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 2)) |
void FLEXSPI_TransferCreateHandleEDMA | ( | FLEXSPI_Type * | base, |
flexspi_edma_handle_t * | handle, | ||
flexspi_edma_callback_t | callback, | ||
void * | userData, | ||
edma_handle_t * | txDmaHandle, | ||
edma_handle_t * | rxDmaHandle | ||
) |
base | FLEXSPI peripheral base address |
handle | Pointer to flexspi_edma_handle_t structure |
callback | FLEXSPI callback, NULL means no callback. |
userData | User callback function data. |
txDmaHandle | User requested DMA handle for TX DMA transfer. |
rxDmaHandle | User requested DMA handle for RX DMA transfer. |
void FLEXSPI_TransferUpdateSizeEDMA | ( | FLEXSPI_Type * | base, |
flexspi_edma_handle_t * | handle, | ||
flexspi_edma_transfer_nsize_t | nsize | ||
) |
base | FLEXSPI peripheral base address |
handle | Pointer to flexspi_edma_handle_t structure |
nsize | FLEXSPI DMA transfer data transfer size(SSIZE/DSIZE), by default the size is kFLEXPSI_EDMAnSize1Bytes(one byte). |
status_t FLEXSPI_TransferEDMA | ( | FLEXSPI_Type * | base, |
flexspi_edma_handle_t * | handle, | ||
flexspi_transfer_t * | xfer | ||
) |
This function writes/receives data to/from the FLEXSPI transmit/receive FIFO. This function is non-blocking.
base | FLEXSPI peripheral base address. |
handle | Pointer to flexspi_edma_handle_t structure |
xfer | FLEXSPI transfer structure. |
kStatus_FLEXSPI_Busy | FLEXSPI is busy transfer. |
kStatus_InvalidArgument | The watermark configuration is invalid, the watermark should be power of 2 to do successfully EDMA transfer. |
kStatus_Success | FLEXSPI successfully start edma transfer. |
void FLEXSPI_TransferAbortEDMA | ( | FLEXSPI_Type * | base, |
flexspi_edma_handle_t * | handle | ||
) |
This function aborts the transfer data using eDMA.
base | FLEXSPI peripheral base address. |
handle | Pointer to flexspi_edma_handle_t structure |
status_t FLEXSPI_TransferGetCountEDMA | ( | FLEXSPI_Type * | base, |
flexspi_edma_handle_t * | handle, | ||
size_t * | count | ||
) |
base | FLEXSPI peripheral base address. |
handle | Pointer to flexspi_edma_handle_t structure. |
count | Bytes transfer. |
kStatus_Success | Succeed get the transfer count. |
kStatus_NoTransferInProgress | There is not a non-blocking transaction currently in progress. |