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. |
8d47619 to
17544ed
Compare
adf4c94 to
0703731
Compare
|
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
da93fe6
Compare
Add 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
69f23db
Compare
|
@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. |
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
|
Add 4 channel sdca mic function topologies support.