diff --git a/tools/topology/topology2/platform/intel/sdw-dmic-generic.conf b/tools/topology/topology2/platform/intel/sdw-dmic-generic.conf index 7a42ade4704f..900c4bf383aa 100644 --- a/tools/topology/topology2/platform/intel/sdw-dmic-generic.conf +++ b/tools/topology/topology2/platform/intel/sdw-dmic-generic.conf @@ -7,36 +7,8 @@ Define { SDW_DMIC_PASSTHROUGH "false" SDW_DMIC_HOST_PIPELINE_ID 40 SDW_DMIC_PCM_CHANNELS 2 - SDW_DMIC_CHANNEL_CFG $CHANNEL_CONFIG_STEREO - SDW_DMIC_CHANNEL_MAP $CHANNEL_MAP_STEREO } -IncludeByKey.SDW_DMIC_PCM_CHANNELS { - "1" { - Define { - SDW_DMIC_CHANNEL_CFG $CHANNEL_CONFIG_MONO - SDW_DMIC_CHANNEL_MAP $CHANNEL_MAP_MONO - } - } - "2" { - Define { - SDW_DMIC_CHANNEL_CFG $CHANNEL_CONFIG_STEREO - SDW_DMIC_CHANNEL_MAP $CHANNEL_MAP_STEREO - } - } - "4" { - Define { - SDW_DMIC_CHANNEL_CFG $CHANNEL_CONFIG_3_POINT_1 - SDW_DMIC_CHANNEL_MAP $CHANNEL_MAP_3_POINT_1 - } - } - "8" { - Define { - SDW_DMIC_CHANNEL_CFG $CHANNEL_CONFIG_7_POINT_1 - SDW_DMIC_CHANNEL_MAP $CHANNEL_MAP_7_POINT_1 - } - } -} Object.Dai.ALH [ { @@ -75,38 +47,98 @@ IncludeByKey.SDW_DMIC_ENHANCED_CAPTURE { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 16 in_valid_bit_depth 16 - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 32 in_valid_bit_depth 32 - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 32 in_valid_bit_depth 24 - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 32 in_valid_bit_depth 32 in_sample_type $SAMPLE_TYPE_FLOAT - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 8 in_valid_bit_depth 8 in_sample_type $SAMPLE_TYPE_UNSIGNED_INTEGER - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] Object.Base.output_audio_format [ @@ -114,38 +146,98 @@ IncludeByKey.SDW_DMIC_ENHANCED_CAPTURE { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 16 out_valid_bit_depth 16 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 24 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 out_sample_type $SAMPLE_TYPE_FLOAT - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 8 out_valid_bit_depth 8 out_sample_type $SAMPLE_TYPE_UNSIGNED_INTEGER - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] } @@ -157,22 +249,58 @@ IncludeByKey.SDW_DMIC_ENHANCED_CAPTURE { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 16 in_valid_bit_depth 16 - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 32 in_valid_bit_depth 24 - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 32 in_valid_bit_depth 32 - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] Object.Base.output_audio_format [ @@ -180,22 +308,58 @@ IncludeByKey.SDW_DMIC_ENHANCED_CAPTURE { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 16 out_valid_bit_depth 16 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 24 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] } @@ -248,38 +412,98 @@ IncludeByKey.SDW_DMIC_ENHANCED_CAPTURE { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 16 out_valid_bit_depth 16 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 24 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 out_sample_type $SAMPLE_TYPE_FLOAT - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 8 out_valid_bit_depth 8 out_sample_type $SAMPLE_TYPE_UNSIGNED_INTEGER - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] } @@ -290,22 +514,58 @@ IncludeByKey.SDW_DMIC_ENHANCED_CAPTURE { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 16 out_valid_bit_depth 16 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 24 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] } @@ -337,8 +597,20 @@ Object.Widget { in_bit_depth 32 in_valid_bit_depth $SDW_LINK_VALID_BITS in_sample_type $SAMPLE_TYPE_MSB_INTEGER - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } in_fmt_cfg "$[($in_channels | ($in_valid_bit_depth * 256))]" } ] @@ -347,8 +619,20 @@ Object.Widget { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] } @@ -372,8 +656,20 @@ Object.Widget { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 32 in_valid_bit_depth 32 - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] Object.Base.output_audio_format [ @@ -381,8 +677,20 @@ Object.Widget { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] @@ -401,8 +709,20 @@ Object.Widget { in_channels $SDW_DMIC_PCM_CHANNELS in_bit_depth 32 in_valid_bit_depth 32 - in_ch_cfg $SDW_DMIC_CHANNEL_CFG - in_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + in_ch_cfg $CHANNEL_CONFIG_MONO + in_ch_map $CHANNEL_MAP_MONO + } + "4" { + in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + in_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + in_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + in_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] Object.Base.output_audio_format [ @@ -410,8 +730,20 @@ Object.Widget { out_channels $SDW_DMIC_PCM_CHANNELS out_bit_depth 32 out_valid_bit_depth 32 - out_ch_cfg $SDW_DMIC_CHANNEL_CFG - out_ch_map $SDW_DMIC_CHANNEL_MAP + IncludeByKey.SDW_DMIC_PCM_CHANNELS { + "1" { + out_ch_cfg $CHANNEL_CONFIG_MONO + out_ch_map $CHANNEL_MAP_MONO + } + "4" { + out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 + out_ch_map $CHANNEL_MAP_3_POINT_1 + } + "8" { + out_ch_cfg $CHANNEL_CONFIG_7_POINT_1 + out_ch_map $CHANNEL_MAP_7_POINT_1 + } + } } ] }