21#ifndef __SOF_IPC4_SSP_H__
22#define __SOF_IPC4_SSP_H__
28#define I2S_TDM_INVALID_SLOT_MAP1 0xF
30#define I2S_TDM_MAX_CHANNEL_COUNT 8
32#define I2S_TDM_MAX_SLOT_MAP_COUNT 8
49} __attribute__((packed, aligned(4)));
58} __attribute__((packed, aligned(4)));
67} __attribute__((packed, aligned(4)));
88} __attribute__((packed, aligned(4)));
107} __attribute__((packed, aligned(4)));
125} __attribute__((packed, aligned(4)));
136} __attribute__((packed, aligned(4)));
IPC4 audio gateway attributes, ALH, HDA, and SoundWire gateway definitions.
#define I2S_TDM_MAX_SLOT_MAP_COUNT
Maximum number of TDM slot mapping entries.
Definition ssp.h:32
Hardware register configuration values for Intel SSP/I2S controller.
Definition ssp.h:38
uint32_t sspsp2
Synchronous Serial Port Programmable Serial Protocol register 2 (SSPSP2).
Definition ssp.h:46
uint32_t sscto
Synchronous Serial Port Control Timeout register (SSCTO).
Definition ssp.h:41
uint32_t ssc0
Synchronous Serial Port Control register 0 (SSCR0: mode, data size).
Definition ssp.h:39
uint32_t ssrsa
Synchronous Serial Port Rx Time Slot Active register (SSRSA).
Definition ssp.h:44
uint32_t sstsa
Synchronous Serial Port Tx Time Slot Active register (SSTSA).
Definition ssp.h:43
uint32_t ssioc
Synchronous Serial Port I/O Control register (SSIOC: pin directions).
Definition ssp.h:48
uint32_t sspsp
Synchronous Serial Port Programmable Serial Protocol register (SSPSP: frame sync timing).
Definition ssp.h:42
uint32_t ssc1
Synchronous Serial Port Control register 1 (SSCR1: clocks, phase, polarity).
Definition ssp.h:40
uint32_t ssc2
Synchronous Serial Port Control register 2 (SSCR2: extended FIFO control).
Definition ssp.h:45
uint32_t ssc3
Synchronous Serial Port Control register 3 (SSCR3).
Definition ssp.h:47
Full SSP/I2S gateway configuration blob structure.
Definition ssp.h:131
union ipc4_gateway_attributes gw_attr
Gateway memory allocation attributes.
Definition ssp.h:132
union ipc4_ssp_dma_control i2s_dma_control[]
Optional dynamic DMA/clock controls.
Definition ssp.h:135
struct ipc4_ssp_driver_config i2s_driver_config
SSP controller and MCLK registers.
Definition ssp.h:134
uint32_t tdm_ts_group[I2S_TDM_MAX_SLOT_MAP_COUNT]
TDM time slot channel mappings.
Definition ssp.h:133
Fractional M/N clock divider settings.
Definition ssp.h:121
uint32_t mval
M numerator value.
Definition ssp.h:122
uint32_t nval
N denominator value.
Definition ssp.h:123
Start and stop clock delay controls.
Definition ssp.h:115
struct ipc4_ssp_stop_control stop_control
Clock stop delay parameters.
Definition ssp.h:117
struct ipc4_ssp_start_control start_control
Clock warm-up parameters.
Definition ssp.h:116
Combined SSP hardware and clock configuration structure.
Definition ssp.h:64
struct ipc4_ssp_config i2s_config
SSP controller register values.
Definition ssp.h:65
struct ipc4_ssp_mclk_config mclk_config
Master clock generator configuration.
Definition ssp.h:66
Master Clock (MCLK) divider hardware configuration.
Definition ssp.h:55
uint32_t mdivc
Master clock divider control register.
Definition ssp.h:56
uint32_t mdivr
Master clock divider ratio register.
Definition ssp.h:57
SSP interface clock start control parameters.
Definition ssp.h:73
uint32_t clock_warm_up
Delay in milliseconds between enabling interface (when Copier is attached) and actual interface start...
Definition ssp.h:78
uint32_t mclk
Target clock: 1 for MCLK, 0 for SCLK.
Definition ssp.h:81
uint32_t warm_up_ovr
1 means start clock immediately even if no Copier is attached.
Definition ssp.h:86
uint32_t rsvd0
Reserved padding.
Definition ssp.h:87
SSP interface clock stop control parameters.
Definition ssp.h:94
uint32_t rsvd1
Reserved padding.
Definition ssp.h:106
uint32_t keep_running
1 means keep clock running continuously after Copier detaches.
Definition ssp.h:102
uint32_t clock_stop_ovr
1 means stop clock immediately upon detachment.
Definition ssp.h:105
uint32_t clock_stop_delay
Delay in milliseconds between stopping interface (when Copier detaches) and stopping interface clocks...
Definition ssp.h:99
Gateway buffer allocation attributes.
Definition gateway.h:128
SSP dynamic DMA and clock control union.
Definition ssp.h:113
struct ipc4_ssp_dma_control::ipc4_mn_div_config mndiv_control_data
M/N divider ratio.
struct ipc4_ssp_dma_control::ipc4_ssp_control control_data
Clock lifecycle controls.