]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
UCM2: sof-soundwire: Add setup of IIR, DRC, beamformer
authorSeppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Tue, 17 Dec 2024 12:56:18 +0000 (14:56 +0200)
committerJaroslav Kysela <perex@perex.cz>
Wed, 29 Jan 2025 09:21:59 +0000 (10:21 +0100)
This patch enables as BootSequence the DRC and multi-microphone
beamformer processing with the supplied blobs in topology. The
enable is for defaults if there is no previous control state. The
user can permanently switch off them if needed.

If DMI ID based customization can done with scripts in
blobs/sof/product_configs or blobs/sof/user_configs. If the blob
file names are not empty the blobs are applied by UCM2 as
FixedBootSequence in every boot to replace topology defaults.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/481
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/Intel/sof-hda-dsp/dsp.conf
ucm2/sof-soundwire/sof-soundwire.conf

index a4d73d1003ee2de4b6d076d4e4d797f5139c97b5..6e14ae1f7d49894abe3ef0c1a2f888bdbc22b8fe 100644 (file)
@@ -36,6 +36,12 @@ Define {
        Dmic0CaptureBeamformerBytes "N/A"
        Dmic0CaptureBeamformerBeamSwitch "N/A"
        Dmic0CaptureBeamformerBeamAngleSet "N/A"
+       MicArrayCaptureIirBytes "N/A"
+       MicArrayCaptureDrcBytes "N/A"
+       MicArrayCaptureDrcSwitch "N/A"
+       MicArrayCaptureBeamformerBytes "N/A"
+       MicArrayCaptureBeamformerBeamSwitch "N/A"
+       MicArrayCaptureBeamformerBeamAngleSet "N/A"
 }
 
 If.SOFHdaIpc4 {
@@ -85,6 +91,21 @@ If.SOFDmic0Proc {
        }
 }
 
+If.SOFSdwMicArrayProc {
+       Condition {
+               Type ControlExists
+               Control "name='Microphone Capture IIR Eq'"
+       }
+       True.Define {
+             MicArrayCaptureIirBytes "Microphone Capture IIR Eq"
+             MicArrayCaptureDrcBytes "Microphone Capture DRC bytes"
+             MicArrayCaptureDrcSwitch "Microphone Capture DRC switch"
+             MicArrayCaptureBeamformerBytes "Microphone Capture TDFB bytes"
+             MicArrayCaptureBeamformerBeamSwitch "Microphone Capture TDFB beam switch"
+             MicArrayCaptureBeamformerBeamAngleSet "Microphone Capture TDFB angle set enum"
+       }
+}
+
 If.SOFPath {
        Condition { Type AlwaysTrue }
        True.Define {
@@ -105,6 +126,10 @@ If.SOFPath {
                PostMixerSpeakerPlaybackIirBlob ""
                PostMixerSpeakerPlaybackFirBlob ""
                PostMixerSpeakerPlaybackDrcBlob ""
+               # Also leave SDW microphone array default blobs empty.
+               MicArrayCaptureDrcBlob ""
+               MicArrayCaptureBeamformerBlob ""
+               MicArrayCaptureIirBlob ""
                ConfPathFromDMI "${var:SOFVendor}/${var:SOFProduct}.conf"
                SOFProductConfig "/blobs/sof/product_configs/${var:ConfPathFromDMI}"
                SOFConfFullPath "${ConfTopDir}${var:SOFProductConfig}"
index 736912dca9c0260cb08abbc93470a39f544f7378..9e9e07e322fc637c4fac63eac4ccc47dfca9c2c2 100644 (file)
@@ -184,3 +184,8 @@ Include.dsp-variables.File "../Intel/sof-hda-dsp/dsp.conf"
 Macro.SpeakerDrc.SofDrcBootSetup "endpoint='PostMixerSpeaker' direction='Playback'"
 Macro.SpeakerIir.SofEqBootSetup "endpoint='PostMixerSpeaker' direction='Playback' eqtype='Iir'"
 Macro.SpeakerFir.SofEqBootSetup "endpoint='PostMixerSpeaker' direction='Playback' eqtype='Fir'"
+
+# Set BootSequence and FixedBootSequence for Mic array eqiir, tdfb, drc
+Macro.MicArrayIir.SofEqBootSetup "endpoint='MicArray' direction='Capture' eqtype='Iir'"
+Macro.MicArrayDrc.SofDrcBootSetup "endpoint='MicArray' direction='Capture'"
+Macro.MicarrayTdfb.SofBeamformerBootSetup "endpoint='MicArray' direction='Capture'"