topology2: add support for MTL Acer Swift Go 14#9041
topology2: add support for MTL Acer Swift Go 14#9041plbossart wants to merge 1 commit intothesofproject:mainfrom
Conversation
| "cavs-sdw\;sof-mtl-rt712-l0\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,\ | ||
| SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,\ | ||
| SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\ | ||
| HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6" |
There was a problem hiding this comment.
There is no amp feedback on rt712. So rt712 link ids will end at 2.
snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Playback-SimpleJack, id 0
snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Capture-SimpleJack, id 1
snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Playback-SmartAmp, id 2
So, HDMI1_ID should start with 3.
Suggested change is
diff --git a/tools/topology/topology2/production/tplg-targets-ace1.cmake b/tools/topology/topology2/production/tplg-targets-ace1.cmake
index d2d9817dba97..aa20c3fcb20c 100644
--- a/tools/topology/topology2/production/tplg-targets-ace1.cmake
+++ b/tools/topology/topology2/production/tplg-targets-ace1.cmake
@@ -16,21 +16,21 @@ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"
"cavs-sdw\;sof-mtl-rt712-l0\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,\
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,\
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\
-HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6"
+HDMI1_ID=3,HDMI2_ID=4,HDMI3_ID=5"
"cavs-sdw\;sof-mtl-rt712-l0-4ch\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,\
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,\
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\
-NUM_DMICS=4,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,\
+NUM_DMICS=4,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,DMIC0_ID=3,DMIC1_ID=4,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-rt712-l0-4ch.bin,\
-HDMI1_ID=6,HDMI2_ID=7,HDMI3_ID=8"
+HDMI1_ID=5,HDMI2_ID=6,HDMI3_ID=7"
"cavs-sdw\;sof-mtl-rt712-l0-2ch\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,\
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,\
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\
-NUM_DMICS=2,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,\
+NUM_DMICS=2,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,DMIC0_ID=3,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-rt712-l0-2ch.bin,\
-HDMI1_ID=6,HDMI2_ID=7,HDMI3_ID=8"
+HDMI1_ID=5,HDMI2_ID=6,HDMI3_ID=7"Note that sof_sdw create dmic01 and dmic16k no matter 1 or 2 dmics are present. So, HDMI link ids are the same for -2ch and -4ch topologies.
/* enable dmic01 & dmic16k */
if (sof_sdw_quirk & SOF_SDW_PCH_DMIC || mach_params->dmic_num)
dmic_num = 2;
1ce8ed3 to
82948bc
Compare
|
v2 updated with suggested changes from @bardliao. Thanks Bard. |
| "cavs-sdw\;sof-mtl-rt712-l0-4ch\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,\ | ||
| SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,\ | ||
| SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\ | ||
| NUM_DMICS=4,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,DMIC0_ID=3,DMIC1_ID=4,\ |
There was a problem hiding this comment.
What is DMIC1_ID @bardliao ? If indeed the 2-ch version creates dmic01 and dmic16k, should we not have an ID for the BE ID for the dmic16k dailink?
There was a problem hiding this comment.
What is DMIC1_ID @bardliao ? If indeed the 2-ch version creates dmic01 and dmic16k, should we not have an ID for the BE ID for the dmic16k dailink?
Hmm, DMIC1_ID is for the second DMIC DAI id. I thought the second DMIC DAI will not be created if NUM_DMICS=2. But apparently, it is always created. So, we need to set DMIC1_ID=4 in the -2ch topology, too.
There was a problem hiding this comment.
BTW, PDM1_MIC_A_ENABLE and PDM1_MIC_B_ENABLE should be 1 for -4ch topology.
This device has RT712 on link0 2 PCH-attached DMICs. Add 3 configurations with no DMIC, 4 DMIC and 2 DMIC. For now no support for -pdm1. Link: thesofproject/linux#4923 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
82948bc to
020ca78
Compare
bardliao
left a comment
There was a problem hiding this comment.
LGTM, but better to wait for the test result of thesofproject/linux#4923
Ok, @bardliao pls ping when the tests pass. Thanks ! |
@lgirdwood From thesofproject/linux#4970, this PR should be good. The DSP panic looks like a different issue. |
ujfalusi
left a comment
There was a problem hiding this comment.
The HDMI PCM device id should be 5, 6 and 7 for sof-soundwire cards, we must not use the PCM ids which is used by sof-hda-dsp card.
| "cavs-sdw\;sof-mtl-rt712-l0\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,\ | ||
| SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,\ | ||
| SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\ | ||
| HDMI1_ID=3,HDMI2_ID=4,HDMI3_ID=5" |
There was a problem hiding this comment.
I don't think this is correct, sof-soundwire is expected to have HDMI PCM deviecs of 5, 6 and 7. UCM will break if this is not true: https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/sof-soundwire/Hdmi.conf
Also to note that the support for HDMI passthrough also relies on this rule: alsa-project/alsa-ucm-conf@0397a38
There was a problem hiding this comment.
I don't think this is correct, sof-soundwire is expected to have HDMI PCM deviecs of 5, 6 and 7. UCM will break if this is not true: https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/sof-soundwire/Hdmi.conf
HDMI1_ID is BE id, not PCM id. The default value HDMI PCM IDs are HDMI1_PCM_ID 5, HDMI2_PCM_ID 6, and HDMI3_PCM_ID 7, and the PR doesn't change the HDMI PCM IDs.
Also to note that the support for HDMI passthrough also relies on this rule: alsa-project/alsa-ucm-conf@0397a38
There was a problem hiding this comment.
@bardliao, I se, but the user reports that no HDMI audio and speaker is not working, so we are still missing something.
|
What's the current status on this? Thanks |
still being tested, see thesofproject/linux#4970 |
|
@plbossart Finally Acer Swift Go 14 works with UCM thesofproject/linux#4923 (comment). My only open for this PR is that we have sof-mtl-rt712-l0 in the existing topology. The sof-mtl-rt712-l0 doesn't have either SDW DMIC or PCH DMIC support and use the default HDMI_IDs. This doesn't look right. |
|
Maybe split the PR into 2 commits, one to edit the HDMI_IDs ie. HDMI1_ID=3,HDMI2_ID=4,HDMI3_ID=5 for |
|
@bardliao do you mind submitting your changes directly in a new PR? |
Sure, will do. |
|
ok, thanks @bardliao I'll close this PR then |
This device has RT712 on link0 2 PCH-attached DMICs.
Add 3 configurations with no DMIC, 4 DMIC and 2 DMIC. For now no support for -pdm1.
Link: thesofproject/linux#4923