16#ifndef __IPC_DAI_INTEL_H__
17#define __IPC_DAI_INTEL_H__
23#define SOF_DAI_INTEL_SSP_QUIRK_TINTE (1 << 0)
25#define SOF_DAI_INTEL_SSP_QUIRK_PINTE (1 << 1)
27#define SOF_DAI_INTEL_SSP_QUIRK_SMTATF (1 << 2)
29#define SOF_DAI_INTEL_SSP_QUIRK_MMRATF (1 << 3)
31#define SOF_DAI_INTEL_SSP_QUIRK_PSPSTWFDFD (1 << 4)
33#define SOF_DAI_INTEL_SSP_QUIRK_PSPSRWFDFD (1 << 5)
35#define SOF_DAI_INTEL_SSP_QUIRK_LBM (1 << 6)
39#define SOF_DAI_INTEL_SSP_FRAME_PULSE_WIDTH_MAX 38
40#define SOF_DAI_INTEL_SSP_SLOT_PADDING_MAX 31
48#define SOF_DAI_INTEL_SSP_MCLK_0_DISABLE BIT(0)
50#define SOF_DAI_INTEL_SSP_MCLK_1_DISABLE BIT(1)
52#define SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_KA BIT(2)
54#define SOF_DAI_INTEL_SSP_CLKCTRL_BCLK_KA BIT(3)
56#define SOF_DAI_INTEL_SSP_CLKCTRL_FS_KA BIT(4)
58#define SOF_DAI_INTEL_SSP_CLKCTRL_BCLK_IDLE_HIGH BIT(5)
60#define SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_ES BIT(6)
62#define SOF_DAI_INTEL_SSP_CLKCTRL_BCLK_ES BIT(7)
64#define SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON BIT(8)
67#define SOF_DAI_INTEL_DMIC_NUM_CTRL 4
99} __attribute__((packed, aligned(4)));
107} __attribute__((packed, aligned(4)));
118} __attribute__((packed, aligned(4)));
153} __attribute__((packed, aligned(4)));
212} __attribute__((packed, aligned(4)));
#define SOF_DAI_INTEL_DMIC_NUM_CTRL
Definition dai-intel.h:67
Definition dai-intel.h:110
uint32_t stream_id
Definition dai-intel.h:112
uint32_t rate
Definition dai-intel.h:113
uint32_t reserved0
Definition dai-intel.h:111
uint32_t reserved[13]
Definition dai-intel.h:117
uint32_t channels
Definition dai-intel.h:114
Definition dai-intel.h:185
uint32_t unmute_ramp_time
Length of logarithmic gain ramp (ms).
Definition dai-intel.h:205
uint32_t num_pdm_active
Number of active pdm controllers.
Definition dai-intel.h:200
uint32_t reserved[5]
PDM controllers configuration.
Definition dai-intel.h:208
uint32_t reserved0
Definition dai-intel.h:186
uint32_t fifo_fs
FIFO sample rate in Hz (8000..96000).
Definition dai-intel.h:192
uint16_t fifo_bits
FIFO word length (16 or 32).
Definition dai-intel.h:194
uint16_t fifo_bits_b
Deprecated since firmware ABI 3.0.1.
Definition dai-intel.h:195
uint32_t pdmclk_max
Maximum microphone clock in Hz (min...N).
Definition dai-intel.h:190
uint32_t wake_up_time
Time from clock start to data (us).
Definition dai-intel.h:203
uint16_t duty_max
Max.
Definition dai-intel.h:198
struct sof_ipc_dai_dmic_pdm_ctrl pdm[SOF_DAI_INTEL_DMIC_NUM_CTRL]
Definition dai-intel.h:211
uint32_t min_clock_on_time
Min.
Definition dai-intel.h:204
uint16_t duty_min
Min.
Definition dai-intel.h:197
uint32_t pdmclk_min
Minimum microphone clock in Hz (100000..N).
Definition dai-intel.h:189
uint32_t driver_ipc_version
Version (1..N).
Definition dai-intel.h:187
uint32_t reserved_1
Reserved.
Definition dai-intel.h:193
Definition dai-intel.h:139
uint16_t polarity_mic_a
Optionally invert mic A signal (0 or 1).
Definition dai-intel.h:146
uint16_t polarity_mic_b
Optionally invert mic B signal (0 or 1).
Definition dai-intel.h:147
uint32_t reserved0
Definition dai-intel.h:140
uint16_t reserved[3]
Make sure the total size is 4 bytes aligned.
Definition dai-intel.h:152
uint16_t enable_mic_b
Use B (right) channel mic (0 or 1).
Definition dai-intel.h:144
uint16_t skew
Adjust PDM data sampling vs.
Definition dai-intel.h:150
uint16_t id
PDM controller ID.
Definition dai-intel.h:141
uint16_t clk_edge
Optionally swap data clock edge (0 or 1).
Definition dai-intel.h:149
uint16_t enable_mic_a
Use A (left) channel mic (0 or 1).
Definition dai-intel.h:143
Definition dai-intel.h:102
uint32_t link_dma_ch
Definition dai-intel.h:104
uint32_t rate
Definition dai-intel.h:105
uint32_t reserved0
Definition dai-intel.h:103
uint32_t channels
Definition dai-intel.h:106
Definition dai-intel.h:70
uint32_t tdm_slots
Definition dai-intel.h:80
uint32_t clks_control
Definition dai-intel.h:94
uint32_t bclk_delay
Definition dai-intel.h:96
uint16_t mclk_id
Definition dai-intel.h:73
uint32_t reserved0
Definition dai-intel.h:71
uint32_t tx_slots
Definition dai-intel.h:82
uint16_t frame_pulse_width
Definition dai-intel.h:92
uint16_t tdm_per_slot_padding_flag
Definition dai-intel.h:93
uint32_t rx_slots
Definition dai-intel.h:81
uint32_t bclk_rate
Definition dai-intel.h:77
uint16_t reserved2
Definition dai-intel.h:87
uint32_t fsync_rate
Definition dai-intel.h:76
uint32_t sample_valid_bits
Definition dai-intel.h:85
uint16_t tdm_slot_width
Definition dai-intel.h:86
uint32_t quirks
Definition dai-intel.h:95
uint32_t mclk_direction
Definition dai-intel.h:90
uint32_t mclk_rate
Definition dai-intel.h:75
uint16_t reserved1
Definition dai-intel.h:72