Sound Open Firmware
Loading...
Searching...
No Matches
dai.h File Reference

IPC DAI definitions. More...

Include dependency graph for dai.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sof_ipc_dai_config

Macros

#define SOF_DAI_FMT_I2S   1
 I2S mode.
#define SOF_DAI_FMT_RIGHT_J   2
 Right Justified mode.
#define SOF_DAI_FMT_LEFT_J   3
 Left Justified mode.
#define SOF_DAI_FMT_DSP_A   4
 L data MSB after FRM LRC.
#define SOF_DAI_FMT_DSP_B   5
 L data MSB during FRM LRC.
#define SOF_DAI_FMT_PDM   6
 Pulse density modulation.
#define SOF_DAI_FMT_CONT   (1 << 4)
 continuous clock
#define SOF_DAI_FMT_GATED   (0 << 4)
 clock is gated
#define SOF_DAI_FMT_NB_NF   (0 << 8)
 normal bit clock + frame
#define SOF_DAI_FMT_NB_IF   (2 << 8)
 normal BCLK + inv FRM
#define SOF_DAI_FMT_IB_NF   (3 << 8)
 invert BCLK + nor FRM
#define SOF_DAI_FMT_IB_IF   (4 << 8)
 invert BCLK + FRM
#define SOF_DAI_FMT_CBP_CFP   (0 << 12)
 codec bclk provider & frame provider
#define SOF_DAI_FMT_CBC_CFP   (2 << 12)
 codec bclk consumer & frame provider
#define SOF_DAI_FMT_CBP_CFC   (3 << 12)
 codec bclk provider & frame consumer
#define SOF_DAI_FMT_CBC_CFC   (4 << 12)
 codec bclk consumer & frame consumer
#define SOF_DAI_FMT_FORMAT_MASK   0x000f
#define SOF_DAI_FMT_CLOCK_MASK   0x00f0
#define SOF_DAI_FMT_INV_MASK   0x0f00
#define SOF_DAI_FMT_CLOCK_PROVIDER_MASK   0xf000
#define SOF_DAI_CONFIG_FLAGS_CMD_MASK   0xF
#define SOF_DAI_CONFIG_FLAGS_NONE   0
 DAI_CONFIG sent without stage information.
#define SOF_DAI_CONFIG_FLAGS_HW_PARAMS   BIT(0)
 DAI_CONFIG sent during hw_params stage.
#define SOF_DAI_CONFIG_FLAGS_HW_FREE   BIT(1)
 DAI_CONFIG sent during hw_free stage.
#define SOF_DAI_CONFIG_FLAGS_PAUSE   BIT(2)
#define SOF_DAI_CONFIG_FLAGS_QUIRK_SHIFT   4
#define SOF_DAI_CONFIG_FLAGS_QUIRK_MASK   (0xF << SOF_DAI_CONFIG_FLAGS_QUIRK_SHIFT)
#define SOF_DAI_CONFIG_FLAGS_2_STEP_STOP   BIT(0)
#define SOF_DAI_QUIRK_IS_SET(flags, quirk)
#define SOF_DAI_CONFIG_HW_SPEC_OFFSET   offsetof(struct sof_ipc_dai_config, ssp)

Enumerations

enum  sof_ipc_dai_type {
  SOF_DAI_INTEL_NONE = 0 , SOF_DAI_INTEL_SSP , SOF_DAI_INTEL_DMIC , SOF_DAI_INTEL_HDA ,
  SOF_DAI_INTEL_ALH , SOF_DAI_IMX_SAI , SOF_DAI_IMX_ESAI , SOF_DAI_AMD_BT ,
  SOF_DAI_AMD_SP , SOF_DAI_AMD_DMIC , SOF_DAI_MEDIATEK_AFE , SOF_DAI_AMD_HS ,
  SOF_DAI_AMD_SP_VIRTUAL , SOF_DAI_AMD_HS_VIRTUAL , SOF_DAI_IMX_MICFIL , SOF_DAI_AMD_SDW ,
  SOF_DAI_INTEL_UAOL , SOF_DAI_AMD_TDM
}
 Types of DAI. More...

Detailed Description

Macro Definition Documentation

◆ SOF_DAI_CONFIG_FLAGS_2_STEP_STOP

#define SOF_DAI_CONFIG_FLAGS_2_STEP_STOP   BIT(0)

◆ SOF_DAI_CONFIG_FLAGS_CMD_MASK

#define SOF_DAI_CONFIG_FLAGS_CMD_MASK   0xF

◆ SOF_DAI_CONFIG_FLAGS_HW_FREE

#define SOF_DAI_CONFIG_FLAGS_HW_FREE   BIT(1)

DAI_CONFIG sent during hw_free stage.

DAI_CONFIG sent during pause trigger. Only available ABI 3.20 onwards

◆ SOF_DAI_CONFIG_FLAGS_HW_PARAMS

#define SOF_DAI_CONFIG_FLAGS_HW_PARAMS   BIT(0)

DAI_CONFIG sent during hw_params stage.

◆ SOF_DAI_CONFIG_FLAGS_NONE

#define SOF_DAI_CONFIG_FLAGS_NONE   0

DAI_CONFIG sent without stage information.

◆ SOF_DAI_CONFIG_FLAGS_PAUSE

#define SOF_DAI_CONFIG_FLAGS_PAUSE   BIT(2)

◆ SOF_DAI_CONFIG_FLAGS_QUIRK_MASK

#define SOF_DAI_CONFIG_FLAGS_QUIRK_MASK   (0xF << SOF_DAI_CONFIG_FLAGS_QUIRK_SHIFT)

◆ SOF_DAI_CONFIG_FLAGS_QUIRK_SHIFT

#define SOF_DAI_CONFIG_FLAGS_QUIRK_SHIFT   4

◆ SOF_DAI_CONFIG_HW_SPEC_OFFSET

#define SOF_DAI_CONFIG_HW_SPEC_OFFSET   offsetof(struct sof_ipc_dai_config, ssp)

◆ SOF_DAI_FMT_CBC_CFC

#define SOF_DAI_FMT_CBC_CFC   (4 << 12)

codec bclk consumer & frame consumer

◆ SOF_DAI_FMT_CBC_CFP

#define SOF_DAI_FMT_CBC_CFP   (2 << 12)

codec bclk consumer & frame provider

◆ SOF_DAI_FMT_CBP_CFC

#define SOF_DAI_FMT_CBP_CFC   (3 << 12)

codec bclk provider & frame consumer

◆ SOF_DAI_FMT_CBP_CFP

#define SOF_DAI_FMT_CBP_CFP   (0 << 12)

codec bclk provider & frame provider

◆ SOF_DAI_FMT_CLOCK_MASK

#define SOF_DAI_FMT_CLOCK_MASK   0x00f0

◆ SOF_DAI_FMT_CLOCK_PROVIDER_MASK

#define SOF_DAI_FMT_CLOCK_PROVIDER_MASK   0xf000

◆ SOF_DAI_FMT_CONT

#define SOF_DAI_FMT_CONT   (1 << 4)

continuous clock

◆ SOF_DAI_FMT_DSP_A

#define SOF_DAI_FMT_DSP_A   4

L data MSB after FRM LRC.

◆ SOF_DAI_FMT_DSP_B

#define SOF_DAI_FMT_DSP_B   5

L data MSB during FRM LRC.

◆ SOF_DAI_FMT_FORMAT_MASK

#define SOF_DAI_FMT_FORMAT_MASK   0x000f

◆ SOF_DAI_FMT_GATED

#define SOF_DAI_FMT_GATED   (0 << 4)

clock is gated

◆ SOF_DAI_FMT_I2S

#define SOF_DAI_FMT_I2S   1

I2S mode.

◆ SOF_DAI_FMT_IB_IF

#define SOF_DAI_FMT_IB_IF   (4 << 8)

invert BCLK + FRM

◆ SOF_DAI_FMT_IB_NF

#define SOF_DAI_FMT_IB_NF   (3 << 8)

invert BCLK + nor FRM

◆ SOF_DAI_FMT_INV_MASK

#define SOF_DAI_FMT_INV_MASK   0x0f00

◆ SOF_DAI_FMT_LEFT_J

#define SOF_DAI_FMT_LEFT_J   3

Left Justified mode.

◆ SOF_DAI_FMT_NB_IF

#define SOF_DAI_FMT_NB_IF   (2 << 8)

normal BCLK + inv FRM

◆ SOF_DAI_FMT_NB_NF

#define SOF_DAI_FMT_NB_NF   (0 << 8)

normal bit clock + frame

◆ SOF_DAI_FMT_PDM

#define SOF_DAI_FMT_PDM   6

Pulse density modulation.

◆ SOF_DAI_FMT_RIGHT_J

#define SOF_DAI_FMT_RIGHT_J   2

Right Justified mode.

◆ SOF_DAI_QUIRK_IS_SET

#define SOF_DAI_QUIRK_IS_SET ( flags,
quirk )
Value:
#define SOF_DAI_CONFIG_FLAGS_QUIRK_MASK
Definition dai.h:70
#define SOF_DAI_CONFIG_FLAGS_QUIRK_SHIFT
Definition dai.h:69

Enumeration Type Documentation

◆ sof_ipc_dai_type

Types of DAI.

Enumerator
SOF_DAI_INTEL_NONE 

None.

SOF_DAI_INTEL_SSP 

Intel SSP.

SOF_DAI_INTEL_DMIC 

Intel DMIC.

SOF_DAI_INTEL_HDA 

Intel HD/A.

SOF_DAI_INTEL_ALH 

Intel ALH.

SOF_DAI_IMX_SAI 

i.MX SAI

SOF_DAI_IMX_ESAI 

i.MX ESAI

SOF_DAI_AMD_BT 

Amd BT.

SOF_DAI_AMD_SP 

Amd SP.

SOF_DAI_AMD_DMIC 

Amd DMIC.

SOF_DAI_MEDIATEK_AFE 

Mtk AFE.

SOF_DAI_AMD_HS 

Amd HS.

SOF_DAI_AMD_SP_VIRTUAL 

Amd SP VIRTUAL.

SOF_DAI_AMD_HS_VIRTUAL 

Amd HS VIRTUAL.

SOF_DAI_IMX_MICFIL 

i.MX MICFIL

SOF_DAI_AMD_SDW 

Amd SDW.

SOF_DAI_INTEL_UAOL 

Intel UAOL.

SOF_DAI_AMD_TDM 

Amd TDM.