Uh oh!
There was an error while loading. Please reload this page.
Topology2: add sof-sdca-mic-4ch-id4 tplgs support - #11013
Conversation
There was a problem hiding this comment.
Pull request overview
This PR extends the Topology2 SDCA generic build targets to add 4-channel and 8-channel SoundWire DMIC (“SmartMic”) function topologies, and updates the Intel sdw-dmic-generic.conf platform fragment to make capture channel count/config/map configurable via new defines.
Changes:
- Add new
sof-sdca-mic-4ch-id4andsof-sdca-mic-8ch-id4topology build targets (viaNUM_DMICSoverrides). - Teach
sdw-dmic-generic.confto derive DMIC PCM channel count (and ch cfg/map) fromNUM_DMICSwhenSDW_DMIC_PCM_CHANNELS=0, and propagate this into DAI/widget/PCM caps formats.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tools/topology/topology2/production/tplg-targets-sdca-generic.cmake | Adds new SDCA mic tplg targets for 4ch and 8ch variants using NUM_DMICS overrides. |
| tools/topology/topology2/platform/intel/sdw-dmic-generic.conf | Makes SDW DMIC capture channel count/config/map variable-driven and wires it through DAI/widgets/PCM caps. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
8d47619 to
17544edCompareadf4c94 to
0703731Comparebardliao
commented
Jul 21, 2026
Based on @shumingfan's test result, it seems it will duplicate ch0 to all other channels. I am trying to figure it out. |
e9c75e2 to
da93fe6CompareAdd NUM_DMICS to set SDW DMIC number. The value is 2 by default. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Add 4 channel sdca mic function topologies support. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
da93fe6 to
69f23dbComparebardliao
commented
Jul 30, 2026
@singalsu Below error will happen if I set |
This was merged a while ago. Is this outside of scope of tools/topology/topology2/platform/intel/sdw-dmic-generic.conf ? https://github.com/thesofproject/sof/pull/10970/files Generally I'd recommend to use line4_pass.conf that effectively disables the beamformer until we better understand the microphone arrays placement for mic count > 2 if there is a safe generic assumption. Also the channels map for user space is not clear, how the four channels should appear, or should we convert in beamformer it to normal L/R stereo 2ch. It would be safest but then all the microphones would not be exposed to user. Even with line4_pass, the control size issue should be fixed in the topology to not have blockers to enable beamformer later. |
bardliao
commented
Aug 4, 2026
No, it is inside sdw-dmic-generic.conf. diff --git a/tools/topology/topology2/include/controls/bytes.conf b/tools/topology/topology2/include/controls/bytes.conf
index 1483e36f10a3..26659d65890a 100644
--- a/tools/topology/topology2/include/controls/bytes.conf+++ b/tools/topology/topology2/include/controls/bytes.conf@@ -82,7 +82,7 @@ Class.Control."bytes" {
}
# Default attribute values for bytes control
- max 1024+ max 2048
!access [
tlv_write
tlv_readseems fix the issue. But then another issue comes up
Perfect, I will keep it as line4_pass
|
singalsu
commented
Aug 5, 2026
We can address that later. Maybe we can get an internal test device with 4ch mic to test such configuration. |
bardliao
commented
Aug 5, 2026
Yes, we can do the test with the rt722 codec. Just need to connect the transducer card. |
bardliao
commented
Aug 14, 2026
@lgirdwood@ujfalusi This is verified and ready to merge. |
Add 4 channel sdca mic function topologies support.