From 38b480f1ba8442e452731a55cbe3fb7ad6706473 Mon Sep 17 00:00:00 2001 From: Ranjani Sridharan Date: Thu, 19 Jan 2023 18:01:54 -0800 Subject: [PATCH 1/2] topology2: cavs-rt5682: Parameterize all HS and Speaker names Add variable definitions for all HS and Speaker settings such as codec name, SSP DAI index, PCM caps names etc in preparation to make this file reusable for variations in the SSP ports in different machines. Signed-off-by: Ranjani Sridharan Signed-off-by: Dharageswari R --- tools/topology/topology2/cavs-rt5682.conf | 45 ++++++++++++++--------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/tools/topology/topology2/cavs-rt5682.conf b/tools/topology/topology2/cavs-rt5682.conf index 3fe62faf05a0..40e660c02c67 100644 --- a/tools/topology/topology2/cavs-rt5682.conf +++ b/tools/topology/topology2/cavs-rt5682.conf @@ -61,6 +61,15 @@ Define { DEEP_BUFFER_PIPELINE_SRC 'mixin.15.1' DEEP_BUFFER_PIPELINE_SINK 'mixout.2.1' DEEP_BUFFER_PCM_NAME 'Deepbuffer Jack Out' + HEADSET_CODEC_NAME 'SSP0-Codec' + HEADSET_PLAYBACK_PCM_STREAM_NAME 'Headset Playback' + HEADSET_CAPTURE_PCM_STREAM_NAME 'Headset Capture' + HEADSET_SSP_DAI_INDEX 0 + HEADSET_HW_CONFIG_NAME 'HEADSET HWCFG' + SPEAKER_CODEC_NAME 'SSP1-Codec' + SPEAKER_PLAYBACK_PCM_STREAM_NAME 'Speaker Playback' + SPEAKER_SSP_DAI_INDEX 1 + SPEAKER_HW_CONFIG_NAME 'SPEAKER HWCFG' } # override defaults with platform-specific config @@ -89,15 +98,15 @@ IncludeByKey.DEEPBUFFER_FW_DMA_MS{ Object.Dai { SSP."0" { id 0 - dai_index 0 + dai_index $HEADSET_SSP_DAI_INDEX direction "duplex" - name SSP0-Codec + name $HEADSET_CODEC_NAME default_hw_conf_id 0 sample_bits 32 io_clk $MCLK Object.Base.hw_config.1 { - name "SSP0" + name $HEADSET_HW_CONFIG_NAME id 0 mclk_freq $MCLK bclk_freq 3072000 @@ -106,15 +115,15 @@ Object.Dai { } SSP."1" { id $SPK_ID - dai_index 1 + dai_index $SPEAKER_SSP_DAI_INDEX direction "playback" - name SSP1-Codec + name $SPEAKER_CODEC_NAME default_hw_conf_id 0 sample_bits 32 io_clk $MCLK Object.Base.hw_config.1 { - name "SSP1" + name $SPEAKER_HW_CONFIG_NAME id 0 mclk_freq $MCLK bclk_freq 3072000 @@ -139,7 +148,7 @@ Object.Pipeline { index 1 Object.Widget.copier.1 { - stream_name 'SSP0 Playback' + stream_name '$HEADSET_PLAYBACK_PCM_STREAM_NAME' } Object.Widget.gain.1 { Object.Control.mixer.1 { @@ -152,10 +161,10 @@ Object.Pipeline { index 2 Object.Widget.copier.1 { - dai_index 0 + dai_index $HEADSET_SSP_DAI_INDEX dai_type "SSP" copier_type "SSP" - stream_name "SSP0-Codec" + stream_name "$HEADSET_CODEC_NAME" node_type $I2S_LINK_OUTPUT_CLASS # override for 24-bit @@ -178,7 +187,7 @@ Object.Pipeline { index 3 Object.Widget.copier.1 { - stream_name 'SSP1 Playback' + stream_name '$SPEAKER_PLAYBACK_PCM_STREAM_NAME' } Object.Widget.gain.1 { Object.Control.mixer.1 { @@ -191,10 +200,10 @@ Object.Pipeline { index 4 Object.Widget.copier.1 { - dai_index 1 + dai_index $SPEAKER_SSP_DAI_INDEX dai_type "SSP" copier_type "SSP" - stream_name "SSP1-Codec" + stream_name "$SPEAKER_CODEC_NAME" node_type $I2S_LINK_OUTPUT_CLASS } @@ -209,7 +218,7 @@ Object.Pipeline { index 5 Object.Widget.copier.1 { - stream_name 'SSP0 Capture' + stream_name '$HEADSET_CAPTURE_PCM_STREAM_NAME' } } @@ -218,11 +227,11 @@ Object.Pipeline { direction capture Object.Widget.copier."1" { - dai_index 0 + dai_index $HEADSET_SSP_DAI_INDEX dai_type "SSP" type dai_out copier_type "SSP" - stream_name "SSP0-Codec" + stream_name "$HEADSET_CODEC_NAME" node_type $I2S_LINK_INPUT_CLASS Object.Base.audio_format.1 { in_bit_depth 32 @@ -243,12 +252,12 @@ Object.PCM { Object.Base.fe_dai."Headset" {} Object.PCM.pcm_caps."playback" { - name "SSP0 Playback" + name "$HEADSET_PLAYBACK_PCM_STREAM_NAME" formats 'S16_LE,S24_LE,S32_LE' } Object.PCM.pcm_caps."capture" { - name "SSP0 Capture" + name "$HEADSET_CAPTURE_PCM_STREAM_NAME" formats 'S16_LE,S24_LE,S32_LE' } } @@ -259,7 +268,7 @@ Object.PCM { Object.Base.fe_dai."Speakers" {} Object.PCM.pcm_caps."playback" { - name "SSP1 Playback" + name "$SPEAKER_PLAYBACK_PCM_STREAM_NAME" formats 'S16_LE,S24_LE,S32_LE' } } From ec7f9b3e5bdfc9f9b9338d046514b91d42bbc2b6 Mon Sep 17 00:00:00 2001 From: Ranjani Sridharan Date: Thu, 19 Jan 2023 18:06:20 -0800 Subject: [PATCH 2/2] topology2: Build the topology for MTL chromebook Build the topology for the MTL chromebook with Headset on SSP 2 and speakers on SSP 0. Signed-off-by: Ranjani Sridharan Signed-off-by: Dharageswari R --- tools/topology/topology2/sof-ace-tplg/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/topology/topology2/sof-ace-tplg/CMakeLists.txt b/tools/topology/topology2/sof-ace-tplg/CMakeLists.txt index 2f8d365f5b31..c719f5ca9d25 100644 --- a/tools/topology/topology2/sof-ace-tplg/CMakeLists.txt +++ b/tools/topology/topology2/sof-ace-tplg/CMakeLists.txt @@ -22,6 +22,11 @@ PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-rt711-4ch.bin,DEEPBUFFER_FW_DMA_MS "cavs-rt5682\;sof-mtl-max98357a-rt5682\;PLATFORM=mtl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,\ PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-max98357a-rt5682.bin,DEEPBUFFER_FW_DMA_MS=10" + +"cavs-rt5682\;sof-mtl-max98357a-rt5682-ssp2-ssp0\;PLATFORM=mtl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,\ +PDM1_MIC_B_ENABLE=1,PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-max98357a-rt5682.bin,\ +DEEPBUFFER_FW_DMA_MS=10,HEADSET_SSP_DAI_INDEX=2,SPEAKER_SSP_DAI_INDEX=0,HEADSET_CODEC_NAME=SSP2-Codec,\ +SPEAKER_CODEC_NAME=SSP0-Codec" ) add_custom_target(topology2_ace)