Intel® Quark™ Microcontroller Software Interface  1.4.0
Intel® Quark™ Microcontroller BSP
qm_i2s_channel_cfg_data_t Struct Reference

I2S controller configuration. More...

#include <qm_i2s.h>

Data Fields

qm_dma_channel_id_t dma_channel
 DMA controller Channel ID.
 
qm_i2s_audio_stream_t audio_stream
 I2S audio stream identifier.
 
qm_i2s_audio_format_t audio_format
 I2S audio format configuration.
 
qm_i2s_master_slave_t master_slave
 I2S Master or Slave configuration.
 
qm_i2s_sample_resolution_t sample_resolution
 Sampling resolution.
 
qm_i2s_audio_rate_t audio_rate
 Audio rate.
 
qm_i2s_buffer_mode_t audio_buff_cfg
 Terminated link list or ring buffer configuration.
 
uint32_t block_size
 DMA block size configuration: The source and destination transfer width is 32-bits for I2S. More...
 
uint32_t num_dma_links
 Total number of DMA links. More...
 
qm_dma_lli_item_t * dma_link
 Pointer to the DMA link list.
 
uint32_t num_buffer_links
 Number of buffer links in the ring buffer. More...
 
qm_i2s_buffer_link_tbuffer_link
 Ring buffer head pointer. More...
 
uint32_t num_dma_link_per_buffer
 Number of DMA links per audio buffer. More...
 
uint32_t buffer_len
 Length of a buffer in the ring buffer. More...
 
uint32_t afull_thresh
 TX/RX almost full threshold. More...
 
uint32_t aempty_thresh
 TX/RX almost empty threshold. More...
 
void(* callback )(void *data, qm_i2s_status_t i2s_status)
 Transfer callback. More...
 
void * callback_data
 Callback user data. More...
 

Detailed Description

I2S controller configuration.

Driver instantiates one of these with given parameters for each I2S channel configured using the "qm_i2s_set_channel_config" function.

Definition at line 170 of file qm_i2s.h.

Field Documentation

uint32_t qm_i2s_channel_cfg_data_t::aempty_thresh

TX/RX almost empty threshold.

Definition at line 197 of file qm_i2s.h.

uint32_t qm_i2s_channel_cfg_data_t::afull_thresh

TX/RX almost full threshold.

Definition at line 196 of file qm_i2s.h.

uint32_t qm_i2s_channel_cfg_data_t::block_size

DMA block size configuration: The source and destination transfer width is 32-bits for I2S.

Min = 1, Max = see DMA configuration

Definition at line 187 of file qm_i2s.h.

uint32_t qm_i2s_channel_cfg_data_t::buffer_len

Length of a buffer in the ring buffer.

Definition at line 195 of file qm_i2s.h.

qm_i2s_buffer_link_t* qm_i2s_channel_cfg_data_t::buffer_link

Ring buffer head pointer.

Definition at line 192 of file qm_i2s.h.

void(* qm_i2s_channel_cfg_data_t::callback)(void *data, qm_i2s_status_t i2s_status)

Transfer callback.

Parameters
[in]dataCallback user data
[in]i2s_statusI2S status

Definition at line 205 of file qm_i2s.h.

void* qm_i2s_channel_cfg_data_t::callback_data

Callback user data.

Definition at line 206 of file qm_i2s.h.

uint32_t qm_i2s_channel_cfg_data_t::num_buffer_links

Number of buffer links in the ring buffer.

Definition at line 191 of file qm_i2s.h.

uint32_t qm_i2s_channel_cfg_data_t::num_dma_link_per_buffer

Number of DMA links per audio buffer.

Definition at line 194 of file qm_i2s.h.

uint32_t qm_i2s_channel_cfg_data_t::num_dma_links

Total number of DMA links.

Definition at line 188 of file qm_i2s.h.