/* 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.  */
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)
/* 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.  */
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)
{
    assert(handle);
    uint32_t instance = FLEXSPI_GetInstance(base);
    s_edmaPrivateHandle[instance].base   = base;
    s_edmaPrivateHandle[instance].handle = handle;
    (void)FLEXSPI_EDMAMemset(handle, 0, sizeof(*handle));
    handle->state       = kFLEXSPI_Idle;
    handle->txDmaHandle = txDmaHandle;
    handle->rxDmaHandle = rxDmaHandle;
    handle->nsize       = kFLEXPSI_EDMAnSize1Bytes;
    handle->completionCallback = callback;
    handle->userData           = userData;
}