19 #ifndef FLEXIO_I2S_DRIVER_H
20 #define FLEXIO_I2S_DRIVER_H
124 flexio_common_state_t flexioCommon;
125 const uint8_t *txData;
127 uint32_t txRemainingBytes;
128 uint32_t rxRemainingBytes;
129 uint32_t dummyDmaData;
130 uint8_t rxDMAChannel;
131 uint8_t txDMAChannel;
138 semaphore_t idleSemaphore;
164 #if defined(__cplusplus)
250 const uint8_t * txBuff,
268 const uint8_t * txBuff,
367 const uint8_t * txBuff,
438 const uint8_t * txBuff,
460 const uint8_t * txBuff,
583 const uint8_t * txBuff,
591 #if defined(__cplusplus)
status_t FLEXIO_I2S_DRV_MasterReceiveDataBlocking(flexio_i2s_master_state_t *master, uint8_t *rxBuff, uint32_t rxSize, uint32_t timeout)
Perform a blocking receive transaction on the I2S bus.
status_t FLEXIO_I2S_DRV_MasterReceiveData(flexio_i2s_master_state_t *master, uint8_t *rxBuff, uint32_t rxSize)
Perform a non-blocking receive transaction on the I2S bus.
static status_t FLEXIO_I2S_DRV_SlaveTransferAbort(flexio_i2s_slave_state_t *slave)
Aborts a non-blocking I2S slave transaction.
status_t FLEXIO_I2S_DRV_MasterSetTxBuffer(flexio_i2s_master_state_t *master, const uint8_t *txBuff, uint32_t txSize)
Provide a buffer for transmitting data.
status_t FLEXIO_I2S_DRV_MasterSendData(flexio_i2s_master_state_t *master, const uint8_t *txBuff, uint32_t txSize)
Perform a non-blocking send transaction on the I2S bus.
Master internal context structure.
Slave configuration structure.
static status_t FLEXIO_I2S_DRV_SlaveSetTxBuffer(flexio_i2s_slave_state_t *slave, const uint8_t *txBuff, uint32_t txSize)
Provide a buffer for transmitting data.
flexio_i2s_master_state_t flexio_i2s_slave_state_t
Slave internal context structure.
status_t FLEXIO_I2S_DRV_MasterDeinit(flexio_i2s_master_state_t *master)
De-initialize the FLEXIO_I2S master mode driver.
status_t FLEXIO_I2S_DRV_SlaveInit(uint32_t instance, const flexio_i2s_slave_user_config_t *userConfigPtr, flexio_i2s_slave_state_t *slave)
Initialize the FLEXIO_I2S slave mode driver.
static status_t FLEXIO_I2S_DRV_SlaveSendData(flexio_i2s_slave_state_t *slave, const uint8_t *txBuff, uint32_t txSize)
Perform a non-blocking send transaction on the I2S bus.
status_t FLEXIO_I2S_DRV_MasterSendDataBlocking(flexio_i2s_master_state_t *master, const uint8_t *txBuff, uint32_t txSize, uint32_t timeout)
Perform a blocking send transaction on the I2S bus.
status_t FLEXIO_I2S_DRV_MasterSetConfig(flexio_i2s_master_state_t *master, uint32_t baudRate, uint8_t bitsWidth)
Set the baud rate and bit width for any subsequent I2S communication.
status_t FLEXIO_I2S_DRV_MasterGetStatus(flexio_i2s_master_state_t *master, uint32_t *bytesRemaining)
Get the status of the current non-blocking I2S master transaction.
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
flexio_driver_type_t driverType
static status_t FLEXIO_I2S_DRV_SlaveSetRxBuffer(flexio_i2s_slave_state_t *slave, uint8_t *rxBuff, uint32_t rxSize)
Provide a buffer for receiving data.
status_t FLEXIO_I2S_DRV_MasterInit(uint32_t instance, const flexio_i2s_master_user_config_t *userConfigPtr, flexio_i2s_master_state_t *master)
Initialize the FLEXIO_I2S master mode driver.
static status_t FLEXIO_I2S_DRV_SlaveGetStatus(flexio_i2s_slave_state_t *slave, uint32_t *bytesRemaining)
Get the status of the current non-blocking I2S slave transaction.
flexio_driver_type_t
Driver type: interrupts/polling/DMA Implements : flexio_driver_type_t_Class.
flexio_driver_type_t driverType
void(* i2s_callback_t)(i2s_event_t event, void *userData)
status_t FLEXIO_I2S_DRV_MasterSetRxBuffer(flexio_i2s_master_state_t *master, uint8_t *rxBuff, uint32_t rxSize)
Provide a buffer for receiving data.
Master configuration structure.
status_t FLEXIO_I2S_DRV_MasterGetBaudRate(flexio_i2s_master_state_t *master, uint32_t *baudRate)
Get the currently configured baud rate.
status_t FLEXIO_I2S_DRV_MasterTransferAbort(flexio_i2s_master_state_t *master)
Aborts a non-blocking I2S master transaction.
static status_t FLEXIO_I2S_DRV_SlaveReceiveData(flexio_i2s_slave_state_t *slave, uint8_t *rxBuff, uint32_t rxSize)
Perform a non-blocking receive transaction on the I2S bus.
static status_t FLEXIO_I2S_DRV_SlaveDeinit(flexio_i2s_slave_state_t *slave)
De-initialize the FLEXIO_I2S slave mode driver.
static status_t FLEXIO_I2S_DRV_SlaveReceiveDataBlocking(flexio_i2s_slave_state_t *slave, uint8_t *rxBuff, uint32_t rxSize, uint32_t timeout)
Perform a blocking receive transaction on the I2S bus.
static status_t FLEXIO_I2S_DRV_SlaveSendDataBlocking(flexio_i2s_slave_state_t *slave, const uint8_t *txBuff, uint32_t txSize, uint32_t timeout)
Perform a blocking send transaction on the I2S bus.
status_t FLEXIO_I2S_DRV_SlaveSetConfig(flexio_i2s_slave_state_t *slave, uint8_t bitsWidth)
Set the bit width for any subsequent I2S communication.