From 54ea351c922227127b711f89644d8a7f026df887 Mon Sep 17 00:00:00 2001 From: Naveen Manohar Date: Sat, 22 Aug 2026 12:07:06 +0530 Subject: [PATCH 1/3] topology2: add WoV feature topology targets and graph Add a standalone feature manifest (dmic-wov-feature.conf) for WoV/KPB pipeline loaded on top of the function topology via feature_topologies. Add a single platform-agnostic feature topology target sof-dmic-4ch-wov in tplg-targets-ace3.cmake, shared across PTL (rt721/rt722) and WCL. Signed-off-by: Naveen Manohar --- .../topology/topology2/dmic-wov-feature.conf | 31 +++++++++++++++++++ .../include/pipelines/cavs/wov-detect.conf | 2 ++ .../production/tplg-targets-ace3.cmake | 4 +++ 3 files changed, 37 insertions(+) create mode 100644 tools/topology/topology2/dmic-wov-feature.conf diff --git a/tools/topology/topology2/dmic-wov-feature.conf b/tools/topology/topology2/dmic-wov-feature.conf new file mode 100644 index 000000000000..a260404cf33b --- /dev/null +++ b/tools/topology/topology2/dmic-wov-feature.conf @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/topology/topology2/include/pipelines/cavs/wov-detect.conf b/tools/topology/topology2/include/pipelines/cavs/wov-detect.conf index 0f4490525c83..ff192d4679ac 100644 --- a/tools/topology/topology2/include/pipelines/cavs/wov-detect.conf +++ b/tools/topology/topology2/include/pipelines/cavs/wov-detect.conf @@ -58,6 +58,8 @@ Class.Pipeline."wov-detect" { } micsel."1" { + num_input_audio_formats 1 + num_output_audio_formats 1 Object.Base.input_audio_format [ { in_rate 16000 diff --git a/tools/topology/topology2/production/tplg-targets-ace3.cmake b/tools/topology/topology2/production/tplg-targets-ace3.cmake index bb1c07a83356..06ffc7eb11a7 100644 --- a/tools/topology/topology2/production/tplg-targets-ace3.cmake +++ b/tools/topology/topology2/production/tplg-targets-ace3.cmake @@ -108,6 +108,10 @@ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\ PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-ptl-rt722-4ch.bin,DMIC0_ENHANCED_CAPTURE=true,\ EFX_DMIC0_TDFB_PARAMS=line4_pass,EFX_DMIC0_DRC_PARAMS=dmic_default" +# DMIC WoV feature topology; platform-agnostic, shared across PTL/WCL +"dmic-wov-feature\;sof-dmic-4ch-wov\;PLATFORM=none,NUM_DMICS=4,\ +DMIC0_ID=5,DMIC1_ID=6,DMIC1_ENABLE=false,DMIC1_RATE=16000,INCLUDE_WOV=true" + "cavs-sdw\;sof-ptl-rt722-2ch\;PLATFORM=ptl,SDW_DMIC=1,NUM_SDW_AMP_LINKS=1,NUM_DMICS=2,\ PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,DMIC0_ID=5,DMIC1_ID=6,HDMI1_ID=7,HDMI2_ID=8,HDMI3_ID=9,\ SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\ From 8ed4a074c02ad7f531abc24b31ac3b3199b2b43d Mon Sep 17 00:00:00 2001 From: Naveen Manohar Date: Sat, 22 Aug 2026 12:07:06 +0530 Subject: [PATCH 2/3] rimage: wcl: wire google hotword module manifest 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 --- src/audio/google/google_hotword_detect.toml | 23 +++++++++++++++++++++ tools/rimage/config/wcl.toml.h | 4 ++++ 2 files changed, 27 insertions(+) create mode 100644 src/audio/google/google_hotword_detect.toml diff --git a/src/audio/google/google_hotword_detect.toml b/src/audio/google/google_hotword_detect.toml new file mode 100644 index 000000000000..1c51b2f07eb3 --- /dev/null +++ b/src/audio/google/google_hotword_detect.toml @@ -0,0 +1,23 @@ +#ifndef LOAD_TYPE +#define LOAD_TYPE "0" +#endif + +[[module.entry]] +name = "HOTWORD" +uuid = UUIDREG_STR_GOOGLE_HOTWORD +affinity_mask = "0x1" +instance_count = "1" +domain_types = "0" +load_type = LOAD_TYPE +module_type = "10" +auto_start = "0" +sched_caps = [1, 0x00008000] + +REM # pin = [dir, type, sample rate, size, container, channel-cfg] +pin = [0, 0, 0x8, 0x2, 0x2, 0x3, + 1, 0, 0xfeef, 0xf, 0xf, 0x1] + +REM # mod_cfg [PAR_0 PAR_1 PAR_2 PAR_3 IS_BYTES CPS IBS OBS MOD_FLAGS CPC OBLS] +mod_cfg = [0, 0, 0, 0, 0, 4000000, 0, 0, 0, 0, 0] + +index = __COUNTER__ diff --git a/tools/rimage/config/wcl.toml.h b/tools/rimage/config/wcl.toml.h index 27d00f1444be..f239e063a459 100644 --- a/tools/rimage/config/wcl.toml.h +++ b/tools/rimage/config/wcl.toml.h @@ -126,6 +126,10 @@ index = __COUNTER__ #include