6#ifndef __SOF_IPC4_DMIC_H__
7#define __SOF_IPC4_DMIC_H__
22#define DMIC_SET_GAIN_COEFFICIENTS 2
25#define DMIC_MAX_GAIN_COEFFS_CNT 4
49} __packed __aligned(4);
71} __packed __aligned(4);
91} __packed __aligned(4);
109} __packed __aligned(4);
118} __packed __aligned(4);
IPC4 audio gateway attributes, ALH, HDA, and SoundWire gateway definitions.
Configuration parameters for a single DMIC channel.
Definition dmic.h:55
uint32_t out_control
Output control register value.
Definition dmic.h:56
Complete configuration blob for Digital Microphone (DMIC) settings.
Definition dmic.h:100
uint32_t pdm_ctrl_mask
Bitmask of active PDM controllers.
Definition dmic.h:107
struct dmic_channel_cfg channel_cfg[0]
Variable-length channel configurations.
Definition dmic.h:106
struct dmic_pdm_ctrl_cfg pdm_ctrl_cfg[0]
Variable-length PDM controller configurations.
Definition dmic.h:108
uint32_t channel_ctrl_mask
PDM channels to program from channel_cfg.
Definition dmic.h:103
uint32_t clock_source
Clock source selection for DMIC.
Definition dmic.h:104
uint32_t ts_group[4]
Time-slot grouping mappings.
Definition dmic.h:101
union dmic_global_cfg global_cfg
Global clock delay and fade parameters.
Definition dmic.h:102
uint32_t rsvd
Reserved padding.
Definition dmic.h:105
Top-level DMIC configuration data container.
Definition dmic.h:115
struct dmic_config_blob dmic_blob
Hardware DMIC configuration blob.
Definition dmic.h:117
union ipc4_gateway_attributes gtw_attributes
Gateway memory allocation attributes.
Definition dmic.h:116
Finite Impulse Response (FIR) decimation filter configuration.
Definition dmic.h:63
uint32_t fir_config
FIR filter configuration register value.
Definition dmic.h:65
uint32_t out_gain_left
Output gain value for left channel.
Definition dmic.h:68
uint32_t dc_offset_left
DC offset compensation value for left channel.
Definition dmic.h:66
uint32_t rsvd_2[2]
Reserved padding.
Definition dmic.h:70
uint32_t fir_control
FIR filter control register value.
Definition dmic.h:64
uint32_t dc_offset_rigth
DC offset compensation value for right channel.
Definition dmic.h:67
uint32_t out_gain_rigth
Output gain value for right channel.
Definition dmic.h:69
Pulse Density Modulation (PDM) controller configuration for DMIC.
Definition dmic.h:81
uint32_t rsvd_0
Reserved padding.
Definition dmic.h:84
uint32_t cic_control
CIC filter control register value.
Definition dmic.h:82
uint32_t rsvd_1[2]
Reserved padding.
Definition dmic.h:88
uint32_t fir_coeffs[0]
Variable-length array of FIR coefficients (channel A then B).
Definition dmic.h:90
uint32_t pdmsm
SoundWire PDM stream mapping (ignored on non-SDW).
Definition dmic.h:86
struct dmic_fir_cfg fir_config[2]
Cascaded FIR decimation filter configurations.
Definition dmic.h:89
uint32_t cic_config
CIC filter configuration register value.
Definition dmic.h:83
uint32_t mic_control
Microphone control register value.
Definition dmic.h:85
uint32_t reuse_fir_from_pdm
Index of another PDM controller to reuse FIR coefficients from.
Definition dmic.h:87
Global hardware configuration for DMIC controller.
Definition dmic.h:31
uint32_t silence_period
Specifies the period in milliseconds to override data with silence after DMA transfer is started.
Definition dmic.h:41
struct dmic_global_cfg::@12 ext_global_cfg
Extended global configuration bitfields.
uint32_t fade_in_period
Specifies the period in milliseconds for fade-in to apply on input data (following silence_period if ...
Definition dmic.h:47
uint32_t clock_on_delay
Raw 32-bit clock on delay value.
Definition dmic.h:33
Gateway buffer allocation attributes.
Definition gateway.h:128