topology2: enable WoV function targets and graph - #11114
Conversation
Include WoV & KPB class, pipeline definitions in cavs-sdw function topology to enable WoV routes, widgets preprocess. Add WoV split-capture function topology targets for RT721, RT722 and WCL DMIC ID5 platforms. Signed-off-by: Naveen Manohar <naveen.m@intel.com>
There was a problem hiding this comment.
Pull request overview
Enables Wake-on-Voice (WoV) building blocks in the topology2 “cavs-sdw” function topology and adds new Panther Lake (ace3) topology2 production targets that turn on WoV split-capture for specific RT721/RT722/WCL-DMIC configurations. It also introduces a rimage TOML module entry for Google hotword detection and wires it into the WCL rimage config.
Changes:
- Add new topology2 production targets in
tplg-targets-ace3.cmaketo generate WoV-enabled split-capture topologies for RT721, RT722, and WCL DMIC ID5. - Extend
cavs-sdw.confincludes to bring in KPB/WoV classes and WoV/KPB pipeline definitions needed by the new targets. - Add
google_hotword_detect.tomland include it fromwcl.toml.hwhen the component is enabled.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tools/topology/topology2/production/tplg-targets-ace3.cmake | Adds WoV-enabled cavs-sdw topology2 build targets for RT721/RT722/WCL DMIC ID5. |
| tools/topology/topology2/cavs-sdw.conf | Includes KPB/WoV and related pipeline definitions so cavs-sdw function topologies can instantiate WoV graphs. |
| tools/rimage/config/wcl.toml.h | Wires the new Google hotword module TOML into the WCL rimage module list. |
| src/audio/google/google_hotword_detect.toml | Introduces rimage module entry metadata for Google hotword detection. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| [[module.entry]] | ||
| name = "HOTWORD" | ||
| uuid = UUIDREG_STR_GOOGLE_HOTWORD | ||
| affinity_mask = "0x1" | ||
| instance_count = "1" | ||
| domain_types = "0" | ||
| load_type = "0" | ||
| module_type = "10" | ||
| auto_start = "0" |
There was a problem hiding this comment.
If you need to respin, this is worth addressing.
| #if defined(CONFIG_COMP_GOOGLE_HOTWORD_DETECT) | ||
| #include <audio/google/google_hotword_detect.toml> | ||
| #endif |
Add Google hotword module manifest for WCL and include it when CONFIG_COMP_GOOGLE_HOTWORD_DETECT is enabled or all modular components are forced. Signed-off-by: Naveen Manohar <naveen.m@intel.com>
Patch moves WoV DMIC-to-KPB route to dmic-wov.conf enabling to use DMIC_WOV_DAI_PIPELINE_SRC instead of the generated dai-copier.DMIC.$index.1 name. Signed-off-by: Naveen Manohar <naveen.m@intel.com>
886306f to
43d4d1c
Compare
| EFX_DMIC0_TDFB_PARAMS=line4_pass,EFX_DMIC0_DRC_PARAMS=dmic_default" | ||
|
|
||
| # Split function topology: WCL DMIC Raw + WoV/Soundtrigger for ID5 | ||
| "cavs-sdw\;sof-wcl-dmic-4ch-id5-wov\;PLATFORM=wcl,SDW_JACK=false,NUM_HDMIS=0,NUM_DMICS=4,\ |
There was a problem hiding this comment.
need to check how this looks like, how it is connected to the DMIC path as it might be better to have this as a feature topology, not a new function topology.
You cannot force load a function topology with non standard name.
Or drop the function topology as such.
There was a problem hiding this comment.
Thanks @ujfalusi for review !!
Change does not add a new function topology type or force-load, it keeps cavs-sdw as-is.
PR only adds WoV-enabled production target variants via existing switches( INCLUDE_WOV=true).
There was a problem hiding this comment.
sof-wcl-dmic-4ch-id5-wov.tplg is a new function topology, no?
Begs for the question: how this would be ever loaded by the kernel?
| [[module.entry]] | ||
| name = "HOTWORD" | ||
| uuid = UUIDREG_STR_GOOGLE_HOTWORD | ||
| affinity_mask = "0x1" | ||
| instance_count = "1" | ||
| domain_types = "0" | ||
| load_type = "0" | ||
| module_type = "10" | ||
| auto_start = "0" |
There was a problem hiding this comment.
If you need to respin, this is worth addressing.
Patch includes WoV & KPB class, pipeline definitions in cavs-sdw
function topology to enable WoV routes, widgets preprocess.
Add WoV split-capture function topology targets for RT721,
RT722 and WCL DMIC ID5 platforms.
Verified on top of PR:https://github.com/thesofproject/sof/pull/11022/commits