diff --git a/tools/topology/CMakeLists.txt b/tools/topology/CMakeLists.txt index 8ef0da5a1951..eb98f520c516 100644 --- a/tools/topology/CMakeLists.txt +++ b/tools/topology/CMakeLists.txt @@ -119,7 +119,8 @@ set(TPLGS "sof-tgl-nocodec\;sof-tgl-nocodec" "sof-tgl-rt711-i2s-rt1308\;sof-tgl-rt711-i2s-rt1308-2ch\;-DHDMI=1\;-DCHANNELS=2" "sof-tgl-rt711-i2s-rt1308\;sof-tgl-rt711-i2s-rt1308-4ch\;-DHDMI=1\;-DCHANNELS=4" - "sof-tgl-rt711-rt1308\;sof-tgl-rt711-rt1308" + "sof-tgl-rt711-rt1308\;sof-tgl-rt711-rt1308-2ch\;-DCHANNELS=2" + "sof-tgl-rt711-rt1308\;sof-tgl-rt711-rt1308-4ch\;-DCHANNELS=4" "sof-tgl-rt5682\;sof-tgl-rt5682\;-DHDMI=1" "sof-tgl-nocodec\;sof-ehl-nocodec" "sof-ehl-rt5660\;sof-ehl-rt5660\;-DHDMI=1" @@ -130,7 +131,8 @@ set(TPLGS "sof-imx8qxp-wm8960\;sof-imx8qxp-wm8960" "sof-tgl-max98357a-rt5682\;sof-tgl-max98357a-rt5682" "sof-tgl-max98373-rt5682\;sof-tgl-max98373-rt5682" - "sof-tgl-sdw-max98373-rt5682\;sof-tgl-sdw-max98373-rt5682" + "sof-tgl-sdw-max98373-rt5682\;sof-tgl-sdw-max98373-rt5682-2ch\;-DCHANNELS=2" + "sof-tgl-sdw-max98373-rt5682\;sof-tgl-sdw-max98373-rt5682-4ch\;-DCHANNELS=4" "sof-jsl-da7219\;sof-jsl-da7219\;-DPLATFORM=jsl" "sof-jsl-da7219\;sof-jsl-da7219-mx98360a\;-DPLATFORM=jsl-dedede" "sof-imx8mp-wm8960\;sof-imx8mp-wm8960" diff --git a/tools/topology/sof-tgl-rt711-rt1308.m4 b/tools/topology/sof-tgl-rt711-rt1308.m4 index a255d40be278..d4b283b15c7f 100644 --- a/tools/topology/sof-tgl-rt711-rt1308.m4 +++ b/tools/topology/sof-tgl-rt711-rt1308.m4 @@ -18,6 +18,9 @@ include(`sof/tokens.m4') include(`platform/intel/tgl.m4') +define(DMIC_PDM_CONFIG, ifelse(CHANNELS, `4', ``FOUR_CH_PDM0_PDM1'', + `ifelse(CHANNELS, `2', ``STEREO_PDM0'', `')')) + DEBUG_START # @@ -70,7 +73,7 @@ PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, # Passthrough capture pipeline 5 on PCM 4 using max 4 channels. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture-16khz.m4, - 5, 4, 4, s16le, + 5, 4, CHANNELS, s16le, 1000, 0, 0, 16000, 16000, 16000) @@ -212,7 +215,7 @@ DAI_CONFIG(DMIC, 0, 3, dmic01, DAI_CONFIG(DMIC, 1, 4, dmic16k, DMIC_CONFIG(1, 500000, 4800000, 40, 60, 16000, DMIC_WORD_LENGTH(s16le), 400, DMIC, 1, - PDM_CONFIG(DMIC, 1, STEREO_PDM0))) + PDM_CONFIG(DMIC, 1, DMIC_PDM_CONFIG))) # 3 HDMI/DP outputs (ID: 5,6,7) DAI_CONFIG(HDA, 0, 5, iDisp1, diff --git a/tools/topology/sof-tgl-sdw-max98373-rt5682.m4 b/tools/topology/sof-tgl-sdw-max98373-rt5682.m4 index 860507e9ab0b..4dc8c5b90996 100644 --- a/tools/topology/sof-tgl-sdw-max98373-rt5682.m4 +++ b/tools/topology/sof-tgl-sdw-max98373-rt5682.m4 @@ -19,6 +19,9 @@ include(`sof/tokens.m4') include(`platform/intel/tgl.m4') include(`platform/intel/dmic.m4') +define(DMIC_PDM_CONFIG, ifelse(CHANNELS, `4', ``FOUR_CH_PDM0_PDM1'', + `ifelse(CHANNELS, `2', ``STEREO_PDM0'', `')')) + DEBUG_START # @@ -94,7 +97,7 @@ PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, # Passthrough capture pipeline 5 on PCM 4 using max 4 channels. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture-16khz.m4, - 6, 5, 4, s16le, + 6, 5, CHANNELS, s16le, 1000, 0, 0, 16000, 16000, 16000) @@ -227,7 +230,7 @@ DAI_CONFIG(DMIC, 0, 4, dmic01, DAI_CONFIG(DMIC, 1, 5, dmic16k, DMIC_CONFIG(1, 500000, 4800000, 40, 60, 16000, DMIC_WORD_LENGTH(s16le), 400, DMIC, 1, - PDM_CONFIG(DMIC, 1, STEREO_PDM0))) + PDM_CONFIG(DMIC, 1, DMIC_PDM_CONFIG))) # 4 HDMI/DP outputs (ID: 6,7,8,9) DAI_CONFIG(HDA, 0, 6, iDisp1,