docs: developer_guides: add how-to guide on customizing multi-slot wov and ecns pipelines - #531
Merged
lgirdwood merged 1 commit intoSep 20, 2026
Conversation
…v and ecns pipelines Add a comprehensive developer guide under Developer Guides Section 1 (Firmware Development) detailing the architecture and step-by-step customization of complex multi-slot Wake-on-Voice (WOV) and Echo Cancellation & Noise Suppression (ECNS) pipelines based on the wcl-uaol-wov branch: - Document the 4-channel native 16 kHz DMIC dual-stream architecture (ECNS communication stream on PCM 10 and multi-slot WOV keyword/audio capture stream on PCM 11). - Detail the lockless, zero-IPC SOF Notifier event bus contracts (NOTIFIER_ID_KPB_CLIENT_EVT, NOTIFIER_ID_WOV_DETECT, and NOTIFIER_ID_WOV_CTRL) for inter-module arbitration. - Provide step-by-step implementation templates for replacing the ECNS module (multi-pin audio contract: mono clean speech to KPB, stereo clean speech to Host Copier 10) and replacing keyword spotters. - Explain ALSA Topology 2.0 scheduling domains: Low-Latency (LL, 1ms, lp_mode 0) vs. Data Processing (DP, 10ms/20ms, lp_mode 1), mathematical buffer sizing rules (IBS/OBS), and multi-core affinity (core_id). - Provide topology compilation, NHLT ACPI BIOS override instructions (sof_use_tplg_nhlt=1), hardware capture verification, and a developer watch-out checklist. - Include two detailed SVG diagrams illustrating the 8-pipeline signal flow architecture and the multi-period scheduling timeline. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
lgirdwood
requested review from
deb-intel,
intelkevinputnam,
mmaka1 and
mwasko
as code owners
September 20, 2026 15:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a comprehensive developer guide under Developer Guides Section 1 (Firmware Development) detailing the architecture, component interfaces, SOF Notifier event coordination, scheduling domains, and topology customization for multi-slot Wake-on-Voice (WOV) and Echo Cancellation & Noise Suppression (ECNS) pipelines based on the
wcl-uaol-wovbranch:hw:0,10) and WOV keyword audio stream (ALSA PCM 11 /hw:0,11).NOTIFIER_ID_WOV_DETECT,NOTIFIER_ID_KPB_CLIENT_EVT, andNOTIFIER_ID_WOV_CTRL.lp_mode 0) vs Data Processing (DP, 10ms/20ms,lp_mode 1) domains.Buffer Size = Rate * (Period / 1000) * Channels * Bytes.core_id 1).alsatplgusing the NHLT preprocessor plugin.sof_use_tplg_nhlt=1).arecordandwov_capture_app.developer_guides/firmware/images/wov_ecns_pipeline_architecture.svgdeveloper_guides/firmware/images/wov_scheduling_periods.svgSigned-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com