8#ifndef _FSL_FLEXIO_SPI_EDMA_H_
9#define _FSL_FLEXIO_SPI_EDMA_H_
11#include "fsl_flexio_spi.h"
26#define FSL_FLEXIO_SPI_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 3, 0))
63#if defined(__cplusplus)
145static inline void FLEXIO_SPI_SlaveTransferCreateHandleEDMA(
FLEXIO_SPI_Type *base,
200#if defined(__cplusplus)
struct _edma_handle edma_handle_t
eDMA transfer handle structure
void FLEXIO_SPI_MasterTransferAbortEDMA(FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle)
Aborts a FlexIO SPI transfer using eDMA.
Definition fsl_flexio_spi_edma.c:465
status_t FLEXIO_SPI_MasterTransferEDMA(FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle, flexio_spi_transfer_t *xfer)
Performs a non-blocking FlexIO SPI transfer using eDMA.
Definition fsl_flexio_spi_edma.c:356
status_t FLEXIO_SPI_MasterTransferCreateHandleEDMA(FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle, flexio_spi_master_edma_transfer_callback_t callback, void *userData, edma_handle_t *txHandle, edma_handle_t *rxHandle)
Initializes the FlexIO SPI master eDMA handle.
Definition fsl_flexio_spi_edma.c:290
void(*) flexio_spi_master_edma_transfer_callback_t(FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle, status_t status, void *userData)
FlexIO SPI master callback for finished transmit.
Definition fsl_flexio_spi_edma.h:36
flexio_spi_master_edma_handle_t flexio_spi_slave_edma_handle_t
Slave handle is the same with master handle.
Definition fsl_flexio_spi_edma.h:33
void(*) flexio_spi_slave_edma_transfer_callback_t(FLEXIO_SPI_Type *base, flexio_spi_slave_edma_handle_t *handle, status_t status, void *userData)
FlexIO SPI slave callback for finished transmit.
Definition fsl_flexio_spi_edma.h:42
struct _flexio_spi_master_edma_handle flexio_spi_master_edma_handle_t
typedef for flexio_spi_master_edma_handle_t in advance.
Definition fsl_flexio_spi_edma.h:30
status_t FLEXIO_SPI_MasterTransferGetCountEDMA(FLEXIO_SPI_Type *base, flexio_spi_master_edma_handle_t *handle, size_t *count)
Gets the number of bytes transferred so far using FlexIO SPI master eDMA.
Definition fsl_flexio_spi_edma.c:432
status_t FLEXIO_SPI_SlaveTransferEDMA(FLEXIO_SPI_Type *base, flexio_spi_slave_edma_handle_t *handle, flexio_spi_transfer_t *xfer)
Performs a non-blocking FlexIO SPI transfer using eDMA.
Definition fsl_flexio_spi_edma.c:495
struct _flexio_spi_type FLEXIO_SPI_Type
Define FlexIO SPI access structure typedef.
struct _flexio_spi_transfer flexio_spi_transfer_t
Define FlexIO SPI transfer structure.
int32_t status_t
Type used for all status and error return values.
Definition fsl_common.h:225
FlexIO SPI eDMA transfer handle, users should not touch the content of the handle.
Definition fsl_flexio_spi_edma.h:49
uint8_t nbytes
Definition fsl_flexio_spi_edma.h:51
bool txInProgress
Definition fsl_flexio_spi_edma.h:52
void * userData
Definition fsl_flexio_spi_edma.h:57
flexio_spi_master_edma_transfer_callback_t callback
Definition fsl_flexio_spi_edma.h:56
bool rxInProgress
Definition fsl_flexio_spi_edma.h:53
edma_handle_t * txHandle
Definition fsl_flexio_spi_edma.h:54
size_t transferSize
Definition fsl_flexio_spi_edma.h:50
edma_handle_t * rxHandle
Definition fsl_flexio_spi_edma.h:55