For debugging purposes, it is useful to force a UCM configuration
for all HDA configurations. Note that these arguments are not supposed
to be used as part of the stable UCM API; they are solely for debugging.
Example:
alsaucm -c "<<<HDA=1,NoACP=1>>>hw:0" dump text
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This is huge cleanup using new device labels in 'Syntax 8' to remove
a lot of conditions. The future extensions will be simplier.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
The defined mono/stereo devices must contain correct number of channels.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/783
Fixes: 27d3b45 ("Add UCM2 configuration for M-Audio Fast Track Ultra")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
When adding support for cs42l43 systems without headphones updating the
bridge configuration was missed. Add the missing conditional guard on
the ConflictingDevice which would fail in systems without headphones.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/778
Fixes: 7585f5e967 ("ucm2: sof-soundwire: cs42l43: support UAJ-less configuration")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
In the case the speaker amps are connected through the codec the current
routing is hijacking the headphone PCM device and using that. It would
be better to use the dedicated speaker PCM device. Update the PCM and
the routing to match.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/778
Fixes: e4277a204c ("sof-soundwire: Add support for cs42l43/cs35l56 bridge configuration")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
The load mechanism assumed only one multi-codec in the system, but
we saw in #774 multiple instances of those codecs (rt1320 and rt713).
Make the load mechanism straight:
- introduce file variables
- remove shadow variables
- probe multi-codecs separately and modify the file variables
- test for duplicate file inclusion (in both sof-soundwire / HiFi configs)
- merge dmic configs for rt712,rt713 to one file
This change also improves filters for speaker/headset/mic init includes.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/775
Link: https://github.com/alsa-project/alsa-ucm-conf/issues/774
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
No sound captured in headset mic through jack on Dell Precision 5480, Ubuntu 24.04.4 LTS kernel version 6.17.0-20-generic
Headset Mic Switch is a DAPM gate that must be enabled to connect the
headset microphone input to the SoundWire capture pipeline. Without it
the mic path is powered down regardless of the FU0F Capture Switch state,
producing silence.
Add Headset Mic Switch on/off to Enable/DisableSequence, matching the
pattern already used for Headphone Switch in the Headphones device.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/740
Signed-off-by: D Kovacek <dankovacek@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
No sound from headphone jack on Dell Precision 5480, Ubuntu 24.04.4 LTS kernel version 6.17.0-20-generic
The SOF DSP pipeline volume PGA30.0 (pipeline 30, PCM device 0) defaults
to 0 at boot, which the dBscale treats as a hardware mute. The DAPM chain
is active and audio flows on the SoundWire bus, but the pipeline passes
silence into the codec.
Set PGA30.0 30 Playback Volume to 32,32 (0 dB) so the pipeline is not
muted when headphones are enabled. Software volume is applied on top by
PipeWire/PulseAudio independently.
Tested on Dell Precision 5480 (Intel Raptor Lake-P, rt711-sdca on
SoundWire master-0-2).
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/740
Signed-off-by: D Kovacek <dankovacek@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Add alsa-ucm support for the MediaTek mt8366-evk platform.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/765
Signed-off-by: Zoran Zhan <zoran.zhan@mediatek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Add EnableSequence/DisableSequence entries for the Mic input device. Align
BootSequence with other Toradex NXP module configurations. Remove Lineout
from the BootSequence, as the codec Lineout output pin is not connected on
the Apalis iMX8.
Previously uninitialized configurations were set unpredictably at boot, causing
high-noise input/output behavior. Set these configs explicitly to ensure the
sound card starts in a known working state.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/761
Signed-off-by: Leonardo Costa <leonardo.costa@toradex.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Rename apalis-imx8.conf symlink to apalis-imx8qm.conf, which matches the
sound card name for both Apalis iMX8 QuadMax and QuadPlus variants. Also fix
file path set in SectionUseCase to point to the correct HiFi.conf location.
Fixes: b8de123ae0 ("ucm2: NXP: iMX8: Toradex: apalis-imx8: Add support for")
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/761
Signed-off-by: Leonardo Costa <leonardo.costa@toradex.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This enables:
- Front panel line out
- Front panel mic in
Fix front panel audio routing and PCM settings.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/757
Signed-off-by: Kenny4_Lin <Kenny4_Lin@asus.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Align UCM with the topology change that added dedicated multimedia
frontends for DisplayPort (commit c8d6762 "ASoC: qcom:
x1e80100-LENOVO-Thinkpad-T14s: add dedicated multimedia frontend for
DisplayPort").
- SectionVerb EnableSequence: enable DISPLAY_PORT_RX_0/1/2 on
MultiMedia5/6/7 (remove the old MultiMedia1 "0" settings).
- Headphones: disable the DP mixers on the new dedicated streams.
- HDMI0/1/2 devices: route each DISPLAY_PORT_RX_* to its own
MultiMedia frontend, use dedicated PlaybackPCM "hw:${CardId},4/5/6",
add explicit PlaybackChannels 2, and keep the existing JackControl.
This gives independent DP audio streams and matches the new topology.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/754
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Arduino VENTUNO has 1xHDMI, 1xDP, Headset(Mic and speakers), LineOut and
EarOut connectors.
Add support for everything except DP, as it is not fully enabled yet.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/751
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Rename the ucm2 conf for Qualcomm qcm6490-idp.
qcm6490-idp-snd-card.conf -> QCM6490-IDP.conf.
Removed snd-card tags from conf, as name did not
correctly match the actual sound card name.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/746
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Fix internal mic mute handling by selecting Mic1 to mute the
internal mic when the headphone microphone is enabled.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/746
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
USB ID 0644:8070 TEAC Corp. US-2x2HR
Line1/Mic1/Mic2 comments mostly match the device labels
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/693
Signed-off-by: Jake Fröberg <jfroberg@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Load rt722/init.conf while using rt722 headset function only
instead of multicodec.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/743
Signed-off-by: derek fang <derek.fang@realtek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This patch adds configs for rt1320 dmic function.
It defines the MicMixerElem, a remapped control for the two rt1320-dmic
case, and also attaches rt1320 FU capture controls to the mic LED.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/743
Signed-off-by: derek fang <derek.fang@realtek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This patch defines 'rt1320 OT23' as PlaybackMixerElem and
a remapped one 'rt1320 OT23 Playback Switch' when using one
or two amps.
And also attach rt1320 OT23 controls to speaker LED.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/743
Signed-off-by: derek fang <derek.fang@realtek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Support the machines with companion amps with rt721 and rt1320.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/744/
Signed-off-by: derek fang <derek.fang@realtek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Declare the maximum four HDMI/DisplayPort outputs (PCM devices 3, 7,
8 and 9) so PipeWire can see every available port. The HDMI macro's
built-in ControlExists check ensures devices are only created when the
corresponding jack control exists, so SoCs with fewer outputs are
unaffected.
Link: https://lore.kernel.org/alsa-devel/20260416090600.2237882-1-sheetal@nvidia.com/
Signed-off-by: Sheetal <sheetal@nvidia.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
The long card name set by the Linux kernel is based on the DMI information
for the vendor name, product name and board revision. Create a symlink so
that the configuration is correctly picked up by ALSA if DMI is enabled
in the kernel.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/736
Signed-off-by: Aelin Reidel <aelin@mainlining.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
In some cases cs42l43/cs42l43b devices can be set up without UAJ. In
this case, guard the ConflictingDevices behind a check for a cs42l43's
headset's presence so the UCM can still load even if the headset is
missing.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/738
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- use new USB-Audio.conf macros
- follow UCM device numbering rule (continuous - use labeling)
Fixes: 27d3b45 ("Add UCM2 configuration for M-Audio Fast Track Ultra")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>