This is a reference topology, and it was successfully validated on
few production laptops (including models on which DMIC capture was
not working).
The topology exposes a path that's not present in the hardware then?
Sorry, I don't understand what's missing in the cAVS driver?
All you need is to select a different topology based on the number of
DMICs detected.
We have a mechanism to choose the PCM configuration of given topology
path via amixer control. That way we can include both 2ch and 4ch DMIC
configurations in one topology file and simply change DMIC pipeline
configuration on runtime.
Unfortunately this mechanism is not currently available on upstream.
As said before, this is a reference topology, if needed I can also
upload modified version with 4ch DMIC path.
I don't understand the concept of 'reference topology'. It's not like
anyone is going to modify this file, which is seriously cryptic, so it's
got to be a 'usable topology', turn-key really.
You would need three files, with no dmic, with 2 dmic with 4 dmic and a
driver level code selection. Today the code loads the topology name
coming from NHLT or dfw_sst.bin, you'd need a more elaborate logic to
deal with the hardware variants and without requiring any fiddling,
rename or edits of topology files.