RTEMS 6.1-rc4
|
Data Structures | |
struct | _flexspi_dma_handle |
FLEXSPI DMA transfer handle, users should not touch the content of the handle. More... | |
Variables | |
dma_handle_t * | _flexspi_dma_handle::txDmaHandle |
dma_handle_t * | _flexspi_dma_handle::rxDmaHandle |
size_t | _flexspi_dma_handle::transferSize |
flexspi_dma_transfer_nsize_t | _flexspi_dma_handle::nsize |
uint8_t | _flexspi_dma_handle::nbytes |
uint8_t | _flexspi_dma_handle::count |
uint32_t | _flexspi_dma_handle::state |
flexspi_dma_callback_t | _flexspi_dma_handle::completionCallback |
void * | _flexspi_dma_handle::userData |
Driver version | |
enum | _flexspi_dma_ntransfer_size { kFLEXPSI_DMAnSize1Bytes = 0x1U , kFLEXPSI_DMAnSize2Bytes = 0x2U , kFLEXPSI_DMAnSize4Bytes = 0x4U } |
dma transfer configuration More... | |
typedef struct _flexspi_dma_handle | flexspi_dma_handle_t |
typedef void(* | flexspi_dma_callback_t) (FLEXSPI_Type *base, flexspi_dma_handle_t *handle, status_t status, void *userData) |
FLEXSPI dma transfer callback function for finish and error. | |
typedef enum _flexspi_dma_ntransfer_size | flexspi_dma_transfer_nsize_t |
dma transfer configuration | |
#define | FSL_FLEXSPI_DMA_DRIVER_VERSION (MAKE_VERSION(2, 2, 1)) |
FLEXSPI DMA driver version 2.2.1. | |
FLEXSPI dma Transactional | |
void | FLEXSPI_TransferCreateHandleDMA (FLEXSPI_Type *base, flexspi_dma_handle_t *handle, flexspi_dma_callback_t callback, void *userData, dma_handle_t *txDmaHandle, dma_handle_t *rxDmaHandle) |
Initializes the FLEXSPI handle for transfer which is used in transactional functions and set the callback. | |
void | FLEXSPI_TransferUpdateSizeDMA (FLEXSPI_Type *base, flexspi_dma_handle_t *handle, flexspi_dma_transfer_nsize_t nsize) |
Update FLEXSPI DMA transfer source data transfer size(SSIZE) and destination data transfer size(DSIZE). | |
status_t | FLEXSPI_TransferDMA (FLEXSPI_Type *base, flexspi_dma_handle_t *handle, flexspi_transfer_t *xfer) |
Transfers FLEXSPI data using an dma non-blocking method. | |
void | FLEXSPI_TransferAbortDMA (FLEXSPI_Type *base, flexspi_dma_handle_t *handle) |
Aborts the transfer data using dma. | |
status_t | FLEXSPI_TransferGetTransferCountDMA (FLEXSPI_Type *base, flexspi_dma_handle_t *handle, size_t *count) |
Gets the transferred counts of transfer. | |
void FLEXSPI_TransferAbortDMA | ( | FLEXSPI_Type * | base, |
flexspi_dma_handle_t * | handle | ||
) |
Aborts the transfer data using dma.
This function aborts the transfer data using dma.
base | FLEXSPI peripheral base address. |
handle | Pointer to flexspi_dma_handle_t structure |
void FLEXSPI_TransferCreateHandleDMA | ( | FLEXSPI_Type * | base, |
flexspi_dma_handle_t * | handle, | ||
flexspi_dma_callback_t | callback, | ||
void * | userData, | ||
dma_handle_t * | txDmaHandle, | ||
dma_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_dma_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. |
status_t FLEXSPI_TransferDMA | ( | FLEXSPI_Type * | base, |
flexspi_dma_handle_t * | handle, | ||
flexspi_transfer_t * | xfer | ||
) |
Transfers FLEXSPI data using an dma 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_dma_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 DMA transfer. |
kStatus_Success | FLEXSPI successfully start dma transfer. |
status_t FLEXSPI_TransferGetTransferCountDMA | ( | FLEXSPI_Type * | base, |
flexspi_dma_handle_t * | handle, | ||
size_t * | count | ||
) |
Gets the transferred counts of transfer.
base | FLEXSPI peripheral base address. |
handle | Pointer to flexspi_dma_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_TransferUpdateSizeDMA | ( | FLEXSPI_Type * | base, |
flexspi_dma_handle_t * | handle, | ||
flexspi_dma_transfer_nsize_t | nsize | ||
) |
Update FLEXSPI DMA transfer source data transfer size(SSIZE) and destination data transfer size(DSIZE).
base | FLEXSPI peripheral base address |
handle | Pointer to flexspi_dma_handle_t structure |
nsize | FLEXSPI DMA transfer data transfer size(SSIZE/DSIZE), by default the size is kFLEXPSI_DMAnSize1Bytes(one byte). |
flexspi_dma_callback_t _flexspi_dma_handle::completionCallback |
A callback function called after the dma transfer is finished.
uint8_t _flexspi_dma_handle::count |
The transfer data count in a DMA request.
uint8_t _flexspi_dma_handle::nbytes |
dma minor byte transfer count initially configured.
flexspi_dma_transfer_nsize_t _flexspi_dma_handle::nsize |
dma SSIZE/DSIZE in each transfer.
dma_handle_t* _flexspi_dma_handle::rxDmaHandle |
dma handler for FLEXSPI Rx.
uint32_t _flexspi_dma_handle::state |
Internal state for FLEXSPI dma transfer.
size_t _flexspi_dma_handle::transferSize |
Bytes need to transfer.
dma_handle_t* _flexspi_dma_handle::txDmaHandle |
dma handler for FLEXSPI Tx.
void* _flexspi_dma_handle::userData |
User callback parameter