Synergy Software Package User's Manual

The I2S (Inter-IC Sound) interface provides APIs and definitions for I2S audio communication. More...

Data Structures

struct  i2s_callback_args_t
 
struct  i2s_info_t
 
struct  i2s_cfg_t
 
struct  i2s_api_t
 
struct  i2s_instance_t
 

Macros

#define I2S_API_VERSION_MAJOR   (2U)
 

Typedefs

typedef void i2s_ctrl_t
 

Enumerations

enum  i2s_pcm_width_t {
  I2S_PCM_WIDTH_8_BITS = 0, I2S_PCM_WIDTH_16_BITS = 1, I2S_PCM_WIDTH_18_BITS = 2, I2S_PCM_WIDTH_20_BITS = 3,
  I2S_PCM_WIDTH_22_BITS = 4, I2S_PCM_WIDTH_24_BITS = 5
}
 
enum  i2s_word_length_t { I2S_WORD_LENGTH_8_BITS = 0, I2S_WORD_LENGTH_16_BITS = 1, I2S_WORD_LENGTH_24_BITS = 2, I2S_WORD_LENGTH_32_BITS = 3 }
 
enum  i2s_event_t { I2S_EVENT_IDLE, I2S_EVENT_TX_EMPTY, I2S_EVENT_RX_FULL }
 
enum  i2s_dir_t { I2S_DIR_TX, I2S_DIR_RX, I2S_DIR_TX_RX }
 
enum  i2s_mode_t { I2S_MODE_SLAVE = 0, I2S_MODE_MASTER = 1 }
 
enum  i2s_mute_t { I2S_MUTE_ON = 0, I2S_MUTE_OFF = 1 }
 
enum  i2s_ws_continue_t { I2S_WS_CONTINUE_ON = 0, I2S_WS_CONTINUE_OFF = 1 }
 
enum  i2s_status_t { I2S_STATUS_IN_USE, I2S_STATUS_STOPPED }
 

Detailed Description

The I2S (Inter-IC Sound) interface provides APIs and definitions for I2S audio communication.

Summary

The I2S (Inter-IC Sound) interface provides APIs and definitions for I2S audio communication.

Known Implementations

SSI

Related modules

See also: I2S Audio Playback Framework

Macro Definition Documentation

◆ I2S_API_VERSION_MAJOR

#define I2S_API_VERSION_MAJOR   (2U)

Register definitions, common services and error codes.

Typedef Documentation

◆ i2s_ctrl_t

typedef void i2s_ctrl_t

I2S control block. Allocate an instance specific control block to pass into the I2S API calls.

Implemented as

Enumeration Type Documentation

◆ i2s_dir_t

enum i2s_dir_t

I2S communication direction

Enumerator
I2S_DIR_TX 

Transmit direction only.

I2S_DIR_RX 

Receive direction only.

I2S_DIR_TX_RX 

Transmit and receive direction.

◆ i2s_event_t

Events that can trigger a callback function

Enumerator
I2S_EVENT_IDLE 

Communication is idle.

I2S_EVENT_TX_EMPTY 

Transmit buffer is below FIFO trigger level.

I2S_EVENT_RX_FULL 

Receive buffer is above FIFO trigger level.

◆ i2s_mode_t

enum i2s_mode_t

I2S communication mode

Enumerator
I2S_MODE_SLAVE 

Slave mode.

I2S_MODE_MASTER 

Master mode.

◆ i2s_mute_t

enum i2s_mute_t

Mute audio samples.

Enumerator
I2S_MUTE_ON 

Enable mute.

I2S_MUTE_OFF 

Disable mute.

◆ i2s_pcm_width_t

Audio PCM width

Enumerator
I2S_PCM_WIDTH_8_BITS 

Using 8-bit PCM.

I2S_PCM_WIDTH_16_BITS 

Using 16-bit PCM.

I2S_PCM_WIDTH_18_BITS 

Using 18-bit PCM.

I2S_PCM_WIDTH_20_BITS 

Using 20-bit PCM.

I2S_PCM_WIDTH_22_BITS 

Using 22-bit PCM.

I2S_PCM_WIDTH_24_BITS 

Using 24-bit PCM.

◆ i2s_status_t

Possible status values returned by i2s_api_t::infoGet.

Enumerator
I2S_STATUS_IN_USE 

I2S is in use.

I2S_STATUS_STOPPED 

I2S is stopped.

◆ i2s_word_length_t

Audio system word length.

Enumerator
I2S_WORD_LENGTH_8_BITS 

Using 8-bit system word length.

I2S_WORD_LENGTH_16_BITS 

Using 16-bit system word length.

I2S_WORD_LENGTH_24_BITS 

Using 24-bit system word length.

I2S_WORD_LENGTH_32_BITS 

Using 32-bit system word length.

◆ i2s_ws_continue_t

Whether to continue WS (word select line) transmission during idle state.

Enumerator
I2S_WS_CONTINUE_ON 

Enable WS continue mode.

I2S_WS_CONTINUE_OFF 

Disable WS continue mode.