Define { MCLK 24576000 NUM_DMICS 0 # override DMIC default definitions DMIC0_HOST_PIPELINE_ID 13 DMIC0_DAI_PIPELINE_ID 14 DMIC0_HOST_PIPELINE_SINK 'copier.host.13.1' DMIC0_DAI_PIPELINE_SRC 'dai-copier.DMIC.NoCodec-6.capture' DMIC0_NAME 'NoCodec-6' DMIC1_NAME 'NoCodec-7' DMIC0_PCM_CAPS 'Passthrough Capture 13' DMIC0_PIPELINE_STREAM_NAME 'dai-copier.DMIC.14.1' # override BT configuration BT_NAME "NoCodec-2" BT_PB_PCM_CAPS "SSP2 Playback" BT_CP_PCM_CAPS "SSP2 Capture" PLATFORM "none" } # override defaults with platform-specific config IncludeByKey.PLATFORM { "tgl" "platform/intel/tgl.conf" "adl" "platform/intel/tgl.conf" "mtl" "platform/intel/mtl.conf" } # include DMIC config if needed. IncludeByKey.NUM_DMICS { "[1-4]" "platform/intel/dmic-generic.conf" } # # List of all DAIs # #SSP Index: 0, Direction: duplex Object.Dai.SSP [ { id 0 dai_index 0 direction "duplex" name NoCodec-0 default_hw_conf_id 0 sample_bits 32 quirks "lbm_mode" io_clk $MCLK Object.Base.hw_config.1 { name "SSP0" id 0 bclk_freq 3072000 tdm_slot_width 32 # TODO: remove this. Needs alsaptlg change. Object.Base.link_config.1 { clock_source 1 } } } { id 1 dai_index 1 direction "duplex" name NoCodec-1 default_hw_conf_id 0 sample_bits 32 quirks "lbm_mode" io_clk $MCLK Object.Base.hw_config.1 { name "SSP1" id 0 bclk_freq 3072000 tdm_slot_width 32 # TODO: remove this. Needs alsaptlg change. Object.Base.link_config.1 { clock_source 1 } } } ] # # Pipeline definitions # # Pipeline ID:1 PCM ID: 0 Object.Pipeline { # playback pipelines io-gateway [ { index 2 direction playback Object.Widget.pipeline.1 { stream_name 'NoCodec-0' } Object.Widget.dai-copier.1 { dai_index 0 dai_type "SSP" copier_type "SSP" stream_name "NoCodec-0" node_type $I2S_LINK_OUTPUT_CLASS num_input_pins 1 } } { index 4 direction playback Object.Widget.pipeline.1 { stream_name 'NoCodec-1' } Object.Widget.dai-copier.1 { dai_index 1 dai_type "SSP" copier_type "SSP" stream_name "NoCodec-1" node_type $I2S_LINK_OUTPUT_CLASS num_input_pins 1 } } ] host-gateway-playback [ { index 1 Object.Widget.pipeline.1 { stream_name 'NoCodec-0' } Object.Widget.host-copier.1 { stream_name 'SSP0 Playback' pcm_id 0 } } { index 3 Object.Widget.pipeline.1 { stream_name 'NoCodec-1' } Object.Widget.host-copier.1 { stream_name 'SSP1 Playback' pcm_id 1 } } ] # capture pipelines host-gateway-capture [ { index 5 Object.Widget.pipeline.1 { stream_name 'NoCodec-0' } Object.Widget.host-copier.1 { stream_name 'SSP0 Capture' pcm_id 0 } } { index 9 Object.Widget.pipeline.1 { stream_name 'NoCodec-1' } Object.Widget.host-copier.1 { stream_name 'SSP1 Capture' pcm_id 1 } } ] io-gateway-capture [ { index 6 direction capture Object.Widget.pipeline.1 { stream_name 'NoCodec-0' } Object.Widget.dai-copier."1" { dai_index 0 dai_type "SSP" type dai_out copier_type "SSP" stream_name "NoCodec-0" node_type $I2S_LINK_INPUT_CLASS Object.Base.input_audio_format [ { in_bit_depth 32 in_valid_bit_depth 32 } ] Object.Base.output_audio_format [ { out_bit_depth 32 out_valid_bit_depth 32 } ] } } { index 10 direction capture Object.Widget.pipeline.1 { stream_name 'NoCodec-1' } Object.Widget.dai-copier."1" { dai_index 1 dai_type "SSP" type dai_out copier_type "SSP" stream_name "NoCodec-1" node_type $I2S_LINK_INPUT_CLASS Object.Base.input_audio_format [ { in_bit_depth 32 in_valid_bit_depth 32 } ] Object.Base.output_audio_format [ { out_bit_depth 32 out_valid_bit_depth 32 } ] } } ] } Object.PCM.pcm [ { name "Port0" id 0 direction "duplex" Object.Base.fe_dai.1 { name "Port0" } Object.PCM.pcm_caps.1 { direction "playback" name "SSP0 Playback" formats 'S16_LE,S24_LE,S32_LE' } Object.PCM.pcm_caps.2 { direction "capture" name "SSP0 Capture" formats 'S16_LE,S24_LE,S32_LE' } } { name "Port1" id 1 direction "duplex" Object.Base.fe_dai.1 { name "Port1" } Object.PCM.pcm_caps.1 { direction "playback" name "SSP1 Playback" formats 'S16_LE,S24_LE,S32_LE' } Object.PCM.pcm_caps.2 { direction "capture" name "SSP1 Capture" formats 'S16_LE,S24_LE,S32_LE' } } ] Object.Base.route [ { source "host-copier.0.playback" sink "dai-copier.SSP.NoCodec-0.playback" } { source "host-copier.1.playback" sink "dai-copier.SSP.NoCodec-1.playback" } { source "dai-copier.SSP.NoCodec-0.capture" sink "host-copier.0.capture" } { source "dai-copier.SSP.NoCodec-1.capture" sink "host-copier.1.capture" } ]