Skip to content

PTL topologies for solo CS35L56 amp with mono feedback - #11275

Open
rfvirgil wants to merge 2 commits into
thesofproject:mainfrom
CirrusLogic:ptl-solo-cs35l56-fb1
Open

rfvirgil wants to merge 2 commits into
thesofproject:mainfrom
CirrusLogic:ptl-solo-cs35l56-fb1

Conversation

@rfvirgil

@rfvirgil rfvirgil commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

This PR adds support for mono amp feedback and adds three PTL topologies for a solo CS35L56 with mono feedback.

@intel-sofci

intel-sofci commented Oct 6, 2026 •

Copy link
Copy Markdown

PR 11275: test results

Run date: 2026-10-09 08:54 UTC

Tested commit: 85205ffdd161c28b5b9b1503e491e33103a52eda

mtl pass rate lnl pass rate ptl pass rate wcl pass rate nvl pass rate

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The new targets omit required PTL platform selection, and the DMIC variants also omit NHLT generation.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)
What changed in this PR

Adds mono amplifier-feedback support and PTL topology targets for a solo CS35L56.

Changes:

  • Adds mono feedback audio formats and channel mappings.
  • Registers three PTL variants with optional 2/4-channel PCH DMICs.
File Description
tools/​topology/​topology2/​production/​tplg-targets-ace3.cmake Adds three CS35L56 PTL targets.
tools/​topology/​topology2/​platform/​intel/​sdw-amp-generic.conf Supports one-channel amplifier feedback.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

SDW_JACK_OUT_STREAM=SDW3-Playback,SDW_JACK_IN_STREAM=SDW3-Capture,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-ptl-rt713-l3-rt1320-l1-2ch.bin"

"cavs-sdw\;sof-ptl-cs35l56-fb1\;NUM_SDW_AMP_LINKS=1,SDW_DMIC=0,SDW_JACK=false,\
Comment on lines +191 to +192
"cavs-sdw\;sof-ptl-cs35l56-fb1-2ch\;NUM_SDW_AMP_LINKS=1,SDW_DMIC=0,SDW_JACK=false,\
NUM_DMICS=2,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,DMIC0_ID=4,DMIC1_ID=5,\
NUM_DMICS=2,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,DMIC0_ID=4,DMIC1_ID=5,\
SDW_AMP_FEEDBACK=true,SDW_SPK_STREAM=Playback-SmartAmp,SDW_SPK_IN_STREAM=Capture-SmartAmp,\
AMP_FEEDBACK_CH=1,AMP_FEEDBACK_CH_PER_LINK=1,\
HDMI1_ID=6,HDMI2_ID=7,HDMI3_ID=8"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to include the NHLT blob in the topology for the -2ch and -4ch variants in case the NHLT blob is missing in the BIOS. Like PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-ptl-cs35l56-fb1-2ch.bin

@rfvirgil

rfvirgil commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

@bardliao

I added the NHLT build, but now the 2ch doesn't work and I can't see what needs to change. (No-mic and 4ch still work).
This is on PTL RVP:

"cavs-sdw\;sof-ptl-cs35l56-fb1-2ch\;PLATFORM=ptl,NUM_SDW_AMP_LINKS=1,SDW_DMIC=0,SDW_JACK=false,\
NUM_DMICS=2,PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,DMIC0_ID=4,DMIC1_ID=5,\
SDW_AMP_FEEDBACK=true,SDW_SPK_STREAM=Playback-SmartAmp,SDW_SPK_IN_STREAM=Capture-SmartAmp,\
AMP_FEEDBACK_CH=1,AMP_FEEDBACK_CH_PER_LINK=1,\
HDMI1_ID=6,HDMI2_ID=7,HDMI3_ID=8,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-ptl-cs35l56-fb1-2ch.bin"

dmesg:

[    4.854156] sof-audio-pci-intel-ptl 0000:00:1f.3: BT link detected in NHLT tables: 0x0
[    4.854159] sof-audio-pci-intel-ptl 0000:00:1f.3: DMICs detected in NHLT tables: 4
[    4.854161] snd_sof_intel_hda_generic:check_dmic_num: sof-audio-pci-intel-ptl 0000:00:1f.3: overriding DMICs detected in NHLT tables 4 by kernel param 2
[    4.858883] sof-audio-pci-intel-ptl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[    4.858886] sof-audio-pci-intel-ptl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/ptl/sof-ptl.ri
[    4.858888] sof-audio-pci-intel-ptl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/ptl
[    4.858889] sof-audio-pci-intel-ptl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-ptl-cs35l56-fb1-2ch.tplg
...
[    5.113741] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link SDW1-Playback-SmartAmp, id 2
[    5.113750] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link SDW1-Capture-SmartAmp, id 3
[    5.113753] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link dmic01, id 4
[    5.113757] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link dmic16k, id 5
[    5.113762] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link iDisp1, id 6
[    5.113767] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link iDisp2, id 7
[    5.113772] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link iDisp3, id 8
[    5.113776] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link Loopback_Virtual, id 9
[    5.113779] snd_soc_sof_sdw:create_echoref_dailink: sof_sdw sof_sdw: Added echo reference DAI link

But then I get a storm of these errors:

[    8.031846] sof-audio-pci-intel-ptl 0000:00:1f.3: no matching blob for sample rate: 48000 sample width: 16 channels: 2
[    8.031874] sof-audio-pci-intel-ptl 0000:00:1f.3: failed to prepare widget dai-copier.DMIC.dmic01.capture
[    8.031876] sof-audio-pci-intel-ptl 0000:00:1f.3: Failed to prepare connected widgets
[    8.031878] sof-audio-pci-intel-ptl 0000:00:1f.3: sof_pcm_setup_connected_widgets: pcm10 (DMIC Raw), dir 1: widget list prepare failed
[    8.031880] sof-audio-pci-intel-ptl 0000:00:1f.3: ASoC error (-22): at snd_soc_pcm_component_hw_params() on 0000:00:1f.3
[    8.031893]  DMIC Raw: ASoC error (-22): at __soc_pcm_hw_params() on DMIC Raw
[    8.031898]  DMIC Raw: ASoC error (-22): at dpcm_fe_dai_hw_params() on DMIC Raw

@bardliao

bardliao commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

@rfvirgil Could you test with options snd_sof_intel_hda_common sof_use_tplg_nhlt=1 to use the topology nhlt?

@rfvirgil

rfvirgil commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

Ah, I forgot that was needed. Thanks. Will test.

Add cases to the feedback host-copier and alh-copier for the case
that AMP_FEEDBACK_CH=1.

This is for configurations that have a single mono amp, or a stereo
amp that produces a mono feedback.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Adds PTL topologies for a single CS35L56 type amp with mono feedback.
This includes the variants with 2ch and 4ch host DMICs.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
@rfvirgil
rfvirgil force-pushed the ptl-solo-cs35l56-fb1 branch from 0439a33 to 85205ff Compare October 8, 2026 14:45
@rfvirgil

rfvirgil commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

Pushed V2.

  • Added PLATFORM=PTL
  • Added NHLT build to 2ch and 4ch.

Tested on RVP.

@lgirdwood

Copy link
Copy Markdown
Member

@rfvirgil can you resolve any copilot review comments. Thanks !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants