9 #include "qm_soc_regs.h"
Indicates that a FIFO underrun error was detected.
Indicates that a FIFO overflow error was detected.
13 bits audio sample resolution
qm_i2s_clk_src_t
I2S Reference Clock Source Select.
18 bits audio sample resolution
17 bits audio sample resolution
Master configuration selection.
uint32_t num_buffer_links
Number of buffer links in the ring buffer.
Indicates TX FIFO almost full interrupt occurred.
26 bits audio sample resolution
qm_i2s_audio_format_t
I2S audio formats.
Indicates that a DMA error was detected.
21 bits audio sample resolution
24 bits audio sample resolution
qm_i2s_sample_resolution_t
I2S Audio sample resolution.
16 bits audio sample resolution
uint32_t i2s_clk_freq
Used by the driver when configuring I2S reference clock from the NCO.
Indicates RX FIFO empty interrupt occurred.
27 bits audio sample resolution
Indicates RX FIFO almost empty interrupt occurred.
uint32_t i2s_mclk_divisor
MCLK output is generated from the Internal NCO output, normally @24.576Mhz, using a divisor...
14 bits audio sample resolution
Indicates that DMA operation was completed.
uint32_t num_dma_links
Total number of DMA links.
32 bits audio sample resolution
Indicates TX FIFO empty interrupt occurred.
I2S controller configuration.
qm_i2s_audio_stream_t audio_stream
I2S audio stream identifier.
Indicates TX FIFO full interrupt occurred.
qm_i2s_master_slave_t
I2S master/slave configuration.
Used for single audio playback/recording.
qm_i2s_status_t
I2S status type.
int qm_i2s_dma_transfer_terminate(const qm_i2s_t i2s, qm_i2s_channel_cfg_data_t *const config)
Terminate the current DMA transfer on the given I2S peripheral channel.
uint32_t afull_thresh
TX/RX almost full threshold.
int qm_i2s_set_clock_config(const qm_i2s_t i2s, const qm_i2s_clock_cfg_data_t *const i2s_clk_cfg)
Function to configure and enable I2S clocks Configuration parameters must be valid or an error is ret...
Left justified audio format.
struct qm_i2s_buffer_link * next
Link list item's pointer to the next link.
qm_i2s_audio_format_t audio_format
I2S audio format configuration.
Ring buffer link definition.
31 bits audio sample resolution
qm_dma_channel_id_t dma_channel
DMA controller Channel ID.
Slave configuration selection.
28 bits audio sample resolution
uint32_t buffer_len
Length of a buffer in the ring buffer.
int qm_i2s_dma_channel_config(const qm_i2s_t i2s, const qm_i2s_audio_stream_t audio_stream, const qm_i2s_channel_cfg_data_t *const config)
Function to configure specified I2S controller stream Configuration parameters must be valid or an er...
int qm_i2s_channel_disable(const qm_i2s_t i2s, const qm_i2s_audio_stream_t audio_stream)
Function to place I2S controller into a disabled state.
19 bits audio sample resolution
qm_i2s_buffer_mode_t
I2S Audio buffer termination.
25 bits audio sample resolution
uint32_t aempty_thresh
TX/RX almost empty threshold.
22 bits audio sample resolution
qm_i2s_buffer_link_t * buffer_link
Ring buffer head pointer.
bool i2s_mclk_output_en
Enable MCLK output.
qm_dma_lli_item_t * dma_link
Pointer to the DMA link list.
uint32_t * buff
Pointer to the buffer base address.
qm_i2s_audio_stream_t
I2S Audio stream identifiers.
qm_i2s_buffer_mode_t audio_buff_cfg
Terminated link list or ring buffer configuration.
12 bits audio sample resolution
uint32_t i2s_ext_clk_freq
Informs the driver of frequency of external clock when it is enabled.
Indicates RX FIFO almost full interrupt occurred.
qm_dma_lli_item_t * dma_link_head
Pointer to the head of the DMA link list for the buffer link.
qm_i2s_sample_resolution_t sample_resolution
Sampling resolution.
uint32_t num_dma_link_per_buffer
Number of DMA links per audio buffer.
15 bits audio sample resolution
Right justified audio format.
30 bits audio sample resolution
20 bits audio sample resolution
qm_i2s_clk_src_t i2s_clock_sel
Select Internal NCO or external reference clock for I2S block.
struct qm_i2s_buffer_link qm_i2s_buffer_link_t
Ring buffer link definition.
Indicates TX FIFO almost empty interrupt occurred.
qm_dma_channel_id_t
DMA channel IDs.
Indicates RX FIFO full interrupt occurred.
qm_i2s_master_slave_t master_slave
I2S Master or Slave configuration.
qm_i2s_audio_rate_t
I2S Audio rates available.
int qm_i2s_dma_transfer(const qm_i2s_t i2s, const qm_i2s_audio_stream_t audio_stream)
Function to transmit a block of data to the specified I2S channel.
Used for continuous audio playback/recording.
23 bits audio sample resolution
void * callback_data
Callback user data.
Take in clock from external source.
uint32_t block_size
DMA block size configuration: The source and destination transfer width is 32-bits for I2S...
29 bits audio sample resolution
qm_i2s_audio_rate_t audio_rate
Audio rate.