The QSPI_EDMA module provide a method for QSPI transfer operation based on EDMA.
|
void | QSPI_MasterTransferCreateHandleEDMA (QSPI_Type *base, qspi_master_edma_handle_t *psHandle, qspi_edma_transfer_callback_t pfCallback, void *pUserData, DMA_Type *psEdmaBase, edma_channel_t eEdmaTxChannel, edma_channel_t eEdmaRxChannel) |
| Initialize the QUEUEDSPI master EDMA handle. More...
|
|
status_t | QSPI_MasterTransferEDMA (qspi_master_edma_handle_t *psHandle, qspi_transfer_t *psXfer) |
| EDMA method of QUEUEDSPI master transfer. More...
|
|
status_t | QSPI_MasterTransferGetCountEDMA (qspi_master_edma_handle_t *psHandle, uint16_t *pu16Count) |
| Get the master EDMA transfer count. More...
|
|
void | QSPI_MasterTransferAbortEDMA (qspi_master_edma_handle_t *psHandle) |
| Abort a transfer that uses EDMA for master. More...
|
|
void | QSPI_SlaveTransferCreateHandleEDMA (QSPI_Type *base, qspi_slave_edma_handle_t *psHandle, qspi_edma_transfer_callback_t pfCallback, void *pUserData, DMA_Type *psEdmaBase, edma_channel_t eEdmaTxChannel, edma_channel_t eEdmaRxChannel) |
| Initialize the QUEUEDSPI slave EDMA handle. More...
|
|
status_t | QSPI_SlaveTransferEDMA (qspi_slave_edma_handle_t *handle, qspi_transfer_t *psXfer) |
| EDMA method of QUEUEDSPI slave transfer. More...
|
|
status_t | QSPI_SlaveTransferGetCountEDMA (qspi_slave_edma_handle_t *handle, uint16_t *pu16Count) |
| Get the slave EDMA transfer count. More...
|
|
void | QSPI_SlaveTransferAbortEDMA (qspi_slave_edma_handle_t *handle) |
| Abort a transfer that uses EDMA for slave. More...
|
|
struct _qspi_master_edma_handle |
Forward declaration of the _qspi_master_edma_handle typedefs.
volatile uint8_t qspi_slave_edma_handle_t::u8State |
uint16_t qspi_slave_edma_handle_t::u16TotalByteCount |
uint16_t qspi_slave_edma_handle_t::u16TxDummyData |
uint16_t qspi_slave_edma_handle_t::u16RxDummyData |
edma_handle_t qspi_slave_edma_handle_t::sTxHandle |
edma_handle_t qspi_slave_edma_handle_t::sRxHandle |
bool qspi_slave_edma_handle_t::bIsTxInProgress |
bool qspi_slave_edma_handle_t::bIsRxInProgress |
void* qspi_slave_edma_handle_t::pUserData |
volatile bool qspi_slave_edma_handle_t::bIsPcsActiveAfterTransfer |
typedef void(* qspi_edma_transfer_callback_t)(qspi_master_edma_handle_t *psHandle, status_t eCompletionStatus, void *pUserData) |
- Parameters
-
base | QUEUEDSPI peripheral base address. |
psHandle | Pointer to the handle for the QUEUEDSPI master. |
eCompletionStatus | Success or error code describing whether the transfer completed. |
pUserData | Arbitrary pointer-dataSized value passed from the application. |
This function initializes the QUEUEDSPI EDMA master handle which can be used for QUEUEDSPI EDMA master transactional APIs. Usually, for a specified QUEUEDSPI instance, call this API once to get the initialized handle.
- Parameters
-
base | QUEUEDSPI peripheral base address. |
psHandle | QUEUEDSPI handle pointer to qspi_master_edma_handle_t. |
pfCallback | QUEUEDSPI callback. |
pUserData | callback function parameter. |
psEdmaBase | base address for the EDMA |
eEdmaTxChannel | Channel of the EDMA used for QSPI Tx |
eEdmaRxChannel | Channel of the EDMA used for QSPI Rx |
This function transfers data using EDMA. This is a non-blocking function, which returns right away. When all data is transferred, the callback function is called.
: The transfer data size should be even, if the transfer data width is larger than 8.
- Parameters
-
psHandle | pointer to qspi_master_edma_handle_t structure which stores the transfer state. |
psXfer | pointer to qspi_transfer_t structure. |
- Returns
- status of status_t.
status_t QSPI_MasterTransferGetCountEDMA |
( |
qspi_master_edma_handle_t * |
psHandle, |
|
|
uint16_t * |
pu16Count |
|
) |
| |
- Parameters
-
psHandle | Pointer to the qspi_master_edma_handle_t structure which stores the transfer state. |
pu16Count | The number of bytes transferred by using the EDMA transaction. |
- Returns
- status of status_t.
void QSPI_MasterTransferAbortEDMA |
( |
qspi_master_edma_handle_t * |
psHandle | ) |
|
- Parameters
-
psHandle | Pointer to the qspi_master_edma_handle_t structure which stores the transfer state. |
This function initializes the QUEUEDSPI EDMA handle which can be used for other QUEUEDSPI transactional APIs. Usually, for a specified QUEUEDSPI instance, call this API once to get the initialized handle.
- Parameters
-
psHandle | QUEUEDSPI handle pointer to qspi_slave_edma_handle_t. |
pfCallback | QUEUEDSPI callback. |
pUserData | callback function parameter. |
psEdmaBase | base address for the EDMA |
eEdmaTxChannel | Channel of the EDMA used for QSPI Tx |
eEdmaRxChannel | Channel of the EDMA used for QSPI Rx |
This function transfers data using EDMA. This is a non-blocking function, which returns right away. When all data is transferred, the callback function is called.
: The transfer data size should be even if the transfer data width is larger than 8.
- Parameters
-
psHandle | pointer to qspi_slave_edma_handle_t structure which stores the transfer state. |
psXfer | pointer to qspi_transfer_t structure. |
- Returns
- status of status_t.
status_t QSPI_SlaveTransferGetCountEDMA |
( |
qspi_slave_edma_handle_t * |
handle, |
|
|
uint16_t * |
pu16Count |
|
) |
| |
- Parameters
-
base | QUEUEDSPI peripheral base address. |
psHandle | Pointer to the qspi_slave_edma_handle_t structure which stores the transfer state. |
pu16Count | The number of bytes transferred by using the EDMA transaction. |
- Returns
- status of status_t.
void QSPI_SlaveTransferAbortEDMA |
( |
qspi_slave_edma_handle_t * |
handle | ) |
|
- Parameters
-
psHandle | Pointer to the qspi_slave_edma_handle_t structure which stores the transfer state. |