The X1E001DE Devkit needs basically the same audio configuration as the
X1E80100 CRD, so just include the HiFi.conf intended for the CRD. The only
difference is that there are no speakers connected to the pin header on the
mainboard by default, so remove the speakers from the available outputs.
If someone wants to connect speakers there they could drop the RemoveDevice
line after verifying that it works correctly for their speakers. At the
moment we do not have any way to automatically detect if there are speakers
connected or not.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/602 Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jack Yu [Fri, 8 Aug 2025 06:21:55 +0000 (14:21 +0800)]
ucm2: sof-soundwire: add rt721 ucm support
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/600 Signed-off-by: Jack Yu <jack.yu@realtek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Val Packett [Sun, 29 Jun 2025 17:16:12 +0000 (14:16 -0300)]
ucm2: Qualcomm: Add Dell Latitude 7455 / Inspiron 14 Plus
7441 support
(Both SKUs are identical, the codename is Thena)
This configuration is:
- 4 speakers
- 2 DMICs
- headset with mic
- DisplayPort (not yet)
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/589 Signed-off-by: Val Packett <val@packett.cool> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Petr Mrázek [Tue, 24 Jun 2025 15:23:43 +0000 (17:23 +0200)]
UR44: Add stereo inputs to the HiFi profile, relabel the inputs and outputs
I relabeled the 'line outs' as Mix 1 and 2, because that is what is accessible to a computer.
Mix 1 and 2 are not necessarily mapped to any output.
The inputs are named after where they are on the device (Front, Back)
The device is internally complex and needs quite a bit of reverse
engineering to fully expose its functionality on linux and will
need dedicated software to be written, but this at least makes
it usable on a basic level.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/584 Signed-off-by: Petr Mrázek <peterix@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Petr Mrázek [Tue, 24 Jun 2025 15:18:59 +0000 (17:18 +0200)]
Recognize one more Steinberg UR44 variant
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/584 Signed-off-by: Petr Mrázek <peterix@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Shuming Fan [Thu, 26 Jun 2025 11:04:19 +0000 (19:04 +0800)]
ucm2: sof-soundwire: add rt712+rt1320 amplifier
This patch makes SpeakerCodec could get rt712+rt1320 string from spk:rt712+rt1320 component string.
According to the control name, we will know that one or two amplifiers exist.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/580 Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Zoran Zhan [Wed, 7 May 2025 06:41:14 +0000 (14:41 +0800)]
ucm2: MediaTek: mt8365-evk: Add SOF support
Add support for MT8365 EVK with SOF enabled. When SOF is
disabled, the "HiFi" use case is used; when SOF is enabled,
the "SOF" use case is used.
The main difference compared to the UCM with SOF disabled is
the device number for playback and capture, which now uses the
PCMs for SOF instead.
Define these parameters as variables for each case (with and
without SOF), and move the common initialization to init.conf,
so the UCM can be shared by both configurations.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/583 Signed-off-by: Zoran Zhan <zoran.zhan@mediatek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Harald Sitter [Sat, 21 Jun 2025 15:10:20 +0000 (17:10 +0200)]
ucm2: USB-Audio: Add Teufel CAGE PRO
two stereo outputs: one for "game" and one for "chat".
one mono input
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/582 Signed-off-by: Harald Sitter <sitter@kde.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Shuming Fan [Fri, 6 Jun 2025 04:47:08 +0000 (12:47 +0800)]
ucm2: sof-soundwire: add rt712-vb device
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/573 Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Peter Ujfalusi [Thu, 12 Jun 2025 13:33:01 +0000 (16:33 +0300)]
UCM2: Intel: sof-hda-dsp: HiFi: Fix handling of mono DMICs
When a single DMIC is present in the system we need to set the
CaptureChannels to 1 since the PCM device only supports mono, PA/PW will
reject the profile since it cannot open the DMIC PCM device.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/579 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Hiago De Franco [Mon, 12 May 2025 16:57:32 +0000 (13:57 -0300)]
ucm2: IO-Boards: Toradex: smarc: add support
Add support for Toradex SMARC Development board, using the WM8904 audio
codec.
This is a carrier board for the Toradex SMARC family, where any SMARC
SoM can be connected to it, therefore this is being added to the
IO-Boards instead of a specific hardware vendor.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/562 Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
A recent change renamed the internal microphones device from "DMic01" to
"Mic", but the latter name is already used by the headset microphone so
this breaks the internal microphones on the Lenovo ThinkPad X13s.
Rename the headset microphone device so that the names are unique and
fix up the jack hw mute property which is still using the old name.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563 Fixes: ea7a065a7b50 ("ucm: fix SectionDevice identifiers") Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/557 Signed-off-by: Markus Parviainen <mrksprvn@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Konrad Dybcio [Mon, 14 Apr 2025 18:47:38 +0000 (20:47 +0200)]
ucm2: Qualcomm: Add Surface Laptop 7
2 speakers, 2 dmics, combo jack, just like the T14s - reuse its
configuration
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/546 Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Konrad Dybcio [Mon, 14 Apr 2025 18:47:38 +0000 (20:47 +0200)]
ucm2: Qualcomm: x1e80100: Also match DMI board name
The Surface Laptop 7 only says "Microsoft Corporation" and "Surface"
in the board_vendor and product_family fields respectively. Add another
field to match on.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/546 Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
USB-Audio: Add support of HyperX SoloCast (USB ID 03f0:0b8b)
Support of
- volume control
- un/mute control
PS: About un/mute control - only from PC to Mic, vise versa does not work - like when you
un/mute Mic on PC it works as expected (even LED show actual status) but when you click
button on Mic side it does not reflect on PC side.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/545 Signed-off-by: "serhii.n" <serhii.n@thescimus.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Add a Regex string, seems compatible with Lenovo T14s
x2 speakers, x2 DMICs, x3 DP (x2 USB-C, x1 DP->HDMI), headphone jack
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/544 Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Peter Ujfalusi [Fri, 4 Apr 2025 08:02:39 +0000 (11:02 +0300)]
ucm2: sof-soundwire: Correct include file path for dsp.conf
The file path must be given as absolut and not relative, otherwise the
dsp.conf file will not be found:
$ alsaucm dump text
ALSA lib utils.c:364:(uc_mgr_config_load_into) could not open configuration file /usr/share/alsa/ucm2/conf.d/sof-soundwire/../Intel/sof-hda-dsp/dsp.conf
ALSA lib parser.c:78:(uc_mgr_config_load_file) error: failed to open file /usr/share/alsa/ucm2/conf.d/sof-soundwire/../Intel/sof-hda-dsp/dsp.conf: -2
ALSA lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
alsaucm: error failed to open sound card hw:0: No such file or directory
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/542 Fixes: c9d1f7eafa6c ("UCM2: sof-soundwire: Enable DRC and equalizers for") Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Stefan Binding [Mon, 31 Mar 2025 09:34:30 +0000 (10:34 +0100)]
sof-soundwire: Add LED support for cs35l56 amplifiers
Systems may have up to 8 CS35L56 amplifiers, and each amplifier should
be attached to the speaker LED. A mapped Playback switch is required to
ensure all amps are muted and unmute appropriately.
Shuming Fan [Mon, 24 Mar 2025 06:43:44 +0000 (14:43 +0800)]
sof-soundwire: rt1318: add playback control switch
This patch defines 'rt1318-1 DAC' as PlaybackMixerElem when equipped with only one amp
and defines a remapped one 'rt1318 DAC Playback Switch' when using two amps.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/525 Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Add support for MT8390 EVK with the SOF enabled. The only differences
compared to the UCM with SOF disabled is the device number for playback
and capture, which uses the PCMs for the SOF instead, and the number of
channels for capture, which is stereo rather than mono.
Define those parameters as variables for each case, with and without
SOF, and move the common intialization to an init.conf, so the UCM can
be shared by both.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/513 Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Mikael Voss [Thu, 13 Feb 2025 22:34:38 +0000 (23:34 +0100)]
USB-Audio: Add support for RME Fireface UCX II
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/509 Signed-off-by: Mikael Voss <mvs@nyantec.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Hiago De Franco [Thu, 10 Oct 2024 16:43:07 +0000 (13:43 -0300)]
ucm2: IO-Boards: Toradex: verdin: Add support for Toradex
Add support for the Toradex Verdin Development carrier board, using the
NAU8822 audio codec.
This is a carrier board for the Verdin family, where any Verdin SoM
(NXP, TI...) can be connected to it, therefore this is being added to
the IO-Boards instead of a specific hardware vendor.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/448 Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Hiago De Franco [Thu, 10 Oct 2024 16:40:46 +0000 (13:40 -0300)]
ucm2: IO-Boards: Toradex: verdin: Add support for Toradex
Add support for the Toradex Verdin Dahlia carrier board, using the WM8904
audio codec.
This is a carrier board for the Verdin family, where any Verdin SoM
(NXP, TI...) can be connected to it, therefore this is being added to the
IO-Boards instead of a specific hardware vendor.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/448 Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Hiago De Franco [Thu, 10 Oct 2024 16:29:24 +0000 (13:29 -0300)]
ucm2: IO-Boards: Toradex: apalis: Add support for Toradex
Add support for the Toradex Apalis Evaluation Board carrier board using
the NAU8822 audio codec.
This is a carrier board for the Apalis family, where any Apalis SoM
(iMX8, iMX6...) can be connected to it, therefore this is being added to
the IO-Boards instead of a specific hardware vendor.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/448 Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Peter Ujfalusi [Mon, 10 Mar 2025 13:46:04 +0000 (15:46 +0200)]
ucm2: HDA: HiFi-analog/mic: Refactor the analog mic discovery
The current mic device creation works on certain machines and fails on
others. There are several places of conflicts and setups which can only
just fail, but this is mostly not an issue if the user never uses the mic,
only the speaker/headset - which, to be honest is what most of us do ;)
As an example:
The mic selection in most codecs are via enum and it is assumed to be
named 'Input Source', which is not always the case as some device uses
'Capture Source' for the control's name.
There is also different sets of mics that one can select from:
Exhibit A
numid=6,iface=MIXER,name='Input Source'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'Headset Mic'
; Item #1 'Headphone Mic'
: values=1
Exhibit D (this pushes the limits... The patch will ignore item 1)
numid=6,iface=MIXER,name='Capture Source'
; type=ENUMERATED,access=rw------,values=1,items=3
; Item #0 'Internal Mic'
; Item #1 'Internal Mic 1'
; Item #2 'Mic'
: values=2
Other issue is that we have this 'Headphone Mic', which turned out to be
a 'Stereo Microphone in Headphone Jack', so if it is selected then the
Headphone cannot work, they conflict, they use the same rings for different
direction and purpose.
This patch aims to make the mic discovery a bit more deterministic and
pragmatic.
But even if the UCM creates the use case profiles correctly, it is still
up to UIs (KDE/GNOME/etc) to misunderstand how UCM presents the profiles,
what they mean and most of all what 'Mic1', `Mic2', etc is.
KDE presents the profiles as they are and user can selct between them to
pick the right combination of output and input.
GNOME goes further with simplification (and fails with it) and presents
'random' Configuration profiles for Output and Input, plus a device
selection and they do work in an interesting way. GNOME also have popup
for specifying the type of the plugged accessory, which does not worl at
all with UCM profiles.
But, this patch is meant for a small step to have clear rules based mic
presentation for HDA.
The expectation is that what have worked will work as it used to and what
did not worked should be detected and presented correctly.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/526 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Seppo Ingalsuo [Fri, 31 Jan 2025 10:48:14 +0000 (12:48 +0200)]
UCM2: Blobs: SOF: Cleanup blob names from .blob to .bin
The configuration blobs for SOF processing components are mixed
with old filename suffix .blob and new .bin. This patch renames
for cleanup the remaining .blob files to .bin to follow the
chosen naming in SOF project.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/504 Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Charles Keepax [Thu, 6 Mar 2025 12:54:02 +0000 (12:54 +0000)]
sof-soundwire: Split cs42l43 dmic initialisation
Split the initialisation of cs42l43 into a headset part and a dmic
part. This will prevent the dmic mute controls getting attached to
the mute LED when the codec dmics are not being used.
Add UCM2 configs for the Qualcomm SM8750-MTP Board to handle:
- on-board Speakers
- Headphones speakers
- Top and Bottom on-board Microphones
Not yet implemented/tested are Headphone Microphones over USB-C port.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/498 Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>