1572 lines
44 KiB
Diff
1572 lines
44 KiB
Diff
From 33be660e4b1e75c19d5332556c3d2636dd3344bf Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Mon, 2 Nov 2020 16:44:51 +0100
|
|
Subject: [PATCH 01/24] fix the ucm2/codecs/hda/hdmi.conf use
|
|
|
|
The mentioned commit (dcef48f13d) removed the index for the IEC958 on/off
|
|
control which made the HDMI 2+ outputs silent.
|
|
|
|
Fixes: dcef48f13d ("HDA-Intel: add support for AMD acp microphone devices")
|
|
BugLink: https://github.com/alsa-project/alsa-lib/issues/95
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/HDA-Intel/Hdmi.conf | 8 +++++++-
|
|
ucm2/codecs/hda/hdmi.conf | 4 ++--
|
|
ucm2/sof-hda-dsp/Hdmi.conf | 3 +++
|
|
3 files changed, 12 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/ucm2/HDA-Intel/Hdmi.conf b/ucm2/HDA-Intel/Hdmi.conf
|
|
index c8b6e77..c533e49 100644
|
|
--- a/ucm2/HDA-Intel/Hdmi.conf
|
|
+++ b/ucm2/HDA-Intel/Hdmi.conf
|
|
@@ -6,6 +6,7 @@ If.hdmi1 {
|
|
Define {
|
|
HdmiNum 1
|
|
HdmiPCM 3
|
|
+ HdmiCtlIndex 0
|
|
HdmiPrio 1100
|
|
}
|
|
Include.hdmi1.File "/codecs/hda/hdmi.conf"
|
|
@@ -18,6 +19,7 @@ If.hdmi2 {
|
|
Define {
|
|
HdmiNum 2
|
|
HdmiPCM 7
|
|
+ HdmiCtlIndex 1
|
|
HdmiPrio 1200
|
|
}
|
|
Include.hdmi2.File "/codecs/hda/hdmi.conf"
|
|
@@ -30,6 +32,7 @@ If.hdmi3 {
|
|
Define {
|
|
HdmiNum 3
|
|
HdmiPCM 8
|
|
+ HdmiCtlIndex 2
|
|
HdmiPrio 1300
|
|
}
|
|
Include.hdmi3.File "/codecs/hda/hdmi.conf"
|
|
@@ -42,6 +45,7 @@ If.hdmi4 {
|
|
Define {
|
|
HdmiNum 4
|
|
HdmiPCM 9
|
|
+ HdmiCtlIndex 3
|
|
HdmiPrio 1400
|
|
}
|
|
Include.hdmi4.File "/codecs/hda/hdmi.conf"
|
|
@@ -54,6 +58,7 @@ If.hdmi5 {
|
|
Define {
|
|
HdmiNum 5
|
|
HdmiPCM 10
|
|
+ HdmiCtlIndex 4
|
|
HdmiPrio 1500
|
|
}
|
|
Include.hdmi5.File "/codecs/hda/hdmi.conf"
|
|
@@ -66,8 +71,9 @@ If.hdmi6 {
|
|
Define {
|
|
HdmiNum 6
|
|
HdmiPCM 11
|
|
+ HdmiCtlIndex 5
|
|
HdmiPrio 1600
|
|
}
|
|
- Include.hdmi5.File "/codecs/hda/hdmi.conf"
|
|
+ Include.hdmi6.File "/codecs/hda/hdmi.conf"
|
|
}
|
|
}
|
|
diff --git a/ucm2/codecs/hda/hdmi.conf b/ucm2/codecs/hda/hdmi.conf
|
|
index ba80fef..32a77f4 100644
|
|
--- a/ucm2/codecs/hda/hdmi.conf
|
|
+++ b/ucm2/codecs/hda/hdmi.conf
|
|
@@ -8,11 +8,11 @@ If.hdmi {
|
|
Comment "HDMI${var:HdmiNum} Output"
|
|
|
|
EnableSequence [
|
|
- cset "name='IEC958 Playback Switch' on"
|
|
+ cset "name='IEC958 Playback Switch',index=${var:HdmiCtlIndex} on"
|
|
]
|
|
|
|
DisableSequence [
|
|
- cset "name='IEC958 Playback Switch' off"
|
|
+ cset "name='IEC958 Playback Switch',index=${var:HdmiCtlIndex} off"
|
|
]
|
|
|
|
Value {
|
|
diff --git a/ucm2/sof-hda-dsp/Hdmi.conf b/ucm2/sof-hda-dsp/Hdmi.conf
|
|
index 7b777d1..1726567 100644
|
|
--- a/ucm2/sof-hda-dsp/Hdmi.conf
|
|
+++ b/ucm2/sof-hda-dsp/Hdmi.conf
|
|
@@ -6,6 +6,7 @@ If.hdmi1 {
|
|
Define {
|
|
HdmiNum 1
|
|
HdmiPCM 3
|
|
+ HdmiCtlIndex 0
|
|
HdmiPrio 500
|
|
}
|
|
Include.hdmi1.File "/codecs/hda/hdmi.conf"
|
|
@@ -18,6 +19,7 @@ If.hdmi2 {
|
|
Define {
|
|
HdmiNum 2
|
|
HdmiPCM 4
|
|
+ HdmiCtlIndex 1
|
|
HdmiPrio 600
|
|
}
|
|
Include.hdmi2.File "/codecs/hda/hdmi.conf"
|
|
@@ -30,6 +32,7 @@ If.hdmi3 {
|
|
Define {
|
|
HdmiNum 3
|
|
HdmiPCM 5
|
|
+ HdmiCtlIndex 2
|
|
HdmiPrio 700
|
|
}
|
|
Include.hdmi3.File "/codecs/hda/hdmi.conf"
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From f8c2428ccc42488c5e96801cce9f7e28080ecb71 Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Mon, 2 Nov 2020 18:15:14 +0100
|
|
Subject: [PATCH 02/24] codecs/hda/hdmi.conf - add DisplayPort to the device
|
|
description (Comment)
|
|
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/codecs/hda/hdmi.conf | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/ucm2/codecs/hda/hdmi.conf b/ucm2/codecs/hda/hdmi.conf
|
|
index 32a77f4..c7b7ba4 100644
|
|
--- a/ucm2/codecs/hda/hdmi.conf
|
|
+++ b/ucm2/codecs/hda/hdmi.conf
|
|
@@ -5,7 +5,7 @@ If.hdmi {
|
|
}
|
|
True {
|
|
SectionDevice."HDMI${var:HdmiNum}" {
|
|
- Comment "HDMI${var:HdmiNum} Output"
|
|
+ Comment "HDMI / DisplayPort ${var:HdmiNum} Output"
|
|
|
|
EnableSequence [
|
|
cset "name='IEC958 Playback Switch',index=${var:HdmiCtlIndex} on"
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 334b12e9a796cddf70779b68418ee7ad52ba1d14 Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Mon, 16 Nov 2020 11:48:05 +0100
|
|
Subject: [PATCH 03/24] sof-soundwire: use the codecs/hda/hdmi.conf macro
|
|
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/sof-soundwire/Hdmi.conf | 83 ++++++++++--------------------------
|
|
1 file changed, 22 insertions(+), 61 deletions(-)
|
|
|
|
diff --git a/ucm2/sof-soundwire/Hdmi.conf b/ucm2/sof-soundwire/Hdmi.conf
|
|
index d0ba790..d5ee9c6 100644
|
|
--- a/ucm2/sof-soundwire/Hdmi.conf
|
|
+++ b/ucm2/sof-soundwire/Hdmi.conf
|
|
@@ -1,79 +1,40 @@
|
|
-# Use case Configuration for sof-soundwire card
|
|
+# Use case Configuration for sof-soundwire
|
|
|
|
If.hdmi1 {
|
|
- Condition {
|
|
- Type ControlExists
|
|
- Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'"
|
|
- }
|
|
+ Condition { Type String Empty "" }
|
|
True {
|
|
- SectionDevice."HDMI1" {
|
|
- Comment "HDMI1/DP1 Output"
|
|
-
|
|
- EnableSequence [
|
|
- cset "name='IEC958 Playback Switch' on"
|
|
- ]
|
|
-
|
|
- DisableSequence [
|
|
- cset "name='IEC958 Playback Switch' off"
|
|
- ]
|
|
-
|
|
- Value {
|
|
- PlaybackPriority 500
|
|
- PlaybackPCM "hw:${CardId},5"
|
|
- JackControl "HDMI/DP,pcm=5 Jack"
|
|
- }
|
|
+ Define {
|
|
+ HdmiNum 1
|
|
+ HdmiPCM 5
|
|
+ HdmiCtlIndex 0
|
|
+ HdmiPrio 500
|
|
}
|
|
+ Include.hdmi1.File "/codecs/hda/hdmi.conf"
|
|
}
|
|
}
|
|
|
|
If.hdmi2 {
|
|
- Condition {
|
|
- Type ControlExists
|
|
- Control "iface=CARD,name='HDMI/DP,pcm=6 Jack'"
|
|
- }
|
|
+ Condition { Type String Empty "" }
|
|
True {
|
|
- SectionDevice."HDMI2" {
|
|
- Comment "HDMI2/DP2 Output"
|
|
-
|
|
- EnableSequence [
|
|
- cset "name='IEC958 Playback Switch',index=1 on"
|
|
- ]
|
|
-
|
|
- DisableSequence [
|
|
- cset "name='IEC958 Playback Switch',index=1 off"
|
|
- ]
|
|
-
|
|
- Value {
|
|
- PlaybackPriority 600
|
|
- PlaybackPCM "hw:${CardId},6"
|
|
- JackControl "HDMI/DP,pcm=6 Jack"
|
|
- }
|
|
+ Define {
|
|
+ HdmiNum 2
|
|
+ HdmiPCM 6
|
|
+ HdmiCtlIndex 1
|
|
+ HdmiPrio 600
|
|
}
|
|
+ Include.hdmi2.File "/codecs/hda/hdmi.conf"
|
|
}
|
|
}
|
|
|
|
If.hdmi3 {
|
|
- Condition {
|
|
- Type ControlExists
|
|
- Control "iface=CARD,name='HDMI/DP,pcm=7 Jack'"
|
|
- }
|
|
+ Condition { Type String Empty "" }
|
|
True {
|
|
- SectionDevice."HDMI3" {
|
|
- Comment "HDMI3/DP3 Output"
|
|
-
|
|
- EnableSequence [
|
|
- cset "name='IEC958 Playback Switch',index=2 on"
|
|
- ]
|
|
-
|
|
- DisableSequence [
|
|
- cset "name='IEC958 Playback Switch',index=2 off"
|
|
- ]
|
|
-
|
|
- Value {
|
|
- PlaybackPriority 700
|
|
- PlaybackPCM "hw:${CardId},7"
|
|
- JackControl "HDMI/DP,pcm=7 Jack"
|
|
- }
|
|
+ Define {
|
|
+ HdmiNum 3
|
|
+ HdmiPCM 7
|
|
+ HdmiCtlIndex 2
|
|
+ HdmiPrio 700
|
|
}
|
|
+ Include.hdmi3.File "/codecs/hda/hdmi.conf"
|
|
}
|
|
}
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 6889736b917eed89c4d775824efd8655400e27e3 Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Mon, 7 Dec 2020 09:33:30 +0100
|
|
Subject: [PATCH 04/24] Revert "ucm2: HDA/acp - add Capture simple mixer
|
|
element to the ACP Mic device"
|
|
|
|
This reverts commit 3320b1ac804595d6c145c1ad7af85917182a3c98.
|
|
|
|
This solution does not work. The mute state is shared between
|
|
the HDA and AMD ACP in PA, so it may cause the security issue, if
|
|
the users do not set the mute manually.
|
|
|
|
BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/64
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/HDA-Intel/HiFi-acp.conf | 1 -
|
|
1 file changed, 1 deletion(-)
|
|
|
|
diff --git a/ucm2/HDA-Intel/HiFi-acp.conf b/ucm2/HDA-Intel/HiFi-acp.conf
|
|
index 15eeca5..123ae15 100644
|
|
--- a/ucm2/HDA-Intel/HiFi-acp.conf
|
|
+++ b/ucm2/HDA-Intel/HiFi-acp.conf
|
|
@@ -4,6 +4,5 @@ SectionDevice."Mic1" {
|
|
Value {
|
|
CapturePriority 100
|
|
CapturePCM "hw:${var:AcpCardId}"
|
|
- CaptureMixerElem "Capture"
|
|
}
|
|
}
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 13420f94a6858e9c3e3a056a7987d9c0db823394 Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Sun, 6 Dec 2020 13:47:16 +0100
|
|
Subject: [PATCH 05/24] chtnau8824: Fix mono speaker config not working
|
|
|
|
Fix the Speaker define / var being changed from "Speaker" to "MonoSpeaker"
|
|
not having any effect because the variable gets expanded before the if
|
|
making the change is interpreted.
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/chtnau8824/HiFi.conf | 15 +++++++++++----
|
|
1 file changed, 11 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/ucm2/chtnau8824/HiFi.conf b/ucm2/chtnau8824/HiFi.conf
|
|
index 3ccd6b1..d7a5f63 100644
|
|
--- a/ucm2/chtnau8824/HiFi.conf
|
|
+++ b/ucm2/chtnau8824/HiFi.conf
|
|
@@ -34,8 +34,15 @@ SectionVerb {
|
|
}
|
|
}
|
|
|
|
-Include.spk.File "/codecs/nau8824/${var:Speaker}.conf"
|
|
-Include.hp.File "/codecs/nau8824/HeadPhones.conf"
|
|
+# The includes using $vars in there path must be conditional otherwise the
|
|
+# $var gets expanded before the other If-s above can change the vars.
|
|
+If.cfg-includes {
|
|
+ Condition { Type String Empty "" }
|
|
+ True {
|
|
+ Include.spk.File "/codecs/nau8824/${var:Speaker}.conf"
|
|
+ Include.hp.File "/codecs/nau8824/HeadPhones.conf"
|
|
|
|
-Include.mic.File "/codecs/nau8824/InternalMic.conf"
|
|
-Include.hsmic.File "/codecs/nau8824/HeadsetMic.conf"
|
|
+ Include.mic.File "/codecs/nau8824/InternalMic.conf"
|
|
+ Include.hsmic.File "/codecs/nau8824/HeadsetMic.conf"
|
|
+ }
|
|
+}
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 7db718571440b13045ebb3150a71745033ff5c0c Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Sun, 6 Dec 2020 13:47:17 +0100
|
|
Subject: [PATCH 06/24] chtnau8824: Add support for laptops using stereo DMICs
|
|
|
|
The Medion E2228T uses a NAU8824 codec combined with stereo
|
|
DMICs, add support for this.
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/chtnau8824/HiFi.conf | 16 +++++++++++++++-
|
|
ucm2/codecs/nau8824/DMIC1_2.conf | 30 ++++++++++++++++++++++++++++++
|
|
2 files changed, 45 insertions(+), 1 deletion(-)
|
|
create mode 100644 ucm2/codecs/nau8824/DMIC1_2.conf
|
|
|
|
diff --git a/ucm2/chtnau8824/HiFi.conf b/ucm2/chtnau8824/HiFi.conf
|
|
index d7a5f63..105f360 100644
|
|
--- a/ucm2/chtnau8824/HiFi.conf
|
|
+++ b/ucm2/chtnau8824/HiFi.conf
|
|
@@ -1,4 +1,5 @@
|
|
Define.Speaker "Speaker"
|
|
+Define.Mic "InternalMic"
|
|
|
|
If.cfg-mspk {
|
|
Condition {
|
|
@@ -11,6 +12,19 @@ If.cfg-mspk {
|
|
}
|
|
}
|
|
|
|
+If.cfg-mic {
|
|
+ Condition {
|
|
+ Type RegexMatch
|
|
+ String "${CardLongName}"
|
|
+ # Medion E22??T models put DMIC in their product version
|
|
+ # when using DMICs
|
|
+ Regex "(MEDION-E22..T.*-DMIC-)"
|
|
+ }
|
|
+ True {
|
|
+ Define.Mic "DMIC1_2"
|
|
+ }
|
|
+}
|
|
+
|
|
SectionVerb {
|
|
|
|
Value {
|
|
@@ -42,7 +56,7 @@ If.cfg-includes {
|
|
Include.spk.File "/codecs/nau8824/${var:Speaker}.conf"
|
|
Include.hp.File "/codecs/nau8824/HeadPhones.conf"
|
|
|
|
- Include.mic.File "/codecs/nau8824/InternalMic.conf"
|
|
+ Include.mic.File "/codecs/nau8824/${var:Mic}.conf"
|
|
Include.hsmic.File "/codecs/nau8824/HeadsetMic.conf"
|
|
}
|
|
}
|
|
diff --git a/ucm2/codecs/nau8824/DMIC1_2.conf b/ucm2/codecs/nau8824/DMIC1_2.conf
|
|
new file mode 100644
|
|
index 0000000..f54f671
|
|
--- /dev/null
|
|
+++ b/ucm2/codecs/nau8824/DMIC1_2.conf
|
|
@@ -0,0 +1,30 @@
|
|
+# Stereo DMICs on the DMIC1 and DMIC2 inputs
|
|
+
|
|
+SectionDevice."Mic" {
|
|
+ Comment "Internal Digital Microphones"
|
|
+
|
|
+ Value {
|
|
+ CapturePriority 200
|
|
+ CapturePCM "hw:${CardId}"
|
|
+ }
|
|
+
|
|
+ ConflictingDevice [
|
|
+ "Headset"
|
|
+ ]
|
|
+
|
|
+ EnableSequence [
|
|
+ # Note needs to be swapped / swap is deliberate!
|
|
+ cset "name='ADC CH0 Select' 1"
|
|
+ cset "name='ADC CH1 Select' 0"
|
|
+
|
|
+ cset "name='Int Mic Switch' on"
|
|
+ cset "name='DMIC1 Enable Switch' on"
|
|
+ cset "name='DMIC2 Enable Switch' on"
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ cset "name='Int Mic Switch' off"
|
|
+ cset "name='DMIC1 Enable Switch' off"
|
|
+ cset "name='DMIC2 Enable Switch' off"
|
|
+ ]
|
|
+}
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From dacfe2fc7b41b800f4f379ce4b1722462b97cab2 Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Sun, 6 Dec 2020 13:47:18 +0100
|
|
Subject: [PATCH 07/24] chtnau8824: Boost analog mic volumes a bit
|
|
|
|
Both Mic1 (internal analog mic) and Mic2 (headset mic) are a bit soft
|
|
with the current settings, boost their volumes a bit.
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/codecs/nau8824/EnableSeq.conf | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/ucm2/codecs/nau8824/EnableSeq.conf b/ucm2/codecs/nau8824/EnableSeq.conf
|
|
index 433e8e2..3650d06 100644
|
|
--- a/ucm2/codecs/nau8824/EnableSeq.conf
|
|
+++ b/ucm2/codecs/nau8824/EnableSeq.conf
|
|
@@ -7,8 +7,8 @@ EnableSequence [
|
|
cset "name='DMIC2 Enable Switch' off"
|
|
cset "name='DMIC3 Enable Switch' off"
|
|
cset "name='DMIC4 Enable Switch' off"
|
|
- cset "name='MIC1 Volume' 10"
|
|
- cset "name='MIC2 Volume' 10"
|
|
+ cset "name='MIC1 Volume' 14"
|
|
+ cset "name='MIC2 Volume' 14"
|
|
# Button Configuration
|
|
cset "name='THD for key media' 10"
|
|
cset "name='THD for key voice command' 16"
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 263bd26b1216c933db3d216197a78678d0f8610e Mon Sep 17 00:00:00 2001
|
|
From: Libin Yang <libin.yang@intel.com>
|
|
Date: Thu, 19 Nov 2020 20:01:30 +0800
|
|
Subject: [PATCH 08/24] rt715: init: setup ADC07 to a proper volume
|
|
|
|
This patch initiates 'rt715 ADC 07 Capture Volume' to a proper volume.
|
|
|
|
Signed-off-by: Libin Yang <libin.yang@intel.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/codecs/rt715/init.conf | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/ucm2/codecs/rt715/init.conf b/ucm2/codecs/rt715/init.conf
|
|
index 6e07b2d..15a0571 100644
|
|
--- a/ucm2/codecs/rt715/init.conf
|
|
+++ b/ucm2/codecs/rt715/init.conf
|
|
@@ -7,4 +7,5 @@ BootSequence [
|
|
cset "name='rt715 ADC 25 Mux' 4"
|
|
cset "name='rt715 ADC 27 Capture Switch' 1"
|
|
cset "name='rt715 ADC 07 Capture Switch' 1"
|
|
+ cset "name='rt715 ADC 07 Capture Volume' 58"
|
|
]
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From cf267cce6d553d4d436c166c23d3befc5476acef Mon Sep 17 00:00:00 2001
|
|
From: Hui Wang <hui.wang@canonical.com>
|
|
Date: Thu, 29 Oct 2020 13:34:02 +0800
|
|
Subject: [PATCH 09/24] sof-hda-dsp: Set Master Playback Switch on in the
|
|
BootSequence
|
|
|
|
Otherwise, the audio output will be muted by default if there is no
|
|
/var/lib/alsa/asound.state. I have experienced this issue When newly
|
|
install an OS.
|
|
|
|
Signed-off-by: Hui Wang <hui.wang@canonical.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/HDA-Intel/init.conf | 1 +
|
|
ucm2/sof-hda-dsp/sof-hda-dsp.conf | 1 +
|
|
2 files changed, 2 insertions(+)
|
|
|
|
diff --git a/ucm2/HDA-Intel/init.conf b/ucm2/HDA-Intel/init.conf
|
|
index 1a351a9..6310eb3 100644
|
|
--- a/ucm2/HDA-Intel/init.conf
|
|
+++ b/ucm2/HDA-Intel/init.conf
|
|
@@ -15,6 +15,7 @@ If.master {
|
|
}
|
|
True.BootSequence [
|
|
cset "name='Master Playback Volume' 60%"
|
|
+ cset "name='Master Playback Switch' on"
|
|
]
|
|
}
|
|
|
|
diff --git a/ucm2/sof-hda-dsp/sof-hda-dsp.conf b/ucm2/sof-hda-dsp/sof-hda-dsp.conf
|
|
index c8069a6..79b54a9 100644
|
|
--- a/ucm2/sof-hda-dsp/sof-hda-dsp.conf
|
|
+++ b/ucm2/sof-hda-dsp/sof-hda-dsp.conf
|
|
@@ -24,6 +24,7 @@ If.master {
|
|
}
|
|
True.BootSequence [
|
|
cset "name='Master Playback Volume' 60%"
|
|
+ cset "name='Master Playback Switch' on"
|
|
]
|
|
}
|
|
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 5405544752c18153acc310ee7e4a4bacda040dca Mon Sep 17 00:00:00 2001
|
|
From: Kai-Heng Feng <kai.heng.feng@canonical.com>
|
|
Date: Thu, 27 Aug 2020 21:18:13 +0800
|
|
Subject: [PATCH 10/24] HDA-Intel/HiFi-dual: Add EnableSequence and
|
|
DisableSequence for Speaker and Headphones
|
|
|
|
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/48
|
|
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/HDA-Intel/HiFi-dual.conf | 16 ++++++++++++++++
|
|
1 file changed, 16 insertions(+)
|
|
|
|
diff --git a/ucm2/HDA-Intel/HiFi-dual.conf b/ucm2/HDA-Intel/HiFi-dual.conf
|
|
index cff948e..bacfd80 100644
|
|
--- a/ucm2/HDA-Intel/HiFi-dual.conf
|
|
+++ b/ucm2/HDA-Intel/HiFi-dual.conf
|
|
@@ -27,6 +27,14 @@ SectionDevice."Speaker" {
|
|
PlaybackMixerElem "Speaker"
|
|
}
|
|
|
|
+ EnableSequence [
|
|
+ cset "name='Speaker Playback Switch' on"
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ cset "name='Speaker Playback Switch' off"
|
|
+ ]
|
|
+
|
|
ConflictingDevice [
|
|
"Headphones"
|
|
]
|
|
@@ -54,6 +62,14 @@ SectionDevice."Headphones" {
|
|
JackHWMute "Speaker"
|
|
}
|
|
|
|
+ EnableSequence [
|
|
+ cset "name='Headphone Playback Switch' on"
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ cset "name='Headphone Playback Switch' off"
|
|
+ ]
|
|
+
|
|
ConflictingDevice [
|
|
"Speaker"
|
|
]
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 5947daef124c84fae511233248196576dfbfab7c Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Wed, 16 Dec 2020 08:55:04 +0100
|
|
Subject: [PATCH 11/24] HDA-Intel/HiFi-dual: Add BootSequence and disable
|
|
playback channels in verb init
|
|
|
|
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/48
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/HDA-Intel/HDAudio-DualCodecs.conf | 12 ++++++++++++
|
|
ucm2/HDA-Intel/HiFi-dual.conf | 2 ++
|
|
2 files changed, 14 insertions(+)
|
|
|
|
diff --git a/ucm2/HDA-Intel/HDAudio-DualCodecs.conf b/ucm2/HDA-Intel/HDAudio-DualCodecs.conf
|
|
index 8aaabd0..6fd7bd1 100644
|
|
--- a/ucm2/HDA-Intel/HDAudio-DualCodecs.conf
|
|
+++ b/ucm2/HDA-Intel/HDAudio-DualCodecs.conf
|
|
@@ -4,3 +4,15 @@ SectionUseCase."HiFi" {
|
|
File "HiFi-dual.conf"
|
|
Comment "Default"
|
|
}
|
|
+
|
|
+BootSequence [
|
|
+ cset "name='Headphone Playback Volume' 60%"
|
|
+ cset "name='Headphone Playback Switch' off"
|
|
+ cset "name='Speaker Playback Volume' 60%"
|
|
+ cset "name='Speaker Playback Switch' on"
|
|
+ cset "name='Front Playback Volume' 100%"
|
|
+ cset "name='Front Playback Switch' on"
|
|
+ cset "name='Rear-Panel Capture Volume' 100%"
|
|
+ cset "name='Rear-Panel Capture Switch' on"
|
|
+ cset "name='Input Source' Rear Mic"
|
|
+]
|
|
diff --git a/ucm2/HDA-Intel/HiFi-dual.conf b/ucm2/HDA-Intel/HiFi-dual.conf
|
|
index bacfd80..f2c6915 100644
|
|
--- a/ucm2/HDA-Intel/HiFi-dual.conf
|
|
+++ b/ucm2/HDA-Intel/HiFi-dual.conf
|
|
@@ -8,6 +8,8 @@ SectionVerb {
|
|
cset "name='Front Playback Switch' on"
|
|
cset "name='Rear-Panel Capture Volume' 100%"
|
|
cset "name='Rear-Panel Capture Switch' on"
|
|
+ cset "name='Headphone Playback Switch' off"
|
|
+ cset "name='Speaker Playback Switch' off"
|
|
]
|
|
|
|
DisableSequence [
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 5634db4be3ed435f3e59f30a71c3c3711162929d Mon Sep 17 00:00:00 2001
|
|
From: Jian-Hong Pan <jhp@endlessos.org>
|
|
Date: Tue, 15 Dec 2020 16:54:03 +0800
|
|
Subject: [PATCH 12/24] chtrt5645: Enable Internal MIC of ECS EF20EA
|
|
|
|
The ECS EF20EA uses a digital mic connected to the dmic2 pin, rather
|
|
then the default analog mic.
|
|
|
|
1 [chtrt5645 ]: chtrt5645 - chtrt5645
|
|
Standard-EF20EA-1.0
|
|
|
|
Add a card long name match for this, so that the right config is used.
|
|
|
|
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/68
|
|
Signed-off-by: Jian-Hong Pan <jhp@endlessos.org>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/chtrt5645/HiFi.conf | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/ucm2/chtrt5645/HiFi.conf b/ucm2/chtrt5645/HiFi.conf
|
|
index 10b0a1c..30fad50 100644
|
|
--- a/ucm2/chtrt5645/HiFi.conf
|
|
+++ b/ucm2/chtrt5645/HiFi.conf
|
|
@@ -18,7 +18,7 @@ If.cfg-dmic2 {
|
|
Condition {
|
|
Type RegexMatch
|
|
String "${CardLongName}"
|
|
- Regex "(LENOVO.*LenovoMIIX320|MEDION.*Wingman)"
|
|
+ Regex "(LENOVO.*LenovoMIIX320|MEDION.*Wingman|Standard-EF20EA-1.0)"
|
|
}
|
|
True {
|
|
Define.AnalogMic ""
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From bdd05ac3396a3a09f3818aaa9157eb7ef07676d6 Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Sat, 9 Jan 2021 22:02:51 +0100
|
|
Subject: [PATCH 13/24] bytcr-rt5640: Add support for devices without speakers
|
|
and/or an internal mic
|
|
|
|
There are kernel patches pending upstream for the bytcr-rt5640 machine-driver
|
|
to support devices without speakers and/or an internal mic.
|
|
|
|
Since the UCM profile already conditionally loads the speaker and
|
|
internal-mic codec include files, these will simply get skipped in this
|
|
case, so this almost works with the current UCM profile without changes.
|
|
|
|
The only troublesome part is the ConflictingDevice sections in the codec
|
|
HeadPhones.conf and HeadsetMic.conf files, which refer to resp. a "Speaker"
|
|
and a "Mic" device. Without any of the speaker or mic codec conf files
|
|
being included there will not by any "Speaker" / "Mic" devices leading
|
|
to an error while parsing the HeadPhones.conf / HeadsetMic.conf files.
|
|
|
|
This commit makes the ConflictingDevice section conditional, fixing this.
|
|
|
|
Cc: Rasmus Porsager <rasmus@beat.dk>
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/bytcr-rt5640/HiFi-Components.conf | 28 +++++++++++++++++++++-----
|
|
ucm2/bytcr-rt5640/HiFi-LongName.conf | 28 +++++++++++++++++++++-----
|
|
ucm2/codecs/rt5640/HeadPhones.conf | 14 ++++++++++---
|
|
ucm2/codecs/rt5640/HeadsetMic.conf | 14 ++++++++++---
|
|
4 files changed, 68 insertions(+), 16 deletions(-)
|
|
|
|
diff --git a/ucm2/bytcr-rt5640/HiFi-Components.conf b/ucm2/bytcr-rt5640/HiFi-Components.conf
|
|
index 2ce4f59..a76b42d 100644
|
|
--- a/ucm2/bytcr-rt5640/HiFi-Components.conf
|
|
+++ b/ucm2/bytcr-rt5640/HiFi-Components.conf
|
|
@@ -1,10 +1,16 @@
|
|
+Define.HaveSpeaker ""
|
|
+Define.HaveInternalMic ""
|
|
+
|
|
If.spk {
|
|
Condition {
|
|
Type String
|
|
Haystack "${CardComponents}"
|
|
Needle "cfg-spk:2"
|
|
}
|
|
- True.Include.spk.File "/codecs/rt5640/Speaker.conf"
|
|
+ True {
|
|
+ Include.spk.File "/codecs/rt5640/Speaker.conf"
|
|
+ Define.HaveSpeaker "yes"
|
|
+ }
|
|
}
|
|
|
|
If.mono {
|
|
@@ -13,7 +19,10 @@ If.mono {
|
|
Haystack "${CardComponents}"
|
|
Needle "cfg-spk:1"
|
|
}
|
|
- True.Include.mspk.File "/codecs/rt5640/MonoSpeaker.conf"
|
|
+ True {
|
|
+ Include.mspk.File "/codecs/rt5640/MonoSpeaker.conf"
|
|
+ Define.HaveSpeaker "yes"
|
|
+ }
|
|
}
|
|
|
|
Include.hs.File "/codecs/rt5640/HeadPhones.conf"
|
|
@@ -24,7 +33,10 @@ If.dmic1 {
|
|
Haystack "${CardComponents}"
|
|
Needle "cfg-mic:dmic1"
|
|
}
|
|
- True.Include.dmic.File "/codecs/rt5640/DigitalMics.conf"
|
|
+ True {
|
|
+ Include.dmic.File "/codecs/rt5640/DigitalMics.conf"
|
|
+ Define.HaveInternalMic "yes"
|
|
+ }
|
|
}
|
|
|
|
If.in1 {
|
|
@@ -33,7 +45,10 @@ If.in1 {
|
|
Haystack "${CardComponents}"
|
|
Needle "cfg-mic:in1"
|
|
}
|
|
- True.Include.mic1.File "/codecs/rt5640/IN1-InternalMic.conf"
|
|
+ True {
|
|
+ Include.mic1.File "/codecs/rt5640/IN1-InternalMic.conf"
|
|
+ Define.HaveInternalMic "yes"
|
|
+ }
|
|
}
|
|
|
|
If.in3 {
|
|
@@ -42,7 +57,10 @@ If.in3 {
|
|
Haystack "${CardComponents}"
|
|
Needle "cfg-mic:in3"
|
|
}
|
|
- True.Include.mic3.File "/codecs/rt5640/IN3-InternalMic.conf"
|
|
+ True {
|
|
+ Include.mic3.File "/codecs/rt5640/IN3-InternalMic.conf"
|
|
+ Define.HaveInternalMic "yes"
|
|
+ }
|
|
}
|
|
|
|
Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf"
|
|
diff --git a/ucm2/bytcr-rt5640/HiFi-LongName.conf b/ucm2/bytcr-rt5640/HiFi-LongName.conf
|
|
index c07f153..6cb5556 100644
|
|
--- a/ucm2/bytcr-rt5640/HiFi-LongName.conf
|
|
+++ b/ucm2/bytcr-rt5640/HiFi-LongName.conf
|
|
@@ -1,10 +1,16 @@
|
|
+Define.HaveSpeaker ""
|
|
+Define.HaveInternalMic ""
|
|
+
|
|
If.spk {
|
|
Condition {
|
|
Type String
|
|
Haystack "${CardLongName}"
|
|
Needle "-stereo-spk"
|
|
}
|
|
- True.Include.spk.File "/codecs/rt5640/Speaker.conf"
|
|
+ True {
|
|
+ Include.spk.File "/codecs/rt5640/Speaker.conf"
|
|
+ Define.HaveSpeaker "yes"
|
|
+ }
|
|
}
|
|
|
|
If.mono {
|
|
@@ -13,7 +19,10 @@ If.mono {
|
|
Haystack "${CardLongName}"
|
|
Needle "-mono-spk"
|
|
}
|
|
- True.Include.mspk.File "/codecs/rt5640/MonoSpeaker.conf"
|
|
+ True {
|
|
+ Include.mspk.File "/codecs/rt5640/MonoSpeaker.conf"
|
|
+ Define.HaveSpeaker "yes"
|
|
+ }
|
|
}
|
|
|
|
Include.hs.File "/codecs/rt5640/HeadPhones.conf"
|
|
@@ -24,7 +33,10 @@ If.dmic1 {
|
|
Haystack "${CardLongName}"
|
|
Needle "-dmic1-mic"
|
|
}
|
|
- True.Include.dmic.File "/codecs/rt5640/DigitalMics.conf"
|
|
+ True {
|
|
+ Include.dmic.File "/codecs/rt5640/DigitalMics.conf"
|
|
+ Define.HaveInternalMic "yes"
|
|
+ }
|
|
}
|
|
|
|
If.in1 {
|
|
@@ -33,7 +45,10 @@ If.in1 {
|
|
Haystack "${CardLongName}"
|
|
Needle "-in1-mic"
|
|
}
|
|
- True.Include.mic1.File "/codecs/rt5640/IN1-InternalMic.conf"
|
|
+ True {
|
|
+ Include.mic1.File "/codecs/rt5640/IN1-InternalMic.conf"
|
|
+ Define.HaveInternalMic "yes"
|
|
+ }
|
|
}
|
|
|
|
If.in3 {
|
|
@@ -42,7 +57,10 @@ If.in3 {
|
|
Haystack "${CardLongName}"
|
|
Needle "-in3-mic"
|
|
}
|
|
- True.Include.mic3.File "/codecs/rt5640/IN3-InternalMic.conf"
|
|
+ True {
|
|
+ Include.mic3.File "/codecs/rt5640/IN3-InternalMic.conf"
|
|
+ Define.HaveInternalMic "yes"
|
|
+ }
|
|
}
|
|
|
|
Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf"
|
|
diff --git a/ucm2/codecs/rt5640/HeadPhones.conf b/ucm2/codecs/rt5640/HeadPhones.conf
|
|
index 42151d6..b7707e5 100644
|
|
--- a/ucm2/codecs/rt5640/HeadPhones.conf
|
|
+++ b/ucm2/codecs/rt5640/HeadPhones.conf
|
|
@@ -1,9 +1,17 @@
|
|
SectionDevice."Headphones" {
|
|
Comment "Headphones"
|
|
|
|
- ConflictingDevice [
|
|
- "Speaker"
|
|
- ]
|
|
+ If.have-spk {
|
|
+ Condition {
|
|
+ Type String
|
|
+ Empty "${var:HaveSpeaker}"
|
|
+ }
|
|
+ False {
|
|
+ ConflictingDevice [
|
|
+ "Speaker"
|
|
+ ]
|
|
+ }
|
|
+ }
|
|
|
|
EnableSequence [
|
|
cset "name='DAC MIXL INF1 Switch' on"
|
|
diff --git a/ucm2/codecs/rt5640/HeadsetMic.conf b/ucm2/codecs/rt5640/HeadsetMic.conf
|
|
index 7a8dfb8..f88b611 100644
|
|
--- a/ucm2/codecs/rt5640/HeadsetMic.conf
|
|
+++ b/ucm2/codecs/rt5640/HeadsetMic.conf
|
|
@@ -1,9 +1,17 @@
|
|
SectionDevice."Headset" {
|
|
Comment "Headset Microphone"
|
|
|
|
- ConflictingDevice [
|
|
- "Mic"
|
|
- ]
|
|
+ If.have-mic {
|
|
+ Condition {
|
|
+ Type String
|
|
+ Empty "${var:HaveInternalMic}"
|
|
+ }
|
|
+ False {
|
|
+ ConflictingDevice [
|
|
+ "Mic"
|
|
+ ]
|
|
+ }
|
|
+ }
|
|
|
|
EnableSequence [
|
|
cset "name='Headset Mic Switch' on"
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From cd02791e9360bcfa2cd4bed40cf5ddabb378ef93 Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Sat, 9 Jan 2021 22:02:52 +0100
|
|
Subject: [PATCH 14/24] rt5640: Move standard DAC setup to EnableSeq.conf
|
|
|
|
No matter which output is used, we always need to setup the standard
|
|
DAC config. Move this to the shared EnableSeq.conf to avoid having
|
|
to duplicate it in various places.
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/codecs/rt5640/EnableSeq.conf | 6 ++++++
|
|
ucm2/codecs/rt5640/HeadPhones.conf | 6 ------
|
|
ucm2/codecs/rt5640/MonoSpeaker.conf | 6 ------
|
|
ucm2/codecs/rt5640/Speaker.conf | 6 ------
|
|
4 files changed, 6 insertions(+), 18 deletions(-)
|
|
|
|
diff --git a/ucm2/codecs/rt5640/EnableSeq.conf b/ucm2/codecs/rt5640/EnableSeq.conf
|
|
index cbf4038..145a23b 100644
|
|
--- a/ucm2/codecs/rt5640/EnableSeq.conf
|
|
+++ b/ucm2/codecs/rt5640/EnableSeq.conf
|
|
@@ -1,5 +1,11 @@
|
|
EnableSequence [
|
|
# RT5640 default output routing
|
|
+ cset "name='DAC MIXL INF1 Switch' on"
|
|
+ cset "name='DAC MIXR INF1 Switch' on"
|
|
+ cset "name='Stereo DAC MIXL DAC L1 Switch' on"
|
|
+ cset "name='Stereo DAC MIXR DAC R1 Switch' on"
|
|
+ cset "name='Stereo DAC MIXL DAC L2 Switch' on"
|
|
+ cset "name='Stereo DAC MIXR DAC R2 Switch' on"
|
|
cset "name='OUT MIXL DAC L1 Switch' on"
|
|
cset "name='OUT MIXR DAC R1 Switch' on"
|
|
|
|
diff --git a/ucm2/codecs/rt5640/HeadPhones.conf b/ucm2/codecs/rt5640/HeadPhones.conf
|
|
index b7707e5..a9e4d20 100644
|
|
--- a/ucm2/codecs/rt5640/HeadPhones.conf
|
|
+++ b/ucm2/codecs/rt5640/HeadPhones.conf
|
|
@@ -14,12 +14,6 @@ SectionDevice."Headphones" {
|
|
}
|
|
|
|
EnableSequence [
|
|
- cset "name='DAC MIXL INF1 Switch' on"
|
|
- cset "name='DAC MIXR INF1 Switch' on"
|
|
- cset "name='Stereo DAC MIXL DAC L1 Switch' on"
|
|
- cset "name='Stereo DAC MIXR DAC R1 Switch' on"
|
|
- cset "name='Stereo DAC MIXL DAC L2 Switch' on"
|
|
- cset "name='Stereo DAC MIXR DAC R2 Switch' on"
|
|
cset "name='HPO MIX HPVOL Switch' on"
|
|
cset "name='Headphone Switch' on"
|
|
cset "name='HP Channel Switch' on"
|
|
diff --git a/ucm2/codecs/rt5640/MonoSpeaker.conf b/ucm2/codecs/rt5640/MonoSpeaker.conf
|
|
index ddc7ba8..23cf34c 100644
|
|
--- a/ucm2/codecs/rt5640/MonoSpeaker.conf
|
|
+++ b/ucm2/codecs/rt5640/MonoSpeaker.conf
|
|
@@ -6,12 +6,6 @@ SectionDevice."Speaker" {
|
|
]
|
|
|
|
EnableSequence [
|
|
- cset "name='DAC MIXL INF1 Switch' on"
|
|
- cset "name='DAC MIXR INF1 Switch' on"
|
|
- cset "name='Stereo DAC MIXL DAC L1 Switch' on"
|
|
- cset "name='Stereo DAC MIXR DAC R1 Switch' on"
|
|
- cset "name='Stereo DAC MIXL DAC L2 Switch' on"
|
|
- cset "name='Stereo DAC MIXR DAC R2 Switch' on"
|
|
cset "name='SPK MIXL DAC L1 Switch' on"
|
|
cset "name='SPK MIXR DAC R1 Switch' on"
|
|
cset "name='SPOL MIX SPKVOL L Switch' on"
|
|
diff --git a/ucm2/codecs/rt5640/Speaker.conf b/ucm2/codecs/rt5640/Speaker.conf
|
|
index 411cd13..422cfdf 100644
|
|
--- a/ucm2/codecs/rt5640/Speaker.conf
|
|
+++ b/ucm2/codecs/rt5640/Speaker.conf
|
|
@@ -6,12 +6,6 @@ SectionDevice."Speaker" {
|
|
]
|
|
|
|
EnableSequence [
|
|
- cset "name='DAC MIXL INF1 Switch' on"
|
|
- cset "name='DAC MIXR INF1 Switch' on"
|
|
- cset "name='Stereo DAC MIXL DAC L1 Switch' on"
|
|
- cset "name='Stereo DAC MIXR DAC R1 Switch' on"
|
|
- cset "name='Stereo DAC MIXL DAC L2 Switch' on"
|
|
- cset "name='Stereo DAC MIXR DAC R2 Switch' on"
|
|
cset "name='SPK MIXL DAC L1 Switch' on"
|
|
cset "name='SPK MIXR DAC R1 Switch' on"
|
|
cset "name='SPOL MIX SPKVOL L Switch' on"
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 95587ae8b75134c4bbc2cec0181e5d529826c9c4 Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Thu, 14 Jan 2021 18:31:24 +0100
|
|
Subject: [PATCH 15/24] bytcr-rt5640: fix the execution order
|
|
|
|
The includes must be run _after_ defines. The Include directives
|
|
have precedence. Put everything to If compound.
|
|
|
|
Fixes: bdd05ac339 ("bytcr-rt5640: Add support for devices without speakers and/or an internal mic")
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/bytcr-rt5640/HiFi-Components.conf | 10 ++++++++--
|
|
ucm2/bytcr-rt5640/HiFi-LongName.conf | 10 ++++++++--
|
|
2 files changed, 16 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/ucm2/bytcr-rt5640/HiFi-Components.conf b/ucm2/bytcr-rt5640/HiFi-Components.conf
|
|
index a76b42d..1999717 100644
|
|
--- a/ucm2/bytcr-rt5640/HiFi-Components.conf
|
|
+++ b/ucm2/bytcr-rt5640/HiFi-Components.conf
|
|
@@ -25,7 +25,10 @@ If.mono {
|
|
}
|
|
}
|
|
|
|
-Include.hs.File "/codecs/rt5640/HeadPhones.conf"
|
|
+If.hp {
|
|
+ Condition { Type String Empty "" }
|
|
+ True.Include.hs.File "/codecs/rt5640/HeadPhones.conf"
|
|
+}
|
|
|
|
If.dmic1 {
|
|
Condition {
|
|
@@ -63,4 +66,7 @@ If.in3 {
|
|
}
|
|
}
|
|
|
|
-Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf"
|
|
+If.hsmic {
|
|
+ Condition { Type String Empty "" }
|
|
+ True.Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf"
|
|
+}
|
|
diff --git a/ucm2/bytcr-rt5640/HiFi-LongName.conf b/ucm2/bytcr-rt5640/HiFi-LongName.conf
|
|
index 6cb5556..34acef8 100644
|
|
--- a/ucm2/bytcr-rt5640/HiFi-LongName.conf
|
|
+++ b/ucm2/bytcr-rt5640/HiFi-LongName.conf
|
|
@@ -25,7 +25,10 @@ If.mono {
|
|
}
|
|
}
|
|
|
|
-Include.hs.File "/codecs/rt5640/HeadPhones.conf"
|
|
+If.hp {
|
|
+ Condition { Type String Empty "" }
|
|
+ True.Include.hs.File "/codecs/rt5640/HeadPhones.conf"
|
|
+}
|
|
|
|
If.dmic1 {
|
|
Condition {
|
|
@@ -63,4 +66,7 @@ If.in3 {
|
|
}
|
|
}
|
|
|
|
-Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf"
|
|
+If.hsmic {
|
|
+ Condition { Type String Empty "" }
|
|
+ True.Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf"
|
|
+}
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 09e5271401480297c2c9c0b753df9705123a1af1 Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Thu, 14 Jan 2021 11:03:56 +0100
|
|
Subject: [PATCH 16/24] ucm2: add initial configuration for TRX40 Gigabyte
|
|
Aorus Master Audio
|
|
|
|
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/25
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
...Gigabyte-Aorus-Master-Front-Headphone.conf | 1 +
|
|
...Gigabyte-Aorus-Master-Main-Audio-HiFi.conf | 61 +++++++++++++++++++
|
|
.../Gigabyte-Aorus-Master-Main-Audio.conf | 6 ++
|
|
3 files changed, 68 insertions(+)
|
|
create mode 120000 ucm2/USB-Audio/Gigabyte-Aorus-Master-Front-Headphone.conf
|
|
create mode 100644 ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio-HiFi.conf
|
|
create mode 100644 ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio.conf
|
|
|
|
diff --git a/ucm2/USB-Audio/Gigabyte-Aorus-Master-Front-Headphone.conf b/ucm2/USB-Audio/Gigabyte-Aorus-Master-Front-Headphone.conf
|
|
new file mode 120000
|
|
index 0000000..1376437
|
|
--- /dev/null
|
|
+++ b/ucm2/USB-Audio/Gigabyte-Aorus-Master-Front-Headphone.conf
|
|
@@ -0,0 +1 @@
|
|
+../module/lib/linked.conf
|
|
\ No newline at end of file
|
|
diff --git a/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio-HiFi.conf b/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio-HiFi.conf
|
|
new file mode 100644
|
|
index 0000000..5c24165
|
|
--- /dev/null
|
|
+++ b/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio-HiFi.conf
|
|
@@ -0,0 +1,61 @@
|
|
+Define.SecondaryCardId "$${CardIdByName:Aorus Master Front Headphone}"
|
|
+
|
|
+SectionDevice."Speaker" {
|
|
+ Comment "Speakers"
|
|
+ Value {
|
|
+ PlaybackChannels 8
|
|
+ PlaybackPriority 200
|
|
+ PlaybackPCM "hw:${CardId}"
|
|
+ JackControl "Line Out Jack"
|
|
+ PlaybackMixerElem "Line Out"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."Headphones" {
|
|
+ Comment "Front Headphones"
|
|
+ Value {
|
|
+ PlaybackPriority 300
|
|
+ PlaybackPCM "hw:${var:SecondaryCardId}"
|
|
+ JackCTL "hw:${var:SecondaryCardId}"
|
|
+ JackControl "Headphone - Output Jack"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."SPDIF" {
|
|
+ Comment "S/PDIF Out"
|
|
+ Value {
|
|
+ PlaybackPriority 100
|
|
+ PlaybackPCM "hw:${CardId},1"
|
|
+ # PlaybackMixerElem "IEC958"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."Line" {
|
|
+ Comment "Line In"
|
|
+ Value {
|
|
+ CapturePriority 100
|
|
+ CapturePCM "hw:${CardId}"
|
|
+ JackControl "Line Jack"
|
|
+ CaptureMixerElem "Line"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."Mic1" {
|
|
+ Comment "Microphone"
|
|
+ Value {
|
|
+ CapturePriority 200
|
|
+ CapturePCM "hw:${CardId},1"
|
|
+ JackControl "Mic Jack"
|
|
+ CaptureMixerElem "Mic"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."Mic2" {
|
|
+ Comment "Front Microphone"
|
|
+ Value {
|
|
+ CapturePriority 300
|
|
+ CapturePCM "hw:${CardId},2"
|
|
+ JackControl "Front Mic Jack"
|
|
+ CaptureMixerElem "Front Mic"
|
|
+ }
|
|
+}
|
|
diff --git a/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio.conf b/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio.conf
|
|
new file mode 100644
|
|
index 0000000..656b989
|
|
--- /dev/null
|
|
+++ b/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio.conf
|
|
@@ -0,0 +1,6 @@
|
|
+Syntax 3
|
|
+Comment "Gigabyte Aorus Integrated Audio"
|
|
+SectionUseCase."HiFi" {
|
|
+ File "Gigabyte-Aorus-Master-Main-Audio-HiFi.conf"
|
|
+ Comment "Default Alsa Profile"
|
|
+}
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 062e4710c524283c5d11cbf99931b24c6d963f98 Mon Sep 17 00:00:00 2001
|
|
From: Marijn Suijten <marijns95@gmail.com>
|
|
Date: Thu, 14 Jan 2021 14:11:50 +0100
|
|
Subject: [PATCH 17/24] USB-Audio/ALC1220: Bump analog Speaker priority over
|
|
S/PDIF
|
|
|
|
The `S/PDIF` port does not have any jack sensing, and with a priority
|
|
higher than the `Speakers` it will always be selected by default instead
|
|
of the `Speakers` even if unplugged.
|
|
|
|
Swapping the priorities around allows analog `Speakers` to be selected
|
|
first, _if_ they are plugged in. Otherwise `S/PDIF` is used.
|
|
|
|
Signed-off-by: Marijn Suijten <marijns95@gmail.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf b/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf
|
|
index 344db83..cbf7154 100644
|
|
--- a/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf
|
|
+++ b/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf
|
|
@@ -2,7 +2,7 @@ SectionDevice."Speaker" {
|
|
Comment "Speakers"
|
|
Value {
|
|
PlaybackChannels 8
|
|
- PlaybackPriority 100
|
|
+ PlaybackPriority 200
|
|
PlaybackPCM "hw:${CardId}"
|
|
JackControl "Speaker Jack"
|
|
PlaybackMixerElem "Speaker"
|
|
@@ -22,7 +22,7 @@ SectionDevice."Headphones" {
|
|
SectionDevice."SPDIF" {
|
|
Comment "S/PDIF Out"
|
|
Value {
|
|
- PlaybackPriority 200
|
|
+ PlaybackPriority 100
|
|
PlaybackPCM "hw:${CardId},2"
|
|
PlaybackMixerElem "IEC958"
|
|
}
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 8e875c9467cc72e53e53104b07d5515f3ef0a779 Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Fri, 15 Jan 2021 14:03:35 +0100
|
|
Subject: [PATCH 18/24] USB-Audio/ALC1220: fix indentation for Speaker device
|
|
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf b/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf
|
|
index cbf7154..0d75384 100644
|
|
--- a/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf
|
|
+++ b/ucm2/USB-Audio/Realtek-ALC1220-VB-Desktop-HiFi.conf
|
|
@@ -1,11 +1,11 @@
|
|
SectionDevice."Speaker" {
|
|
Comment "Speakers"
|
|
Value {
|
|
- PlaybackChannels 8
|
|
- PlaybackPriority 200
|
|
- PlaybackPCM "hw:${CardId}"
|
|
- JackControl "Speaker Jack"
|
|
- PlaybackMixerElem "Speaker"
|
|
+ PlaybackChannels 8
|
|
+ PlaybackPriority 200
|
|
+ PlaybackPCM "hw:${CardId}"
|
|
+ JackControl "Speaker Jack"
|
|
+ PlaybackMixerElem "Speaker"
|
|
}
|
|
}
|
|
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 5503703ab95d5ed40b1da138016777bb5429190e Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Fri, 15 Jan 2021 14:55:53 +0100
|
|
Subject: [PATCH 19/24] USB-Audio: fix indentation in
|
|
Gigabyte-Aorus-Master-Main-Audio-HiFi.conf
|
|
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
.../Gigabyte-Aorus-Master-Main-Audio-HiFi.conf | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio-HiFi.conf b/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio-HiFi.conf
|
|
index 5c24165..37800fb 100644
|
|
--- a/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio-HiFi.conf
|
|
+++ b/ucm2/USB-Audio/Gigabyte-Aorus-Master-Main-Audio-HiFi.conf
|
|
@@ -3,11 +3,11 @@ Define.SecondaryCardId "$${CardIdByName:Aorus Master Front Headphone}"
|
|
SectionDevice."Speaker" {
|
|
Comment "Speakers"
|
|
Value {
|
|
- PlaybackChannels 8
|
|
- PlaybackPriority 200
|
|
- PlaybackPCM "hw:${CardId}"
|
|
- JackControl "Line Out Jack"
|
|
- PlaybackMixerElem "Line Out"
|
|
+ PlaybackChannels 8
|
|
+ PlaybackPriority 200
|
|
+ PlaybackPCM "hw:${CardId}"
|
|
+ JackControl "Line Out Jack"
|
|
+ PlaybackMixerElem "Line Out"
|
|
}
|
|
}
|
|
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From eaa5eacd3e068471537888dee627751dc35e714a Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Wed, 16 Dec 2020 16:38:37 +0100
|
|
Subject: [PATCH 20/24] chtnau8824: Add a SST define/variable
|
|
|
|
Add a SST define which gets set to "yes" when using the SST driver
|
|
and to "" when not using the SST driver;
|
|
|
|
And decide if platforms/bytcr/PlatformEnableSeq.conf should be included
|
|
or not based on this.
|
|
|
|
This is a preparation patch for adding SOF support.
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/chtnau8824/HiFi.conf | 19 +++++++++++++++----
|
|
1 file changed, 15 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/ucm2/chtnau8824/HiFi.conf b/ucm2/chtnau8824/HiFi.conf
|
|
index 105f360..b36588f 100644
|
|
--- a/ucm2/chtnau8824/HiFi.conf
|
|
+++ b/ucm2/chtnau8824/HiFi.conf
|
|
@@ -1,5 +1,16 @@
|
|
Define.Speaker "Speaker"
|
|
Define.Mic "InternalMic"
|
|
+Define.SST "yes"
|
|
+
|
|
+If.Controls {
|
|
+ Condition {
|
|
+ Type ControlExists
|
|
+ Control "name='media0_in Gain 0 Switch'"
|
|
+ }
|
|
+ False {
|
|
+ Define.SST ""
|
|
+ }
|
|
+}
|
|
|
|
If.cfg-mspk {
|
|
Condition {
|
|
@@ -33,12 +44,12 @@ SectionVerb {
|
|
|
|
Include.e.File "/codecs/nau8824/EnableSeq.conf"
|
|
|
|
- If.Controls {
|
|
+ If.SST {
|
|
Condition {
|
|
- Type ControlExists
|
|
- Control "name='media0_in Gain 0 Switch'"
|
|
+ Type String
|
|
+ Empty "${var:SST}"
|
|
}
|
|
- True {
|
|
+ False {
|
|
Include.pe {
|
|
File "/platforms/bytcr/PlatformEnableSeq.conf"
|
|
Before.EnableSequence "0"
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 4e0369b4fcebde195a38d5b90c73b08f28e0047a Mon Sep 17 00:00:00 2001
|
|
From: Takashi Iwai <tiwai@suse.de>
|
|
Date: Thu, 21 Jan 2021 11:15:02 +0100
|
|
Subject: [PATCH 21/24] kblrt5660: Fix file permissions
|
|
|
|
The exec bit was set wrongly on those files. Fix them.
|
|
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
---
|
|
ucm2/kblrt5660/Hdmi1.conf | 0
|
|
ucm2/kblrt5660/Hdmi2.conf | 0
|
|
ucm2/kblrt5660/HiFi.conf | 0
|
|
ucm2/kblrt5660/kblrt5660.conf | 0
|
|
4 files changed, 0 insertions(+), 0 deletions(-)
|
|
mode change 100755 => 100644 ucm2/kblrt5660/Hdmi1.conf
|
|
mode change 100755 => 100644 ucm2/kblrt5660/Hdmi2.conf
|
|
mode change 100755 => 100644 ucm2/kblrt5660/HiFi.conf
|
|
mode change 100755 => 100644 ucm2/kblrt5660/kblrt5660.conf
|
|
|
|
diff --git a/ucm2/kblrt5660/Hdmi1.conf b/ucm2/kblrt5660/Hdmi1.conf
|
|
old mode 100755
|
|
new mode 100644
|
|
diff --git a/ucm2/kblrt5660/Hdmi2.conf b/ucm2/kblrt5660/Hdmi2.conf
|
|
old mode 100755
|
|
new mode 100644
|
|
diff --git a/ucm2/kblrt5660/HiFi.conf b/ucm2/kblrt5660/HiFi.conf
|
|
old mode 100755
|
|
new mode 100644
|
|
diff --git a/ucm2/kblrt5660/kblrt5660.conf b/ucm2/kblrt5660/kblrt5660.conf
|
|
old mode 100755
|
|
new mode 100644
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 96e1c19a6bcc1e353f677966d4d93399204af0ec Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Wed, 16 Dec 2020 16:38:38 +0100
|
|
Subject: [PATCH 22/24] chtnau8824: Add support for using the SOF driver
|
|
|
|
The old (and currently the default) SST driver uses TDM 4 slots 24 bit
|
|
as wire format to the codec. Where as the new SOF driver uses standard
|
|
I2S 2 channel 24 bit.
|
|
|
|
Normally this should not impact the UCM settings, but on the NAU8824
|
|
the "DAC Right Channel Source" mixer setting must be set to 1 when
|
|
using TDM 4 slots and to 0 when using I2S 2 channel mode.
|
|
|
|
Getting this wrong (in either case) results in the right channel not
|
|
outputting any sound.
|
|
|
|
This commit introduces a RightOutputChannel variable which gets
|
|
set to 0/1 depending on the driver and then uses that for the
|
|
"DAC Right Channel Source" mixer setting so that we do the right
|
|
thing depending on the driver.
|
|
|
|
This has been tested on the following devices:
|
|
|
|
Medion E2215T: Stereo speakers, analog mic
|
|
Medion E2228T: Stereo speakers, stereo digital mics
|
|
Cube iWork 8 Air: Mono speaker, analog mic
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/chtnau8824/HiFi.conf | 2 ++
|
|
ucm2/codecs/nau8824/EnableSeq.conf | 2 +-
|
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/ucm2/chtnau8824/HiFi.conf b/ucm2/chtnau8824/HiFi.conf
|
|
index b36588f..c3d830d 100644
|
|
--- a/ucm2/chtnau8824/HiFi.conf
|
|
+++ b/ucm2/chtnau8824/HiFi.conf
|
|
@@ -1,6 +1,7 @@
|
|
Define.Speaker "Speaker"
|
|
Define.Mic "InternalMic"
|
|
Define.SST "yes"
|
|
+Define.RightOutputChannel 1
|
|
|
|
If.Controls {
|
|
Condition {
|
|
@@ -9,6 +10,7 @@ If.Controls {
|
|
}
|
|
False {
|
|
Define.SST ""
|
|
+ Define.RightOutputChannel 0
|
|
}
|
|
}
|
|
|
|
diff --git a/ucm2/codecs/nau8824/EnableSeq.conf b/ucm2/codecs/nau8824/EnableSeq.conf
|
|
index 3650d06..660856f 100644
|
|
--- a/ucm2/codecs/nau8824/EnableSeq.conf
|
|
+++ b/ucm2/codecs/nau8824/EnableSeq.conf
|
|
@@ -1,7 +1,7 @@
|
|
EnableSequence [
|
|
# Playback TDM configuration
|
|
cset "name='DACL Channel Source' 0"
|
|
- cset "name='DACR Channel Source' 1"
|
|
+ cset "name='DACR Channel Source' ${var:RightOutputChannel}"
|
|
# Input Configuration
|
|
cset "name='DMIC1 Enable Switch' off"
|
|
cset "name='DMIC2 Enable Switch' off"
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 3bea51c3188257c5bc0eaaed922d1f714e3508c7 Mon Sep 17 00:00:00 2001
|
|
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
|
Date: Thu, 21 Jan 2021 14:38:26 -0600
|
|
Subject: [PATCH 23/24] sof-hda-dsp: update handling of cfg-dmics strings
|
|
|
|
Existing platforms can have 1,2,3 or 4 microphones. The SOF firmware
|
|
will generate 2 or 4 channels. Since by default CaptureChannels is 2,
|
|
we need to add the case for cfg-dmics = 3.
|
|
|
|
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/sof-hda-dsp/HiFi.conf | 6 +++---
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf
|
|
index a250331..2c02c15 100644
|
|
--- a/ucm2/sof-hda-dsp/HiFi.conf
|
|
+++ b/ucm2/sof-hda-dsp/HiFi.conf
|
|
@@ -16,9 +16,9 @@ SectionDevice."Mic1" {
|
|
CapturePCM "hw:${CardId},6"
|
|
If.chn {
|
|
Condition {
|
|
- Type String
|
|
- Haystack "${CardComponents}"
|
|
- Needle "cfg-dmics:4"
|
|
+ Type RegexMatch
|
|
+ Regex "cfg-dmics:[34]"
|
|
+ String "${CardComponents}"
|
|
}
|
|
True {
|
|
CaptureChannels 4
|
|
--
|
|
2.29.2
|
|
|
|
|
|
From 889c5b9809f1635005d77871bb9abc09df6a3cc3 Mon Sep 17 00:00:00 2001
|
|
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
|
Date: Thu, 21 Jan 2021 14:44:05 -0600
|
|
Subject: [PATCH 24/24] sof-soundwire: add support for dmics
|
|
|
|
the pinmux allows for SoundWire to be used on e.g. link0 and link1,
|
|
and the rest of the pins can be assigned for dmic usages.
|
|
|
|
We currently don't track this capability which means users don't see a
|
|
capture device, e.g. on HP Spectre x360.
|
|
|
|
The sof_sdw machine driver was modified to report the cfg-dmics
|
|
string, possible values are 0..4.
|
|
|
|
BugLink: https://github.com/thesofproject/linux/issues/2700
|
|
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/75
|
|
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
ucm2/sof-soundwire/dmic.conf | 21 +++++++++++++++++++++
|
|
ucm2/sof-soundwire/sof-soundwire.conf | 5 +++++
|
|
2 files changed, 26 insertions(+)
|
|
create mode 100644 ucm2/sof-soundwire/dmic.conf
|
|
|
|
diff --git a/ucm2/sof-soundwire/dmic.conf b/ucm2/sof-soundwire/dmic.conf
|
|
new file mode 100644
|
|
index 0000000..1f704a5
|
|
--- /dev/null
|
|
+++ b/ucm2/sof-soundwire/dmic.conf
|
|
@@ -0,0 +1,21 @@
|
|
+SectionDevice."Mic" {
|
|
+ Comment "Digital Microphone"
|
|
+
|
|
+ Value {
|
|
+ CapturePriority 100
|
|
+ CapturePCM "hw:${CardId},3"
|
|
+ If.chn {
|
|
+ Condition {
|
|
+ Type RegexMatch
|
|
+ Regex "[34]"
|
|
+ String "${var:Mics1}"
|
|
+ }
|
|
+ True {
|
|
+ CaptureChannels 4
|
|
+ }
|
|
+ }
|
|
+ CaptureMixerElem "Dmic0"
|
|
+ CaptureVolume "Dmic0 Capture Volume"
|
|
+ CaptureSwitch "Dmic0 Capture Switch"
|
|
+ }
|
|
+}
|
|
diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf
|
|
index 2ba44be..ec8b01e 100644
|
|
--- a/ucm2/sof-soundwire/sof-soundwire.conf
|
|
+++ b/ucm2/sof-soundwire/sof-soundwire.conf
|
|
@@ -11,6 +11,7 @@ Define {
|
|
SpeakerAmps1 "0"
|
|
HeadsetCodec1 ""
|
|
MicCodec1 ""
|
|
+ Mics1 "0"
|
|
}
|
|
|
|
DefineRegex {
|
|
@@ -34,6 +35,10 @@ DefineRegex {
|
|
Regex " mic:([a-z0-9]+)"
|
|
String "${CardComponents}"
|
|
}
|
|
+ Mics {
|
|
+ Regex " cfg-mics:([1-9][0-9]*)"
|
|
+ String "${CardComponents}"
|
|
+ }
|
|
}
|
|
|
|
If.hs_init {
|
|
--
|
|
2.29.2
|
|
|