From 4f345c24e91b48cb9a5350845c6e8154080b2cd6 Mon Sep 17 00:00:00 2001 From: Bard Liao Date: Thu, 17 Oct 2024 14:36:49 +0800 Subject: [PATCH] WIP: topology2: add sdca multi function codec topologies Add sdca multi function codec topologies. DAI link names are function names. Signed-off-by: Bard Liao --- .../production/tplg-targets-ace1.cmake | 12 ++++++++++++ .../production/tplg-targets-ace2.cmake | 17 +++++++++++++++++ .../production/tplg-targets-hda-generic.cmake | 7 +++++++ tools/topology/topology2/sof-hda-generic.conf | 4 +++- 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/tools/topology/topology2/production/tplg-targets-ace1.cmake b/tools/topology/topology2/production/tplg-targets-ace1.cmake index ff85cfe3d4e1..4c5dffa5a9e7 100644 --- a/tools/topology/topology2/production/tplg-targets-ace1.cmake +++ b/tools/topology/topology2/production/tplg-targets-ace1.cmake @@ -110,6 +110,18 @@ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack" SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack" +#SDCA multi-function +"cavs-sdw\;sof-arl-sdca-jack\;PLATFORM=mtl,SDW_JACK_OUT_STREAM=Playback-SimpleJack,\ +SDW_JACK_IN_STREAM=Capture-SimpleJack,NUM_HDMIS=0" + +"cavs-sdw\;sof-arl-sdca-amp\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,SDW_JACK=false,\ +SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,NUM_HDMIS=0" + +"cavs-sdw\;sof-arl-sdca-mic\;PLATFORM=mtl,SDW_JACK=false,SDW_DMIC=1,NUM_HDMIS=0,\ +SDW_DMIC_STREAM=Capture-SmartMic" + +"cavs-sdw\;sof-arl-sdca-hdmi\;PLATFORM=mtl,SDW_JACK=false" + # Below topologies are used on Chromebooks "cavs-rt5682\;sof-mtl-max98357a-rt5682\;PLATFORM=mtl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,\ diff --git a/tools/topology/topology2/production/tplg-targets-ace2.cmake b/tools/topology/topology2/production/tplg-targets-ace2.cmake index c977e4646222..aa1ffba65711 100644 --- a/tools/topology/topology2/production/tplg-targets-ace2.cmake +++ b/tools/topology/topology2/production/tplg-targets-ace2.cmake @@ -24,6 +24,23 @@ NUM_DMICS=2,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,\ PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-lnl-rt713-l0-rt1318-l1-2ch.bin,\ HDMI1_ID=6,HDMI2_ID=7,HDMI3_ID=8" +#SDCA multi-function +"cavs-sdw\;sof-lnl-sdca-jack-id0\;PLATFORM=lnl,SDW_JACK_OUT_STREAM=Playback-SimpleJack,\ +SDW_JACK_IN_STREAM=Capture-SimpleJack,NUM_HDMIS=0" + +"cavs-sdw\;sof-lnl-sdca-amp-id2\;PLATFORM=lnl,NUM_SDW_AMP_LINKS=1,SDW_JACK=false,\ +SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,NUM_HDMIS=0" + +"cavs-sdw\;sof-lnl-sdca-mic-id4\;PLATFORM=lnl,SDW_JACK=false,SDW_DMIC=1,NUM_HDMIS=0,\ +SDW_DMIC_STREAM=Capture-SmartMic" + +"cavs-sdw\;sof-lnl-hdmi-id5\;PLATFORM=lnl,SDW_JACK=false" +"cavs-sdw\;sof-lnl-hdmi-id7\;PLATFORM=lnl,SDW_JACK=false,HDMI1_ID=7,HDMI2_ID=8,HDMI3_ID=9" + +"cavs-sdw\;sof-lnl-dmic-4ch-id5\;PLATFORM=lnl,SDW_JACK=false,NUM_HDMIS=0,NUM_DMICS=4,\ +PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,DMIC0_ID=5,DMIC1_ID=6,PREPROCESS_PLUGINS=nhlt,\ +NHLT_BIN=nhlt-sof-mtl-rt711-4ch.bin" + # No SDW Jack. SDW DMIC+SPK "cavs-sdw\;sof-lnl-rt1318-l12-rt714-l0\;PLATFORM=lnl,SDW_JACK=false,SDW_DMIC=1,\ NUM_SDW_AMP_LINKS=2,SDW_DMIC_STREAM=SDW0-Capture" diff --git a/tools/topology/topology2/production/tplg-targets-hda-generic.cmake b/tools/topology/topology2/production/tplg-targets-hda-generic.cmake index f2eacc8c4798..75a6b1d48b48 100644 --- a/tools/topology/topology2/production/tplg-targets-hda-generic.cmake +++ b/tools/topology/topology2/production/tplg-targets-hda-generic.cmake @@ -4,10 +4,17 @@ list(APPEND TPLGS # HDMI only topology with passthrough pipelines "sof-hda-generic\;sof-hda-generic-idisp\;" + # HDMI only topology with passthrough pipelines and # 2 or 4 DMIC, no NHLT blob included in topology "sof-hda-generic\;sof-hda-generic-idisp-2ch\;NUM_DMICS=2" "sof-hda-generic\;sof-hda-generic-idisp-4ch\;NUM_DMICS=4" + +# Separated HDMI topologies +"sof-hda-generic\;sof-hda-idisp-id1\;" +"sof-hda-generic\;sof-hda-dmic-2ch-id6\;NUM_HDMIS=0,NUM_DMICS=2" +"sof-hda-generic\;sof-hda-dmic-4ch-id6\;NUM_HDMIS=0,NUM_DMICS=4" + # HDA topology with mixer-based pipelines for HDA and # passthrough pipelines for HDMI "sof-hda-generic\;sof-hda-generic\;HDA_CONFIG=mix,HDA_MIC_ENHANCED_CAPTURE=true,\ diff --git a/tools/topology/topology2/sof-hda-generic.conf b/tools/topology/topology2/sof-hda-generic.conf index 503871d74b2d..de76e78c8164 100644 --- a/tools/topology/topology2/sof-hda-generic.conf +++ b/tools/topology/topology2/sof-hda-generic.conf @@ -86,7 +86,9 @@ Define { } # always include HDMI config - +IncludeByKey.NUM_HDMIS { +"[3-4]" "platform/intel/hdmi-generic.conf" +} Object.Widget.virtual [ {