19 #ifndef FLEXIO_SPI_DRIVER_H
20 #define FLEXIO_SPI_DRIVER_H
129 flexio_common_state_t flexioCommon;
130 const uint8_t *txData;
132 uint32_t txRemainingBytes;
133 uint32_t rxRemainingBytes;
134 uint32_t dummyDmaData;
135 uint8_t rxDMAChannel;
136 uint8_t txDMAChannel;
142 semaphore_t idleSemaphore;
170 #if defined(__cplusplus)
254 const uint8_t *txData,
275 const uint8_t *txData,
364 const uint8_t *txData,
389 const uint8_t *txData,
435 #if defined(__cplusplus)
status_t FLEXIO_SPI_DRV_MasterGetBaudRate(flexio_spi_master_state_t *master, uint32_t *baudRate)
Get the currently configured baud rate.
flexio_spi_transfer_size_t transferSize
static status_t FLEXIO_SPI_DRV_SlaveGetStatus(flexio_spi_slave_state_t *slave, uint32_t *bytesRemaining)
Get the status of the current non-blocking SPI slave transaction.
status_t FLEXIO_SPI_DRV_MasterTransferBlocking(flexio_spi_master_state_t *master, const uint8_t *txData, uint8_t *rxData, uint32_t dataSize, uint32_t timeout)
Perform a blocking SPI master transaction.
status_t FLEXIO_SPI_DRV_MasterTransfer(flexio_spi_master_state_t *master, const uint8_t *txData, uint8_t *rxData, uint32_t dataSize)
Perform a non-blocking SPI master transaction.
flexio_spi_transfer_bit_order_t
Order in which the data bits are transferred Implements : flexio_spi_transfer_bit_order_t_Class.
flexio_spi_transfer_bit_order_t bitOrder
void(* spi_callback_t)(void *driverState, spi_event_t event, void *userData)
flexio_spi_master_state_t flexio_spi_slave_state_t
Slave internal context structure.
status_t FLEXIO_SPI_DRV_MasterGetStatus(flexio_spi_master_state_t *master, uint32_t *bytesRemaining)
Get the status of the current non-blocking SPI master transaction.
Slave configuration structure.
static status_t FLEXIO_SPI_DRV_SlaveTransfer(flexio_spi_slave_state_t *slave, const uint8_t *txData, uint8_t *rxData, uint32_t dataSize)
Perform a non-blocking SPI slave transaction.
flexio_driver_type_t driverType
flexio_spi_transfer_size_t transferSize
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
Master configuration structure.
static status_t FLEXIO_SPI_DRV_SlaveTransferBlocking(flexio_spi_slave_state_t *slave, const uint8_t *txData, uint8_t *rxData, uint32_t dataSize, uint32_t timeout)
Perform a blocking SPI slave transaction.
status_t FLEXIO_SPI_DRV_MasterSetBaudRate(flexio_spi_master_state_t *master, uint32_t baudRate)
Set the baud rate for any subsequent SPI communication.
status_t FLEXIO_SPI_DRV_SlaveInit(uint32_t instance, const flexio_spi_slave_user_config_t *userConfigPtr, flexio_spi_slave_state_t *slave)
Initialize the FLEXIO_SPI slave mode driver.
flexio_spi_transfer_bit_order_t bitOrder
flexio_spi_transfer_size_t
Size of transferred data in bytes Implements : flexio_spi_transfer_size_t_Class.
static status_t FLEXIO_SPI_DRV_SlaveDeinit(flexio_spi_slave_state_t *slave)
De-initialize the FLEXIO_SPI slave mode driver.
status_t FLEXIO_SPI_DRV_MasterInit(uint32_t instance, const flexio_spi_master_user_config_t *userConfigPtr, flexio_spi_master_state_t *master)
Initialize the FLEXIO_SPI master mode driver.
flexio_driver_type_t
Driver type: interrupts/polling/DMA Implements : flexio_driver_type_t_Class.
status_t FLEXIO_SPI_DRV_MasterDeinit(flexio_spi_master_state_t *master)
De-initialize the FLEXIO_SPI master mode driver.
status_t FLEXIO_SPI_DRV_MasterTransferAbort(flexio_spi_master_state_t *master)
Aborts a non-blocking SPI master transaction.
Master internal context structure.
flexio_driver_type_t driverType
static status_t FLEXIO_SPI_DRV_SlaveTransferAbort(flexio_spi_slave_state_t *slave)
Aborts a non-blocking SPI slave transaction.