Skip to content

topology2: ipc3: add Cherry Trail RT5677 topology - #11279

Open
kv2019i wants to merge 2 commits into
thesofproject:mainfrom
kv2019i:202610-cht-tplg-ipc3tplg2-backport
Open

kv2019i wants to merge 2 commits into
thesofproject:mainfrom
kv2019i:202610-cht-tplg-ipc3tplg2-backport

Conversation

@kv2019i

@kv2019i kv2019i commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Forward port #11129

This was a bit of a process gap. We shouldn't normally merge patches to stable branches that don't first go via "main", but in this case this happened. The new topologies are already released in 2026.09.2, so let's forward-port these to main.

The tools/topology/topology2/verify-topology.py needs more work, but we can do that in a follow-up.

Add topology2 support for generating and deploying IPC3 topology files
alongside the existing IPC4 production set.

Describe the Yoga Book RT5677 SSP2 playback, capture, low-latency and
deep-buffer paths while preserving the Cherry Trail memory, scheduler and
hardware configuration required by the legacy IPC3 firmware.

Signed-off-by: Maurizio Casciano <mauriziocasciano7@gmail.com>
(cherry picked from commit fb12497)
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
SOF IPC3 derives the DAI channel count from the population count of the
active TDM slot mask. The original topology enabled all four frame slots
with mask 0xf while exposing two-channel PCM streams, so
STREAM_PCM_PARAMS failed with -EINVAL.

Keep the required four-slot, 25-bit frame geometry but activate only the
two stereo slots with mask 0x3. Use the defined default_hw_config_id
attribute and add a general topology artifact verifier. The verifier
checks PCM and backend-link properties and accepts command-line overrides
for use with other configurations.

Tested on a Lenovo Yoga Book YB1-X91L with PCM0 playback and capture in
S16_LE, S24_LE and S32_LE at 48 kHz stereo, plus PCM1 deep-buffer
playback.

Signed-off-by: Maurizio Casciano <mauriziocasciano7@gmail.com>
(cherry picked from commit 7c26d2b)
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 17:06
@kv2019i
kv2019i requested review from jsarha and ranj063 as code owners October 7, 2026 17:06
@kv2019i
kv2019i requested a review from ujfalusi October 7, 2026 17:06

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.

🟡 Changes recommended

The verifier rejects matching nonzero hardware configuration IDs and accepts mismatched default references.

1 open finding
What changed in this PR

Forward-ports Cherry Trail RT5677 IPC3 support to topology2 for the Lenovo Yoga Book.

Changes:

  • Adds board topology and reusable IPC3 pipeline components.
  • Separates IPC3 ABI generation, build outputs, and deployment from IPC4.
  • Adds artifact verification and usage documentation.
File Description
tools/​topology/​topology2/​verify-topology.py Verifies compiled backend-link and PCM contracts.
tools/​topology/​topology2/​README.md Documents Cherry Trail support and verification.
tools/​topology/​topology2/​production/​tplg-targets-ipc3.cmake Registers the RT5677 IPC3 target.
tools/​topology/​topology2/​production/​CMakeLists.txt Builds IPC3 targets separately.
tools/​topology/​topology2/​platform/​intel/​cht-hw-config.conf Defines Cherry Trail SSP configuration attributes.
tools/​topology/​topology2/​include/​pipelines/​ipc3/​volume-playback.conf Adds host volume playback pipelines.
tools/​topology/​topology2/​include/​pipelines/​ipc3/​volume-dai-capture.conf Adds combined DAI-to-host capture.
tools/​topology/​topology2/​include/​pipelines/​ipc3/​pipeline-common.conf Defines shared IPC3 pipeline attributes.
tools/​topology/​topology2/​include/​pipelines/​ipc3/​mixer-volume-dai-playback.conf Adds mixer-to-DAI playback.
tools/​topology/​topology2/​include/​components/​widget-common.conf Adds optional IPC3 period counts.
tools/​topology/​topology2/​include/​components/​ipc3/​mixer.conf Defines the IPC3 mixer widget.
tools/​topology/​topology2/​include/​components/​buffer.conf Adds Cherry Trail-compatible buffer capabilities.
tools/​topology/​topology2/​CMakeLists.txt Generates IPC3 ABI data and separates deployment.
tools/​topology/​topology2/​cht-rt5677.conf Defines board routing, SSP2 settings, and stereo PCMs.

🧠 Review effort: Balanced


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

)

hw = record[676 : 676 + HW_CONFIG_SIZE]
if u32(hw, 0) != HW_CONFIG_SIZE or u32(hw, 4) != 0:
@intel-sofci

Copy link
Copy Markdown

PR 11279: test results

Run date: 2026-10-07 17:58 UTC

Tested commit: c093ab6e6ae0c3aff0fcccb944fd21b3301274ec

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

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.

4 participants