Accepting request 603189 from home:tiwai:branches:multimedia:libs
- Backport UCM fix and new profiles from upstream (bsc#1091678): 0001-ucm-adding-the-folder-of-card_long_name-when-finding.patch 0002-conf-ucm-increase-the-input-volume-for-LineIn.patch 0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch 0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch 0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch 0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch 0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch 0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch OBS-URL: https://build.opensuse.org/request/show/603189 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=233
This commit is contained in:
parent
5829d30c53
commit
c45adc86c9
@ -0,0 +1,52 @@
|
||||
From 181f8e251bc05832f9c9401544e680ea0572a2e3 Mon Sep 17 00:00:00 2001
|
||||
From: Hui Wang <hui.wang@canonical.com>
|
||||
Date: Wed, 2 May 2018 14:08:05 +0800
|
||||
Subject: [PATCH] ucm: adding the folder of card_long_name when finding verb
|
||||
conf file
|
||||
|
||||
The board configuration file and verb conf file are allowed to be
|
||||
in the folder named of card_long_name, so when finding the verb conf
|
||||
file, we need to check if it is in the folder of card_long_name or
|
||||
card_name.
|
||||
|
||||
Signed-off-by: Hui Wang <hui.wang@canonical.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/ucm/parser.c | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/parser.c b/src/ucm/parser.c
|
||||
index 2d76152ff6e1..219edb9691a6 100644
|
||||
--- a/src/ucm/parser.c
|
||||
+++ b/src/ucm/parser.c
|
||||
@@ -1056,6 +1056,7 @@ static int parse_verb_file(snd_use_case_mgr_t *uc_mgr,
|
||||
char filename[MAX_FILE];
|
||||
char *env = getenv(ALSA_CONFIG_UCM_VAR);
|
||||
int err;
|
||||
+ char *folder_name;
|
||||
|
||||
/* allocate verb */
|
||||
verb = calloc(1, sizeof(struct use_case_verb));
|
||||
@@ -1082,12 +1083,17 @@ static int parse_verb_file(snd_use_case_mgr_t *uc_mgr,
|
||||
}
|
||||
|
||||
/* open Verb file for reading */
|
||||
+ if (!strncmp(uc_mgr->conf_file_name, uc_mgr->card_long_name, MAX_CARD_LONG_NAME))
|
||||
+ folder_name = uc_mgr->card_long_name;
|
||||
+ else
|
||||
+ folder_name = uc_mgr->card_name;
|
||||
+
|
||||
if (env)
|
||||
snprintf(filename, sizeof(filename), "%s/%s/%s",
|
||||
- env, uc_mgr->card_name, file);
|
||||
+ env, folder_name, file);
|
||||
else
|
||||
snprintf(filename, sizeof(filename), "%s/ucm/%s/%s",
|
||||
- snd_config_topdir(), uc_mgr->card_name, file);
|
||||
+ snd_config_topdir(), folder_name, file);
|
||||
filename[sizeof(filename)-1] = '\0';
|
||||
|
||||
err = uc_mgr_config_load(filename, &cfg);
|
||||
--
|
||||
2.16.3
|
||||
|
29
0002-conf-ucm-increase-the-input-volume-for-LineIn.patch
Normal file
29
0002-conf-ucm-increase-the-input-volume-for-LineIn.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 81db276f8c2235adc83e9698b0174265f6482655 Mon Sep 17 00:00:00 2001
|
||||
From: Hui Wang <hui.wang@canonical.com>
|
||||
Date: Wed, 2 May 2018 14:08:06 +0800
|
||||
Subject: [PATCH] conf/ucm: increase the input volume for LineIn
|
||||
|
||||
Otherwise, the boost value is 0, and the sound captured from that
|
||||
LineIn jack is too weak for users.
|
||||
|
||||
Signed-off-by: Hui Wang <hui.wang@canonical.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf b/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf
|
||||
index 509678964f3f..ece780da146d 100644
|
||||
--- a/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf
|
||||
+++ b/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf
|
||||
@@ -99,6 +99,7 @@ SectionDevice."LineIn" {
|
||||
EnableSequence [
|
||||
cdev "hw:PCH"
|
||||
cset "name='Input Source' Line"
|
||||
+ cset "name='Line Boost Volume' 3"
|
||||
]
|
||||
}
|
||||
|
||||
--
|
||||
2.16.3
|
||||
|
239
0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch
Normal file
239
0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch
Normal file
@ -0,0 +1,239 @@
|
||||
From f7c38c29d1be8bab9dd4f406aea3b0e9151c1c06 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Date: Sat, 28 Apr 2018 21:51:56 +0200
|
||||
Subject: [PATCH] conf/ucm: chtrt5645: Cleanup and playback fixes
|
||||
|
||||
Apply cleanup and playback fixes changes from:
|
||||
https://github.com/plbossart/UCM.git
|
||||
|
||||
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
[hdegoede@redhat.com: Modify commit msg and paths for merging into alsa-lib]
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/conf/ucm/chtrt5645/HiFi.conf | 157 ++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 129 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/src/conf/ucm/chtrt5645/HiFi.conf b/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
index 0c2c83cc72b1..f63392d476ed 100644
|
||||
--- a/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
+++ b/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
@@ -11,51 +11,146 @@ SectionVerb {
|
||||
EnableSequence [
|
||||
cdev "hw:chtrt5645"
|
||||
|
||||
- # Enable audio output path
|
||||
- cset "name='codec_out1 mix 0 pcm0_in Switch' on"
|
||||
- cset "name='media0_out mix 0 media1_in Switch' on"
|
||||
+ # media mixer settings
|
||||
+ # compress
|
||||
+ cset "name='media0_in Gain 0 Switch' on"
|
||||
+ cset "name='media0_in Gain 0 Volume' 0"
|
||||
|
||||
- cset "name='media1_in Gain 0 Ramp Delay' 50"
|
||||
+ # normal
|
||||
cset "name='media1_in Gain 0 Switch' on"
|
||||
- cset "name='media1_in Gain 0 Volume' 80% 80%"
|
||||
+ cset "name='media1_in Gain 0 Volume' 0"
|
||||
+ # swm loopback
|
||||
+ cset "name='media2_in Gain 0 Switch' off"
|
||||
+ cset "name='media2_in Gain 0 Volume' 0%"
|
||||
+ # deep buffer
|
||||
+ cset "name='media3_in Gain 0 Switch' on"
|
||||
+ cset "name='media3_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ cset "name='media0_out mix 0 media0_in Switch' on"
|
||||
+ cset "name='media0_out mix 0 media1_in Switch' on"
|
||||
+ cset "name='media0_out mix 0 media2_in Switch' off"
|
||||
+ cset "name='media0_out mix 0 media3_in Switch' on"
|
||||
+
|
||||
+ cset "name='media1_out mix 0 media0_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media1_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media2_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media3_in Switch' off"
|
||||
|
||||
- cset "name='pcm0_in Gain 0 Ramp Delay' 50"
|
||||
cset "name='pcm0_in Gain 0 Switch' on"
|
||||
- cset "name='pcm0_in Gain 0 Volume' 80% 80%"
|
||||
+ cset "name='pcm0_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ cset "name='pcm1_in Gain 0 Switch' off"
|
||||
+ cset "name='pcm1_in Gain 0 Volume' 0%"
|
||||
+
|
||||
+ # codec0_out settings (used if ssp2 is connected to aif1)
|
||||
+ cset "name='codec_out0 mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 pcm0_in Switch' on"
|
||||
+ cset "name='codec_out0 mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='codec_out0 Gain 0 Switch' on"
|
||||
+ cset "name='codec_out0 Gain 0 Volume' 0"
|
||||
+
|
||||
+ # modem_out settings (used if ssp0 is connected to aif2)
|
||||
+ cset "name='modem_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='modem_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='modem_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 pcm0_in Switch' on"
|
||||
+ cset "name='modem_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='modem_out Gain 0 Switch' on"
|
||||
+ cset "name='modem_out Gain 0 Volume' 0"
|
||||
+
|
||||
+ # input settings
|
||||
+ # pcm1_out settings
|
||||
+
|
||||
+ # input used when SSP2 is connected
|
||||
+ cset "name='codec_in0 Gain 0 Switch' on"
|
||||
+ cset "name='codec_in0 Gain 0 Volume' 0"
|
||||
|
||||
- cset "name='codec_out1 Gain 0 Ramp Delay' 50"
|
||||
- cset "name='codec_out1 Gain 0 Switch' on"
|
||||
- cset "name='codec_out1 Gain 0 Volume' 70% 70%"
|
||||
+ # input used when SSP0 is connected
|
||||
+ cset "name='modem_in Gain 0 Switch' on"
|
||||
+ cset "name='modem_in Gain 0 Volume' 0"
|
||||
|
||||
- # Enable audio input path
|
||||
- cset "name='pcm1_out mix 0 media_loop2_in Switch' on"
|
||||
- cset "name='media_loop2_out mix 0 codec_in0 Switch' on"
|
||||
+ cset "name='pcm1_out mix 0 codec_in0 Switch' on"
|
||||
+ cset "name='pcm1_out mix 0 modem_in Switch' on"
|
||||
+ cset "name='pcm1_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 sprot_loop_in Switch' off"
|
||||
|
||||
- cset "name='codec_in0 Gain 0 Ramp Delay' 50"
|
||||
- cset "name='codec_in0 Gain 0 Switch' on"
|
||||
- cset "name='codec_in0 Gain 0 Volume' 80% 80%"
|
||||
+ cset "name='pcm1_out Gain 0 Switch' on"
|
||||
+ cset "name='pcm1_out Gain 0 Volume' 0"
|
||||
|
||||
- cset "name='media_loop2_out Gain 0 Ramp Delay' 50"
|
||||
- cset "name='media_loop2_out Gain 0 Switch' on"
|
||||
- cset "name='media_loop2_out Gain 0 Volume' 80% 80%"
|
||||
+ # disable codec_out1
|
||||
+ cset "name='codec_out1 mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='codec_out1 Gain 0 Switch' off"
|
||||
+ cset "name='codec_out1 Gain 0 Volume' 0%"
|
||||
|
||||
- cset "name='pcm1_out Gain 0 Ramp Delay' 50"
|
||||
- cset "name='pcm1_out Gain 0 Switch' on"
|
||||
- cset "name='pcm1_out Gain 0 Volume' 80% 80%"
|
||||
+ # disable codec_in1
|
||||
+ cset "name='codec_in1 Gain 0 Switch' off"
|
||||
+ cset "name='codec_in1 Gain 0 Volume' 0%"
|
||||
+
|
||||
+ # disable all loops
|
||||
+ cset "name='media_loop1_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ cset "name='media_loop2_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ cset "name='sprot_loop_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off"
|
||||
|
||||
# Output Configuration
|
||||
- cset "name='DAC L2 Mux' 'IF1 DAC'"
|
||||
- cset "name='DAC R2 Mux' 'IF1 DAC'"
|
||||
+ cset "name='DAC1 L Mux' IF1 DAC"
|
||||
+ cset "name='DAC1 R Mux' IF1 DAC"
|
||||
+ cset "name='DAC1 MIXL DAC1 Switch' 1"
|
||||
+ cset "name='DAC1 MIXR DAC1 Switch' 1"
|
||||
+ cset "name='Stereo DAC MIXL DAC L1 Switch' 1"
|
||||
+ cset "name='Stereo DAC MIXR DAC R1 Switch' 1"
|
||||
+
|
||||
+ cset "name='DAC L2 Mux' IF2 DAC"
|
||||
+ cset "name='DAC R2 Mux' IF2 DAC"
|
||||
cset "name='Mono DAC MIXL DAC L2 Switch' on"
|
||||
cset "name='Mono DAC MIXR DAC R2 Switch' on"
|
||||
cset "name='DAC2 Playback Switch' on"
|
||||
|
||||
+ cset "name='HPOVOL MIXL DAC1 Switch' on"
|
||||
+ cset "name='HPOVOL MIXR DAC1 Switch' on"
|
||||
cset "name='HPOVOL MIXL DAC2 Switch' on"
|
||||
cset "name='HPOVOL MIXR DAC2 Switch' on"
|
||||
cset "name='HPO MIX HPVOL Switch' on"
|
||||
cset "name='HPOVOL L Switch' on"
|
||||
cset "name='HPOVOL R Switch' on"
|
||||
|
||||
+ cset "name='SPK MIXL DAC L1 Switch' on"
|
||||
+ cset "name='SPK MIXR DAC R1 Switch' on"
|
||||
cset "name='SPK MIXL DAC L2 Switch' on"
|
||||
cset "name='SPK MIXR DAC R2 Switch' on"
|
||||
cset "name='SPOL MIX SPKVOL L Switch' on"
|
||||
@@ -105,15 +200,18 @@ SectionDevice."Speaker" {
|
||||
}
|
||||
|
||||
ConflictingDevice [
|
||||
- "Headphone"
|
||||
+ "Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cdev "hw:chtrt5645"
|
||||
|
||||
+ cset "name='Headphone Switch' off"
|
||||
+ cset "name='Headphone Channel Switch' off"
|
||||
+
|
||||
cset "name='Ext Spk Switch' on"
|
||||
cset "name='Speaker Channel Switch' on"
|
||||
- cset "name='Speaker Playback Volume' 39"
|
||||
+ cset "name='Speaker Playback Volume' 31"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
@@ -124,7 +222,7 @@ SectionDevice."Speaker" {
|
||||
]
|
||||
}
|
||||
|
||||
-SectionDevice."Headphone".0 {
|
||||
+SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
Value {
|
||||
@@ -140,9 +238,12 @@ SectionDevice."Headphone".0 {
|
||||
EnableSequence [
|
||||
cdev "hw:chtrt5645"
|
||||
|
||||
+ cset "name='Ext Spk Switch' off"
|
||||
+ cset "name='Speaker Channel Switch' off"
|
||||
+
|
||||
cset "name='Headphone Switch' on"
|
||||
cset "name='Headphone Channel Switch' on"
|
||||
- cset "name='Headphone Playback Volume' 39"
|
||||
+ cset "name='Headphone Playback Volume' 31"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
--
|
||||
2.16.3
|
||||
|
118
0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch
Normal file
118
0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch
Normal file
@ -0,0 +1,118 @@
|
||||
From 4c0d983d7b4402e7275455ac43f39049b45037ea Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Date: Sat, 28 Apr 2018 21:51:57 +0200
|
||||
Subject: [PATCH] conf/ucm: chtrt5645: Microphone recording fixes
|
||||
|
||||
Apply microphone recording changes from:
|
||||
https://github.com/plbossart/UCM.git
|
||||
|
||||
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||||
[hdegoede@redhat.com: Drop non generic DMIC changes]
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/conf/ucm/chtrt5645/HiFi.conf | 50 ++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 41 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/conf/ucm/chtrt5645/HiFi.conf b/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
index f63392d476ed..b97a9c006065 100644
|
||||
--- a/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
+++ b/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
@@ -4,8 +4,8 @@ SectionVerb {
|
||||
TQ "HiFi"
|
||||
|
||||
# ALSA PCM device for HiFi
|
||||
- PlaybackPCM "hw:chtrt5645,0"
|
||||
- CapturePCM "hw:chtrt5645,0"
|
||||
+ PlaybackPCM "hw:chtrt5645"
|
||||
+ CapturePCM "hw:chtrt5645"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
@@ -255,7 +255,7 @@ SectionDevice."Headphones" {
|
||||
}
|
||||
|
||||
SectionDevice."Mic".0 {
|
||||
- Comment "Internal Microphone"
|
||||
+ Comment "Internal Analog Microphones"
|
||||
|
||||
Value {
|
||||
CaptureChannels "2"
|
||||
@@ -266,15 +266,33 @@ SectionDevice."Mic".0 {
|
||||
cdev "hw:chtrt5645"
|
||||
|
||||
cset "name='Int Mic Switch' on"
|
||||
- cset "name='Sto1 ADC MIXL ADC2 Switch' on"
|
||||
- cset "name='Sto1 ADC MIXR ADC2 Switch' on"
|
||||
+
|
||||
+ cset "name='Sto1 ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXR ADC1 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
+
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC2 Switch' off"
|
||||
+
|
||||
+ cset "name='RECMIXL BST1 Switch' on"
|
||||
+ cset "name='RECMIXR BST1 Switch' on"
|
||||
+
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:chtrt5645"
|
||||
|
||||
- cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
- cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' off"
|
||||
+
|
||||
+ cset "name='RECMIXL BST1 Switch' off"
|
||||
+ cset "name='RECMIXR BST1 Switch' off"
|
||||
+
|
||||
cset "name='Int Mic Switch' off"
|
||||
]
|
||||
}
|
||||
@@ -292,19 +310,33 @@ SectionDevice."HSMic".0 {
|
||||
cdev "hw:chtrt5645"
|
||||
|
||||
cset "name='Headset Mic Switch' on"
|
||||
- cset "name='RECMIXL BST1 Switch' on"
|
||||
- cset "name='RECMIXR BST1 Switch' on"
|
||||
+
|
||||
cset "name='Sto1 ADC MIXL ADC1 Switch' on"
|
||||
cset "name='Sto1 ADC MIXR ADC1 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
+
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC2 Switch' off"
|
||||
+
|
||||
+ cset "name='RECMIXL BST1 Switch' on"
|
||||
+ cset "name='RECMIXR BST1 Switch' on"
|
||||
+
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:chtrt5645"
|
||||
|
||||
cset "name='Headset Mic Switch' off"
|
||||
+
|
||||
cset "name='RECMIXL BST1 Switch' off"
|
||||
cset "name='RECMIXR BST1 Switch' off"
|
||||
cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' on"
|
||||
+
|
||||
]
|
||||
}
|
||||
--
|
||||
2.16.3
|
||||
|
109
0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch
Normal file
109
0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch
Normal file
@ -0,0 +1,109 @@
|
||||
From 76bc53e69a12163a86e6746fd3011de6b1652043 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sat, 28 Apr 2018 21:51:58 +0200
|
||||
Subject: [PATCH] conf/ucm: chtrt5645: Fix recording from internal analog
|
||||
microphone
|
||||
|
||||
The internal analog mic switch is called 'Int Analog Mic Switch'
|
||||
(not 'Int Mic Switch') and is connected to BST2 not BST1.
|
||||
|
||||
Also change the analog mic volume levels so that we get better
|
||||
audio / less noise.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
src/conf/ucm/chtrt5645/HiFi.conf | 38 ++++++++++++++++++++++++--------------
|
||||
1 file changed, 24 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/conf/ucm/chtrt5645/HiFi.conf b/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
index b97a9c006065..e81866cf36fc 100644
|
||||
--- a/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
+++ b/src/conf/ucm/chtrt5645/HiFi.conf
|
||||
@@ -160,15 +160,24 @@ SectionVerb {
|
||||
|
||||
# Input Configuration
|
||||
cset "name='Stereo1 DMIC Mux' 0"
|
||||
+ cset "name='Stereo1 ADC1 Mux' 1"
|
||||
cset "name='Stereo1 ADC2 Mux' 1"
|
||||
cset "name='ADC Capture Switch' on"
|
||||
- cset "name='ADC Capture Volume' 31"
|
||||
- cset "name='ADC Boost Capture Volume' 3"
|
||||
- cset "name='Mono ADC Capture Volume' 63"
|
||||
- cset "name='Mono ADC Boost Capture Volume' 2"
|
||||
- cset "name='IN Capture Volume' 63"
|
||||
+ # 55/63
|
||||
+ cset "name='ADC Capture Volume' 55"
|
||||
+ # set ADC Boost to 0/3, higher vals cause a lot of white noise
|
||||
+ cset "name='ADC Boost Capture Volume' 0"
|
||||
+ # 55/63
|
||||
+ cset "name='Mono ADC Capture Volume' 55"
|
||||
+ # 0/3
|
||||
+ cset "name='Mono ADC Boost Capture Volume' 0"
|
||||
+ # 27/31
|
||||
+ cset "name='IN Capture Volume' 27"
|
||||
cset "name='I2S2 Func Switch' on"
|
||||
-
|
||||
+ # 3/12 the headphone mic tends to be quite loud
|
||||
+ cset "name='IN1 Boost' 3"
|
||||
+ # 8/8 the internal analog mic tends to be quite soft
|
||||
+ cset "name='IN2 Boost' 8"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
@@ -243,7 +252,8 @@ SectionDevice."Headphones" {
|
||||
|
||||
cset "name='Headphone Switch' on"
|
||||
cset "name='Headphone Channel Switch' on"
|
||||
- cset "name='Headphone Playback Volume' 31"
|
||||
+ # 25/39 higher values cause crackling on some boards
|
||||
+ cset "name='Headphone Playback Volume' 25"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
@@ -255,7 +265,7 @@ SectionDevice."Headphones" {
|
||||
}
|
||||
|
||||
SectionDevice."Mic".0 {
|
||||
- Comment "Internal Analog Microphones"
|
||||
+ Comment "Internal Analog Microphone"
|
||||
|
||||
Value {
|
||||
CaptureChannels "2"
|
||||
@@ -265,7 +275,7 @@ SectionDevice."Mic".0 {
|
||||
EnableSequence [
|
||||
cdev "hw:chtrt5645"
|
||||
|
||||
- cset "name='Int Mic Switch' on"
|
||||
+ cset "name='Int Analog Mic Switch' on"
|
||||
|
||||
cset "name='Sto1 ADC MIXL ADC1 Switch' on"
|
||||
cset "name='Sto1 ADC MIXR ADC1 Switch' on"
|
||||
@@ -277,8 +287,8 @@ SectionDevice."Mic".0 {
|
||||
cset "name='Mono ADC MIXL ADC2 Switch' off"
|
||||
cset "name='Mono ADC MIXR ADC2 Switch' off"
|
||||
|
||||
- cset "name='RECMIXL BST1 Switch' on"
|
||||
- cset "name='RECMIXR BST1 Switch' on"
|
||||
+ cset "name='RECMIXL BST2 Switch' on"
|
||||
+ cset "name='RECMIXR BST2 Switch' on"
|
||||
|
||||
]
|
||||
|
||||
@@ -290,10 +300,10 @@ SectionDevice."Mic".0 {
|
||||
cset "name='Mono ADC MIXL ADC1 Switch' off"
|
||||
cset "name='Mono ADC MIXR ADC1 Switch' off"
|
||||
|
||||
- cset "name='RECMIXL BST1 Switch' off"
|
||||
- cset "name='RECMIXR BST1 Switch' off"
|
||||
+ cset "name='RECMIXL BST2 Switch' off"
|
||||
+ cset "name='RECMIXR BST2 Switch' off"
|
||||
|
||||
- cset "name='Int Mic Switch' off"
|
||||
+ cset "name='Int Analog Mic Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
--
|
||||
2.16.3
|
||||
|
423
0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch
Normal file
423
0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch
Normal file
@ -0,0 +1,423 @@
|
||||
From c22a7f423ddef2a1376bc84f2aafc0a167192ab6 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sat, 28 Apr 2018 21:51:59 +0200
|
||||
Subject: [PATCH] conf/ucm: chtrt5645: At config for the Asus T100HA
|
||||
|
||||
The Asus T100HA uses a digital mic rather then an analog one, add
|
||||
long-name config specific for the T100HA, which is a copy of the standard
|
||||
chtrt5645 config with the internal analog mic section replaced with one
|
||||
for the digital mic found on the Asus T100HA.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
.../ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf | 5 +
|
||||
.../HiFi.conf | 348 +++++++++++++++++++++
|
||||
.../Makefile.am | 4 +
|
||||
src/conf/ucm/Makefile.am | 1 +
|
||||
5 files changed, 359 insertions(+)
|
||||
create mode 100644 src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf
|
||||
create mode 100644 src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/HiFi.conf
|
||||
create mode 100644 src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/Makefile.am
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5bc1994f6d01..94baf0553ab5 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -717,6 +717,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
|
||||
src/conf/cards/Makefile \
|
||||
src/conf/pcm/Makefile \
|
||||
src/conf/ucm/Makefile \
|
||||
+ src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/Makefile \
|
||||
src/conf/ucm/broadwell-rt286/Makefile \
|
||||
src/conf/ucm/broxton-rt298/Makefile \
|
||||
src/conf/ucm/bytcr-rt5651/Makefile \
|
||||
diff --git a/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf b/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf
|
||||
new file mode 100644
|
||||
index 000000000000..5afe5f0b8670
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf
|
||||
@@ -0,0 +1,5 @@
|
||||
+Comment "Intel SoC Audio Device"
|
||||
+SectionUseCase."HiFi" {
|
||||
+ File "../ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/HiFi.conf"
|
||||
+ Comment "Default"
|
||||
+}
|
||||
diff --git a/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/HiFi.conf b/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/HiFi.conf
|
||||
new file mode 100644
|
||||
index 000000000000..78bf9823cb3b
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/HiFi.conf
|
||||
@@ -0,0 +1,348 @@
|
||||
+SectionVerb {
|
||||
+ # ALSA PCM
|
||||
+ Value {
|
||||
+ TQ "HiFi"
|
||||
+
|
||||
+ # ALSA PCM device for HiFi
|
||||
+ PlaybackPCM "hw:chtrt5645"
|
||||
+ CapturePCM "hw:chtrt5645"
|
||||
+ }
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ # media mixer settings
|
||||
+ # compress
|
||||
+ cset "name='media0_in Gain 0 Switch' on"
|
||||
+ cset "name='media0_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ # normal
|
||||
+ cset "name='media1_in Gain 0 Switch' on"
|
||||
+ cset "name='media1_in Gain 0 Volume' 0"
|
||||
+ # swm loopback
|
||||
+ cset "name='media2_in Gain 0 Switch' off"
|
||||
+ cset "name='media2_in Gain 0 Volume' 0%"
|
||||
+ # deep buffer
|
||||
+ cset "name='media3_in Gain 0 Switch' on"
|
||||
+ cset "name='media3_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ cset "name='media0_out mix 0 media0_in Switch' on"
|
||||
+ cset "name='media0_out mix 0 media1_in Switch' on"
|
||||
+ cset "name='media0_out mix 0 media2_in Switch' off"
|
||||
+ cset "name='media0_out mix 0 media3_in Switch' on"
|
||||
+
|
||||
+ cset "name='media1_out mix 0 media0_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media1_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media2_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media3_in Switch' off"
|
||||
+
|
||||
+ cset "name='pcm0_in Gain 0 Switch' on"
|
||||
+ cset "name='pcm0_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ cset "name='pcm1_in Gain 0 Switch' off"
|
||||
+ cset "name='pcm1_in Gain 0 Volume' 0%"
|
||||
+
|
||||
+ # codec0_out settings (used if ssp2 is connected to aif1)
|
||||
+ cset "name='codec_out0 mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 pcm0_in Switch' on"
|
||||
+ cset "name='codec_out0 mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='codec_out0 Gain 0 Switch' on"
|
||||
+ cset "name='codec_out0 Gain 0 Volume' 0"
|
||||
+
|
||||
+ # modem_out settings (used if ssp0 is connected to aif2)
|
||||
+ cset "name='modem_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='modem_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='modem_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 pcm0_in Switch' on"
|
||||
+ cset "name='modem_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='modem_out Gain 0 Switch' on"
|
||||
+ cset "name='modem_out Gain 0 Volume' 0"
|
||||
+
|
||||
+ # input settings
|
||||
+ # pcm1_out settings
|
||||
+
|
||||
+ # input used when SSP2 is connected
|
||||
+ cset "name='codec_in0 Gain 0 Switch' on"
|
||||
+ cset "name='codec_in0 Gain 0 Volume' 0"
|
||||
+
|
||||
+ # input used when SSP0 is connected
|
||||
+ cset "name='modem_in Gain 0 Switch' on"
|
||||
+ cset "name='modem_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ cset "name='pcm1_out mix 0 codec_in0 Switch' on"
|
||||
+ cset "name='pcm1_out mix 0 modem_in Switch' on"
|
||||
+ cset "name='pcm1_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ cset "name='pcm1_out Gain 0 Switch' on"
|
||||
+ cset "name='pcm1_out Gain 0 Volume' 0"
|
||||
+
|
||||
+ # disable codec_out1
|
||||
+ cset "name='codec_out1 mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='codec_out1 Gain 0 Switch' off"
|
||||
+ cset "name='codec_out1 Gain 0 Volume' 0%"
|
||||
+
|
||||
+ # disable codec_in1
|
||||
+ cset "name='codec_in1 Gain 0 Switch' off"
|
||||
+ cset "name='codec_in1 Gain 0 Volume' 0%"
|
||||
+
|
||||
+ # disable all loops
|
||||
+ cset "name='media_loop1_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ cset "name='media_loop2_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ cset "name='sprot_loop_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ # Output Configuration
|
||||
+ cset "name='DAC1 L Mux' IF1 DAC"
|
||||
+ cset "name='DAC1 R Mux' IF1 DAC"
|
||||
+ cset "name='DAC1 MIXL DAC1 Switch' 1"
|
||||
+ cset "name='DAC1 MIXR DAC1 Switch' 1"
|
||||
+ cset "name='Stereo DAC MIXL DAC L1 Switch' 1"
|
||||
+ cset "name='Stereo DAC MIXR DAC R1 Switch' 1"
|
||||
+
|
||||
+ cset "name='DAC L2 Mux' IF2 DAC"
|
||||
+ cset "name='DAC R2 Mux' IF2 DAC"
|
||||
+ cset "name='Mono DAC MIXL DAC L2 Switch' on"
|
||||
+ cset "name='Mono DAC MIXR DAC R2 Switch' on"
|
||||
+ cset "name='DAC2 Playback Switch' on"
|
||||
+
|
||||
+ cset "name='HPOVOL MIXL DAC1 Switch' on"
|
||||
+ cset "name='HPOVOL MIXR DAC1 Switch' on"
|
||||
+ cset "name='HPOVOL MIXL DAC2 Switch' on"
|
||||
+ cset "name='HPOVOL MIXR DAC2 Switch' on"
|
||||
+ cset "name='HPO MIX HPVOL Switch' on"
|
||||
+ cset "name='HPOVOL L Switch' on"
|
||||
+ cset "name='HPOVOL R Switch' on"
|
||||
+
|
||||
+ cset "name='SPK MIXL DAC L1 Switch' on"
|
||||
+ cset "name='SPK MIXR DAC R1 Switch' on"
|
||||
+ cset "name='SPK MIXL DAC L2 Switch' on"
|
||||
+ cset "name='SPK MIXR DAC R2 Switch' on"
|
||||
+ cset "name='SPOL MIX SPKVOL L Switch' on"
|
||||
+ cset "name='SPOR MIX SPKVOL R Switch' on"
|
||||
+ cset "name='SPKVOL L Switch' on"
|
||||
+ cset "name='SPKVOL R Switch' on"
|
||||
+
|
||||
+ # Input Configuration
|
||||
+ cset "name='Stereo1 DMIC Mux' 0"
|
||||
+ cset "name='Stereo1 ADC1 Mux' 1"
|
||||
+ cset "name='Stereo1 ADC2 Mux' 1"
|
||||
+ cset "name='ADC Capture Switch' on"
|
||||
+ # 55/63
|
||||
+ cset "name='ADC Capture Volume' 55"
|
||||
+ # set ADC Boost to 0/3, higher vals cause a lot of white noise
|
||||
+ cset "name='ADC Boost Capture Volume' 0"
|
||||
+ # 55/63
|
||||
+ cset "name='Mono ADC Capture Volume' 55"
|
||||
+ # 0/3
|
||||
+ cset "name='Mono ADC Boost Capture Volume' 0"
|
||||
+ # 27/31
|
||||
+ cset "name='IN Capture Volume' 27"
|
||||
+ cset "name='I2S2 Func Switch' on"
|
||||
+ # 3/12 the headphone mic tends to be quite loud
|
||||
+ cset "name='IN1 Boost' 3"
|
||||
+ # 8/8 the internal analog mic tends to be quite soft
|
||||
+ cset "name='IN2 Boost' 8"
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ # Disable audio output path
|
||||
+ cset "name='codec_out1 mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='media0_out mix 0 media1_in Switch' off"
|
||||
+
|
||||
+ cset "name='media1_in Gain 0 Switch' off"
|
||||
+ cset "name='pcm0_in Gain 0 Switch' off"
|
||||
+ cset "name='codec_out1 Gain 0 Switch' off"
|
||||
+
|
||||
+ # Disable audio input path
|
||||
+ cset "name='pcm1_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 codec_in0 Switch' off"
|
||||
+
|
||||
+ cset "name='media_loop2_out Gain 0 Switch' off"
|
||||
+ cset "name='pcm1_out Gain 0 Switch' off"
|
||||
+ cset "name='codec_in0 Gain 0 Switch' off"
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+SectionDevice."Speaker" {
|
||||
+ Comment "Speaker"
|
||||
+
|
||||
+ Value {
|
||||
+ PlaybackChannels "2"
|
||||
+ }
|
||||
+
|
||||
+ ConflictingDevice [
|
||||
+ "Headphones"
|
||||
+ ]
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Headphone Switch' off"
|
||||
+ cset "name='Headphone Channel Switch' off"
|
||||
+
|
||||
+ cset "name='Ext Spk Switch' on"
|
||||
+ cset "name='Speaker Channel Switch' on"
|
||||
+ cset "name='Speaker Playback Volume' 31"
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Ext Spk Switch' off"
|
||||
+ cset "name='Speaker Channel Switch' off"
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+SectionDevice."Headphones" {
|
||||
+ Comment "Headphones"
|
||||
+
|
||||
+ Value {
|
||||
+ PlaybackChannels "2"
|
||||
+ JackControl "Headphone Jack"
|
||||
+ JackHWMute "Speaker"
|
||||
+ }
|
||||
+
|
||||
+ ConflictingDevice [
|
||||
+ "Speaker"
|
||||
+ ]
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Ext Spk Switch' off"
|
||||
+ cset "name='Speaker Channel Switch' off"
|
||||
+
|
||||
+ cset "name='Headphone Switch' on"
|
||||
+ cset "name='Headphone Channel Switch' on"
|
||||
+ # 25/39 higher values cause crackling on some boards
|
||||
+ cset "name='Headphone Playback Volume' 25"
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Headphone Switch' off"
|
||||
+ cset "name='Headphone Channel Switch' off"
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+SectionDevice."DMic".0 {
|
||||
+ Comment "Internal Microphone"
|
||||
+
|
||||
+ Value {
|
||||
+ CaptureChannels "2"
|
||||
+ CapturePriority "150"
|
||||
+ }
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Int Mic Switch' on"
|
||||
+
|
||||
+ cset "name='Stereo1 DMIC Mux' DMIC1"
|
||||
+ cset "name='Stereo1 ADC2 Mux' DMIC"
|
||||
+ cset "name='Mono ADC L2 Mux' DMIC"
|
||||
+ cset "name='Mono ADC R2 Mux' DMIC"
|
||||
+
|
||||
+ cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXL ADC2 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXR ADC2 Switch' on"
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXL ADC2 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC2 Switch' on"
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
+ cset "name='Mono ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC2 Switch' off"
|
||||
+ cset "name='Int Mic Switch' off"
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+SectionDevice."HSMic".0 {
|
||||
+ Comment "Headset Microphone"
|
||||
+
|
||||
+ Value {
|
||||
+ CaptureChannels "2"
|
||||
+ JackControl "Headset Mic Jack"
|
||||
+ JackHWMute "DMic"
|
||||
+ }
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Headset Mic Switch' on"
|
||||
+
|
||||
+ cset "name='Sto1 ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXR ADC1 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
+
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC2 Switch' off"
|
||||
+
|
||||
+ cset "name='RECMIXL BST1 Switch' on"
|
||||
+ cset "name='RECMIXR BST1 Switch' on"
|
||||
+
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Headset Mic Switch' off"
|
||||
+
|
||||
+ cset "name='RECMIXL BST1 Switch' off"
|
||||
+ cset "name='RECMIXR BST1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' on"
|
||||
+
|
||||
+ ]
|
||||
+}
|
||||
diff --git a/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/Makefile.am b/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/Makefile.am
|
||||
new file mode 100644
|
||||
index 000000000000..dd8b372a2803
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/Makefile.am
|
||||
@@ -0,0 +1,4 @@
|
||||
+alsaconfigdir = @ALSA_CONFIG_DIR@
|
||||
+ucmdir = $(alsaconfigdir)/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN
|
||||
+ucm_DATA = ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN.conf HiFi.conf
|
||||
+EXTRA_DIST = $(ucm_DATA)
|
||||
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
|
||||
index 3b4f13a880e6..e496ca894e3e 100644
|
||||
--- a/src/conf/ucm/Makefile.am
|
||||
+++ b/src/conf/ucm/Makefile.am
|
||||
@@ -1,4 +1,5 @@
|
||||
SUBDIRS=\
|
||||
+ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN \
|
||||
broadwell-rt286 \
|
||||
broxton-rt298 \
|
||||
bytcr-rt5651 \
|
||||
--
|
||||
2.16.3
|
||||
|
429
0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch
Normal file
429
0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch
Normal file
@ -0,0 +1,429 @@
|
||||
From 5a2df9449d0b17e3579bde60ba48244ba24ea604 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sat, 28 Apr 2018 21:52:00 +0200
|
||||
Subject: [PATCH] conf/ucm: chtrt5645: At config for the Lenovo Ideapad Miix
|
||||
320
|
||||
|
||||
The Lenovo Ideapad Miix 320 uses a digital mic connected to the DMIC2 input
|
||||
(unlike the Asus T100HA which has it connected to the DMIC1 input), add a
|
||||
long-name config specific for the Miix 320, which is a copy of the standard
|
||||
chtrt5645 config with the internal analog mic section replaced with one
|
||||
for a digital mic connected to the DMIC2 input.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
.../HiFi.conf | 350 +++++++++++++++++++++
|
||||
...ENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf | 5 +
|
||||
.../Makefile.am | 4 +
|
||||
src/conf/ucm/Makefile.am | 1 +
|
||||
5 files changed, 361 insertions(+)
|
||||
create mode 100644 src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/HiFi.conf
|
||||
create mode 100644 src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf
|
||||
create mode 100644 src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/Makefile.am
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 94baf0553ab5..3ee989eb32e1 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -729,6 +729,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
|
||||
src/conf/ucm/gpd-win-pocket-rt5645/Makefile \
|
||||
src/conf/ucm/HDAudio-Gigabyte-ALC1220DualCodecs/Makefile \
|
||||
src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile \
|
||||
+ src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/Makefile \
|
||||
src/conf/ucm/PandaBoard/Makefile \
|
||||
src/conf/ucm/PandaBoardES/Makefile \
|
||||
src/conf/ucm/PAZ00/Makefile \
|
||||
diff --git a/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/HiFi.conf b/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/HiFi.conf
|
||||
new file mode 100644
|
||||
index 000000000000..8cc9c7f28f0e
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/HiFi.conf
|
||||
@@ -0,0 +1,350 @@
|
||||
+SectionVerb {
|
||||
+ # ALSA PCM
|
||||
+ Value {
|
||||
+ TQ "HiFi"
|
||||
+
|
||||
+ # ALSA PCM device for HiFi
|
||||
+ PlaybackPCM "hw:chtrt5645"
|
||||
+ CapturePCM "hw:chtrt5645"
|
||||
+ }
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ # media mixer settings
|
||||
+ # compress
|
||||
+ cset "name='media0_in Gain 0 Switch' on"
|
||||
+ cset "name='media0_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ # normal
|
||||
+ cset "name='media1_in Gain 0 Switch' on"
|
||||
+ cset "name='media1_in Gain 0 Volume' 0"
|
||||
+ # swm loopback
|
||||
+ cset "name='media2_in Gain 0 Switch' off"
|
||||
+ cset "name='media2_in Gain 0 Volume' 0%"
|
||||
+ # deep buffer
|
||||
+ cset "name='media3_in Gain 0 Switch' on"
|
||||
+ cset "name='media3_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ cset "name='media0_out mix 0 media0_in Switch' on"
|
||||
+ cset "name='media0_out mix 0 media1_in Switch' on"
|
||||
+ cset "name='media0_out mix 0 media2_in Switch' off"
|
||||
+ cset "name='media0_out mix 0 media3_in Switch' on"
|
||||
+
|
||||
+ cset "name='media1_out mix 0 media0_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media1_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media2_in Switch' off"
|
||||
+ cset "name='media1_out mix 0 media3_in Switch' off"
|
||||
+
|
||||
+ cset "name='pcm0_in Gain 0 Switch' on"
|
||||
+ cset "name='pcm0_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ cset "name='pcm1_in Gain 0 Switch' off"
|
||||
+ cset "name='pcm1_in Gain 0 Volume' 0%"
|
||||
+
|
||||
+ # codec0_out settings (used if ssp2 is connected to aif1)
|
||||
+ cset "name='codec_out0 mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 pcm0_in Switch' on"
|
||||
+ cset "name='codec_out0 mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='codec_out0 mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='codec_out0 Gain 0 Switch' on"
|
||||
+ cset "name='codec_out0 Gain 0 Volume' 0"
|
||||
+
|
||||
+ # modem_out settings (used if ssp0 is connected to aif2)
|
||||
+ cset "name='modem_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='modem_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='modem_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 pcm0_in Switch' on"
|
||||
+ cset "name='modem_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='modem_out mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='modem_out Gain 0 Switch' on"
|
||||
+ cset "name='modem_out Gain 0 Volume' 0"
|
||||
+
|
||||
+ # input settings
|
||||
+ # pcm1_out settings
|
||||
+
|
||||
+ # input used when SSP2 is connected
|
||||
+ cset "name='codec_in0 Gain 0 Switch' on"
|
||||
+ cset "name='codec_in0 Gain 0 Volume' 0"
|
||||
+
|
||||
+ # input used when SSP0 is connected
|
||||
+ cset "name='modem_in Gain 0 Switch' on"
|
||||
+ cset "name='modem_in Gain 0 Volume' 0"
|
||||
+
|
||||
+ cset "name='pcm1_out mix 0 codec_in0 Switch' on"
|
||||
+ cset "name='pcm1_out mix 0 modem_in Switch' on"
|
||||
+ cset "name='pcm1_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='pcm1_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ cset "name='pcm1_out Gain 0 Switch' on"
|
||||
+ cset "name='pcm1_out Gain 0 Volume' 0"
|
||||
+
|
||||
+ # disable codec_out1
|
||||
+ cset "name='codec_out1 mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='codec_out1 mix 0 sprot_loop_in Switch' off"
|
||||
+ cset "name='codec_out1 Gain 0 Switch' off"
|
||||
+ cset "name='codec_out1 Gain 0 Volume' 0%"
|
||||
+
|
||||
+ # disable codec_in1
|
||||
+ cset "name='codec_in1 Gain 0 Switch' off"
|
||||
+ cset "name='codec_in1 Gain 0 Volume' 0%"
|
||||
+
|
||||
+ # disable all loops
|
||||
+ cset "name='media_loop1_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ cset "name='media_loop2_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ cset "name='sprot_loop_out mix 0 codec_in0 Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 codec_in1 Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 pcm1_in Switch' off"
|
||||
+ cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off"
|
||||
+
|
||||
+ # Output Configuration
|
||||
+ cset "name='DAC1 L Mux' IF1 DAC"
|
||||
+ cset "name='DAC1 R Mux' IF1 DAC"
|
||||
+ cset "name='DAC1 MIXL DAC1 Switch' 1"
|
||||
+ cset "name='DAC1 MIXR DAC1 Switch' 1"
|
||||
+ cset "name='Stereo DAC MIXL DAC L1 Switch' 1"
|
||||
+ cset "name='Stereo DAC MIXR DAC R1 Switch' 1"
|
||||
+
|
||||
+ cset "name='DAC L2 Mux' IF2 DAC"
|
||||
+ cset "name='DAC R2 Mux' IF2 DAC"
|
||||
+ cset "name='Mono DAC MIXL DAC L2 Switch' on"
|
||||
+ cset "name='Mono DAC MIXR DAC R2 Switch' on"
|
||||
+ cset "name='DAC2 Playback Switch' on"
|
||||
+
|
||||
+ cset "name='HPOVOL MIXL DAC1 Switch' on"
|
||||
+ cset "name='HPOVOL MIXR DAC1 Switch' on"
|
||||
+ cset "name='HPOVOL MIXL DAC2 Switch' on"
|
||||
+ cset "name='HPOVOL MIXR DAC2 Switch' on"
|
||||
+ cset "name='HPO MIX HPVOL Switch' on"
|
||||
+ cset "name='HPOVOL L Switch' on"
|
||||
+ cset "name='HPOVOL R Switch' on"
|
||||
+
|
||||
+ cset "name='SPK MIXL DAC L1 Switch' on"
|
||||
+ cset "name='SPK MIXR DAC R1 Switch' on"
|
||||
+ cset "name='SPK MIXL DAC L2 Switch' on"
|
||||
+ cset "name='SPK MIXR DAC R2 Switch' on"
|
||||
+ cset "name='SPOL MIX SPKVOL L Switch' on"
|
||||
+ cset "name='SPOR MIX SPKVOL R Switch' on"
|
||||
+ cset "name='SPKVOL L Switch' on"
|
||||
+ cset "name='SPKVOL R Switch' on"
|
||||
+
|
||||
+ # Input Configuration
|
||||
+ cset "name='Stereo1 DMIC Mux' 0"
|
||||
+ cset "name='Stereo1 ADC1 Mux' 1"
|
||||
+ cset "name='Stereo1 ADC2 Mux' 1"
|
||||
+ cset "name='ADC Capture Switch' on"
|
||||
+ # 55/63
|
||||
+ cset "name='ADC Capture Volume' 55"
|
||||
+ # set ADC Boost to 0/3, higher vals cause a lot of white noise
|
||||
+ cset "name='ADC Boost Capture Volume' 0"
|
||||
+ # 55/63
|
||||
+ cset "name='Mono ADC Capture Volume' 55"
|
||||
+ # 0/3
|
||||
+ cset "name='Mono ADC Boost Capture Volume' 0"
|
||||
+ # 27/31
|
||||
+ cset "name='IN Capture Volume' 27"
|
||||
+ cset "name='I2S2 Func Switch' on"
|
||||
+ # 3/12 the headphone mic tends to be quite loud
|
||||
+ cset "name='IN1 Boost' 3"
|
||||
+ # 8/8 the internal analog mic tends to be quite soft
|
||||
+ cset "name='IN2 Boost' 8"
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ # Disable audio output path
|
||||
+ cset "name='codec_out1 mix 0 pcm0_in Switch' off"
|
||||
+ cset "name='media0_out mix 0 media1_in Switch' off"
|
||||
+
|
||||
+ cset "name='media1_in Gain 0 Switch' off"
|
||||
+ cset "name='pcm0_in Gain 0 Switch' off"
|
||||
+ cset "name='codec_out1 Gain 0 Switch' off"
|
||||
+
|
||||
+ # Disable audio input path
|
||||
+ cset "name='pcm1_out mix 0 media_loop2_in Switch' off"
|
||||
+ cset "name='media_loop2_out mix 0 codec_in0 Switch' off"
|
||||
+
|
||||
+ cset "name='media_loop2_out Gain 0 Switch' off"
|
||||
+ cset "name='pcm1_out Gain 0 Switch' off"
|
||||
+ cset "name='codec_in0 Gain 0 Switch' off"
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+SectionDevice."Speaker" {
|
||||
+ Comment "Speaker"
|
||||
+
|
||||
+ Value {
|
||||
+ PlaybackChannels "2"
|
||||
+ }
|
||||
+
|
||||
+ ConflictingDevice [
|
||||
+ "Headphones"
|
||||
+ ]
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Headphone Switch' off"
|
||||
+ cset "name='Headphone Channel Switch' off"
|
||||
+
|
||||
+ cset "name='Ext Spk Switch' on"
|
||||
+ cset "name='Speaker Channel Switch' on"
|
||||
+ cset "name='Speaker Playback Volume' 31"
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Ext Spk Switch' off"
|
||||
+ cset "name='Speaker Channel Switch' off"
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+SectionDevice."Headphones" {
|
||||
+ Comment "Headphones"
|
||||
+
|
||||
+ Value {
|
||||
+ PlaybackChannels "2"
|
||||
+ JackControl "Headphone Jack"
|
||||
+ JackHWMute "Speaker"
|
||||
+ }
|
||||
+
|
||||
+ ConflictingDevice [
|
||||
+ "Speaker"
|
||||
+ ]
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Ext Spk Switch' off"
|
||||
+ cset "name='Speaker Channel Switch' off"
|
||||
+
|
||||
+ cset "name='Headphone Switch' on"
|
||||
+ cset "name='Headphone Channel Switch' on"
|
||||
+ # 25/39 higher values cause crackling on some boards
|
||||
+ cset "name='Headphone Playback Volume' 25"
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Headphone Switch' off"
|
||||
+ cset "name='Headphone Channel Switch' off"
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+SectionDevice."DMic".0 {
|
||||
+ Comment "Internal Microphone"
|
||||
+
|
||||
+ Value {
|
||||
+ CaptureChannels "2"
|
||||
+ CapturePriority "150"
|
||||
+ }
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Int Mic Switch' on"
|
||||
+
|
||||
+ cset "name='Stereo1 DMIC Mux' DMIC2"
|
||||
+ cset "name='Stereo1 ADC2 Mux' DMIC"
|
||||
+ cset "name='Mono DMIC L Mux' DMIC2"
|
||||
+ cset "name='Mono DMIC R Mux' DMIC2"
|
||||
+ cset "name='Mono ADC L2 Mux' DMIC"
|
||||
+ cset "name='Mono ADC R2 Mux' DMIC"
|
||||
+
|
||||
+ cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXL ADC2 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXR ADC2 Switch' on"
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXL ADC2 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC2 Switch' on"
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
+ cset "name='Mono ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC2 Switch' off"
|
||||
+ cset "name='Int Mic Switch' off"
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+SectionDevice."HSMic".0 {
|
||||
+ Comment "Headset Microphone"
|
||||
+
|
||||
+ Value {
|
||||
+ CaptureChannels "2"
|
||||
+ JackControl "Headset Mic Jack"
|
||||
+ JackHWMute "DMic"
|
||||
+ }
|
||||
+
|
||||
+ EnableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Headset Mic Switch' on"
|
||||
+
|
||||
+ cset "name='Sto1 ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXR ADC1 Switch' on"
|
||||
+ cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
+
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXL ADC2 Switch' off"
|
||||
+ cset "name='Mono ADC MIXR ADC2 Switch' off"
|
||||
+
|
||||
+ cset "name='RECMIXL BST1 Switch' on"
|
||||
+ cset "name='RECMIXR BST1 Switch' on"
|
||||
+
|
||||
+ ]
|
||||
+
|
||||
+ DisableSequence [
|
||||
+ cdev "hw:chtrt5645"
|
||||
+
|
||||
+ cset "name='Headset Mic Switch' off"
|
||||
+
|
||||
+ cset "name='RECMIXL BST1 Switch' off"
|
||||
+ cset "name='RECMIXR BST1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
+ cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
+ cset "name='Mono ADC MIXL ADC1 Switch' on"
|
||||
+ cset "name='Mono ADC MIXR ADC1 Switch' on"
|
||||
+
|
||||
+ ]
|
||||
+}
|
||||
diff --git a/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf b/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf
|
||||
new file mode 100644
|
||||
index 000000000000..50bda000a8b1
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf
|
||||
@@ -0,0 +1,5 @@
|
||||
+Comment "Intel SoC Audio Device"
|
||||
+SectionUseCase."HiFi" {
|
||||
+ File "../LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/HiFi.conf"
|
||||
+ Comment "Default"
|
||||
+}
|
||||
diff --git a/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/Makefile.am b/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/Makefile.am
|
||||
new file mode 100644
|
||||
index 000000000000..18963c213b78
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/Makefile.am
|
||||
@@ -0,0 +1,4 @@
|
||||
+alsaconfigdir = @ALSA_CONFIG_DIR@
|
||||
+ucmdir = $(alsaconfigdir)/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216
|
||||
+ucm_DATA = LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216.conf HiFi.conf
|
||||
+EXTRA_DIST = $(ucm_DATA)
|
||||
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
|
||||
index e496ca894e3e..02df25f01b25 100644
|
||||
--- a/src/conf/ucm/Makefile.am
|
||||
+++ b/src/conf/ucm/Makefile.am
|
||||
@@ -11,6 +11,7 @@ GoogleNyan \
|
||||
gpd-win-pocket-rt5645 \
|
||||
HDAudio-Gigabyte-ALC1220DualCodecs \
|
||||
HDAudio-Lenovo-DualCodecs \
|
||||
+LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216 \
|
||||
PandaBoard \
|
||||
PandaBoardES \
|
||||
PAZ00 \
|
||||
--
|
||||
2.16.3
|
||||
|
101
0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch
Normal file
101
0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch
Normal file
@ -0,0 +1,101 @@
|
||||
From 7d68016387137edecb0b06057b39361e5fc0fe84 Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Wed, 2 May 2018 16:23:21 +0200
|
||||
Subject: [PATCH] conf/ucm: Add a UCM profile for Dell WD15 Dock USB-audio
|
||||
|
||||
USB-audio device on Dell WD15 docking station provides two individual
|
||||
PCM streams, one for headphone and another for line out. A UCM
|
||||
profile gives the proper roles for these.
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
src/conf/ucm/Dell-WD15-Dock/Dell-WD15-Dock.conf | 5 +++++
|
||||
src/conf/ucm/Dell-WD15-Dock/HiFi.conf | 26 +++++++++++++++++++++++++
|
||||
src/conf/ucm/Dell-WD15-Dock/Makefile.am | 4 ++++
|
||||
src/conf/ucm/Makefile.am | 1 +
|
||||
5 files changed, 37 insertions(+)
|
||||
create mode 100644 src/conf/ucm/Dell-WD15-Dock/Dell-WD15-Dock.conf
|
||||
create mode 100644 src/conf/ucm/Dell-WD15-Dock/HiFi.conf
|
||||
create mode 100644 src/conf/ucm/Dell-WD15-Dock/Makefile.am
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 3ee989eb32e1..693b5d538436 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -725,6 +725,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
|
||||
src/conf/ucm/chtrt5645-mono-speaker-analog-mic/Makefile \
|
||||
src/conf/ucm/DAISY-I2S/Makefile \
|
||||
src/conf/ucm/DB410c/Makefile \
|
||||
+ src/conf/ucm/Dell-WD15-Dock/Makefile \
|
||||
src/conf/ucm/GoogleNyan/Makefile \
|
||||
src/conf/ucm/gpd-win-pocket-rt5645/Makefile \
|
||||
src/conf/ucm/HDAudio-Gigabyte-ALC1220DualCodecs/Makefile \
|
||||
diff --git a/src/conf/ucm/Dell-WD15-Dock/Dell-WD15-Dock.conf b/src/conf/ucm/Dell-WD15-Dock/Dell-WD15-Dock.conf
|
||||
new file mode 100644
|
||||
index 000000000000..f4f0a8d97e73
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/Dell-WD15-Dock/Dell-WD15-Dock.conf
|
||||
@@ -0,0 +1,5 @@
|
||||
+Comment "USB-audio on Dell WD15 docking station"
|
||||
+SectionUseCase."HiFi" {
|
||||
+ File "HiFi.conf"
|
||||
+ Comment "Default"
|
||||
+}
|
||||
diff --git a/src/conf/ucm/Dell-WD15-Dock/HiFi.conf b/src/conf/ucm/Dell-WD15-Dock/HiFi.conf
|
||||
new file mode 100644
|
||||
index 000000000000..b07f34400086
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/Dell-WD15-Dock/HiFi.conf
|
||||
@@ -0,0 +1,26 @@
|
||||
+SectionDevice."Headphone" {
|
||||
+ Comment "Headphone"
|
||||
+
|
||||
+ Value {
|
||||
+ PlaybackChannels "2"
|
||||
+ PlaybackPCM "hw:WD15Dock,0"
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+SectionDevice."LineOut" {
|
||||
+ Comment "Line Out"
|
||||
+
|
||||
+ Value {
|
||||
+ PlaybackChannels "2"
|
||||
+ PlaybackPCM "hw:WD15Dock,1"
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+SectionDevice."Mic" {
|
||||
+ Comment "Microphone"
|
||||
+
|
||||
+ Value {
|
||||
+ CaptureChannels "2"
|
||||
+ CapturePCM "hw:WD15Dock,0"
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/conf/ucm/Dell-WD15-Dock/Makefile.am b/src/conf/ucm/Dell-WD15-Dock/Makefile.am
|
||||
new file mode 100644
|
||||
index 000000000000..7ab58730dc26
|
||||
--- /dev/null
|
||||
+++ b/src/conf/ucm/Dell-WD15-Dock/Makefile.am
|
||||
@@ -0,0 +1,4 @@
|
||||
+alsaconfigdir = @ALSA_CONFIG_DIR@
|
||||
+ucmdir = $(alsaconfigdir)/ucm/Dell-WD15-Dock
|
||||
+ucm_DATA = Dell-WD15-Dock.conf HiFi.conf
|
||||
+EXTRA_DIST = $(ucm_DATA)
|
||||
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
|
||||
index 02df25f01b25..38fc6b252bcb 100644
|
||||
--- a/src/conf/ucm/Makefile.am
|
||||
+++ b/src/conf/ucm/Makefile.am
|
||||
@@ -7,6 +7,7 @@ chtrt5645 \
|
||||
chtrt5645-mono-speaker-analog-mic \
|
||||
DAISY-I2S \
|
||||
DB410c \
|
||||
+Dell-WD15-Dock \
|
||||
GoogleNyan \
|
||||
gpd-win-pocket-rt5645 \
|
||||
HDAudio-Gigabyte-ALC1220DualCodecs \
|
||||
--
|
||||
2.16.3
|
||||
|
13
alsa.changes
13
alsa.changes
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 2 17:11:29 CEST 2018 - tiwai@suse.de
|
||||
|
||||
- Backport UCM fix and new profiles from upstream (bsc#1091678):
|
||||
0001-ucm-adding-the-folder-of-card_long_name-when-finding.patch
|
||||
0002-conf-ucm-increase-the-input-volume-for-LineIn.patch
|
||||
0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch
|
||||
0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch
|
||||
0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch
|
||||
0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch
|
||||
0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch
|
||||
0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 4 14:14:10 CEST 2018 - tiwai@suse.de
|
||||
|
||||
|
16
alsa.spec
16
alsa.spec
@ -50,6 +50,14 @@ Source34: alsa-init.sh
|
||||
Source40: 50-alsa.conf
|
||||
Source41: install-snd-module
|
||||
# upstream fixes
|
||||
Patch1: 0001-ucm-adding-the-folder-of-card_long_name-when-finding.patch
|
||||
Patch2: 0002-conf-ucm-increase-the-input-volume-for-LineIn.patch
|
||||
Patch3: 0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch
|
||||
Patch4: 0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch
|
||||
Patch5: 0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch
|
||||
Patch6: 0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch
|
||||
Patch7: 0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch
|
||||
Patch8: 0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch
|
||||
# rest suse fixes
|
||||
Source101: chtcx2072x.conf
|
||||
Source102: chtcx2072x-HiFi.conf
|
||||
@ -117,6 +125,14 @@ Architecture.
|
||||
|
||||
%prep
|
||||
%setup -q -n alsa-lib-%{package_version}
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
|
||||
%build
|
||||
export AUTOMAKE_JOBS="%{?_smp_mflags}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user