RTEMS 6.1-rc5
|
Data Structures | |
struct | _flexspi_edma_handle |
FLEXSPI DMA transfer handle, users should not touch the content of the handle. More... | |
Driver version | |
enum | _flexspi_edma_ntransfer_size { kFLEXPSI_EDMAnSize1Bytes = 0x1U , kFLEXPSI_EDMAnSize2Bytes = 0x2U , kFLEXPSI_EDMAnSize4Bytes = 0x4U , kFLEXPSI_EDMAnSize8Bytes = 0x8U , kFLEXPSI_EDMAnSize32Bytes = 0x20U } |
eDMA transfer configuration More... | |
typedef struct _flexspi_edma_handle | flexspi_edma_handle_t |
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. | |
typedef enum _flexspi_edma_ntransfer_size | flexspi_edma_transfer_nsize_t |
eDMA transfer configuration | |
#define | FSL_FLEXSPI_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 3, 2)) |
FLEXSPI EDMA driver version 2.3.2. | |
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. | |
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). | |
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. | |
void | FLEXSPI_TransferAbortEDMA (FLEXSPI_Type *base, flexspi_edma_handle_t *handle) |
Aborts the transfer data using eDMA. | |
status_t | FLEXSPI_TransferGetTransferCountEDMA (FLEXSPI_Type *base, flexspi_edma_handle_t *handle, size_t *count) |
Gets the transferred counts of transfer. | |
eDMA transfer configuration
void FLEXSPI_TransferAbortEDMA | ( | FLEXSPI_Type * | base, |
flexspi_edma_handle_t * | handle | ||
) |
Aborts the transfer data using eDMA.
This function aborts the transfer data using eDMA.
base | FLEXSPI peripheral base address. |
handle | Pointer to flexspi_edma_handle_t structure |
brief Aborts the transfer data using eDMA.
This function aborts the transfer data using eDMA.
param base FLEXSPI peripheral base address. param handle Pointer to flexspi_edma_handle_t structure
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.
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. |
brief Initializes the FLEXSPI handle for transfer which is used in transactional functions and set the callback.
param base FLEXSPI peripheral base address param handle Pointer to flexspi_edma_handle_t structure param callback FLEXSPI callback, NULL means no callback. param userData User callback function data. param txDmaHandle User requested DMA handle for TX DMA transfer. param rxDmaHandle User requested DMA handle for RX DMA transfer.
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.
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. |
brief Transfers FLEXSPI data using an eDMA non-blocking method.
This function writes/receives data to/from the FLEXSPI transmit/receive FIFO. This function is non-blocking. param base FLEXSPI peripheral base address. param handle Pointer to flexspi_edma_handle_t structure param xfer FLEXSPI transfer structure. retval kStatus_FLEXSPI_Busy FLEXSPI is busy transfer. retval kStatus_InvalidArgument The watermark configuration is invalid, the watermark should be power of 2 to do successfully EDMA transfer. retval kStatus_Success FLEXSPI successfully start edma transfer.
status_t FLEXSPI_TransferGetTransferCountEDMA | ( | FLEXSPI_Type * | base, |
flexspi_edma_handle_t * | handle, | ||
size_t * | count | ||
) |
Gets the transferred counts of transfer.
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. |
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).
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). |
brief Update FLEXSPI EDMA transfer source data transfer size(SSIZE) and destination data transfer size(DSIZE).
param base FLEXSPI peripheral base address param handle Pointer to flexspi_edma_handle_t structure param nsize FLEXSPI DMA transfer data transfer size(SSIZE/DSIZE), by default the size is kFLEXPSI_EDMAnSize1Bytes(one byte). see flexspi_edma_transfer_nsize_t .
flexspi_edma_callback_t _flexspi_edma_handle::completionCallback |
A callback function called after the eDMA transfer is finished.
uint8_t _flexspi_edma_handle::count |
The transfer data count in a DMA request.
uint8_t _flexspi_edma_handle::nbytes |
eDMA minor byte transfer count initially configured.
flexspi_edma_transfer_nsize_t _flexspi_edma_handle::nsize |
eDMA SSIZE/DSIZE in each transfer.
edma_handle_t* _flexspi_edma_handle::rxDmaHandle |
eDMA handler for FLEXSPI Rx.
uint32_t _flexspi_edma_handle::state |
Internal state for FLEXSPI eDMA transfer.
size_t _flexspi_edma_handle::transferSize |
Bytes need to transfer.
edma_handle_t* _flexspi_edma_handle::txDmaHandle |
eDMA handler for FLEXSPI Tx.
void* _flexspi_edma_handle::userData |
User callback parameter