conf/ucm: Add dual HD-audio codecs config for Lenovo

Some recent Lenovo laptops have dual codecs and we need to switch them
accordingly.  The kernel side already contains a fix and gives the
unique longname string for identifying the board, and here we hook up
the corresponding UCM profile.

The profile was corrected and tested by Hui Wang on Lenovo p520.

Tested-by: Kailang <kailang@realtek.com>
Tested-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2017-12-05 14:53:11 +01:00
parent 91896be6bc
commit b7e56af82a
5 changed files with 156 additions and 0 deletions

View file

@ -716,6 +716,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
src/conf/ucm/DAISY-I2S/Makefile \
src/conf/ucm/DB410c/Makefile \
src/conf/ucm/GoogleNyan/Makefile \
src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile \
src/conf/ucm/PandaBoard/Makefile \
src/conf/ucm/PandaBoardES/Makefile \
src/conf/ucm/PAZ00/Makefile \

View file

@ -0,0 +1,5 @@
Comment "Lenovo laptop with dual HD-audio codecs"
SectionUseCase."HiFi" {
File "HiFi.conf"
Comment "Default"
}

View file

@ -0,0 +1,145 @@
SectionVerb {
Value {
TQ "HiFi"
}
EnableSequence [
cdev "hw:PCH"
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"
]
DisableSequence [
cdev "hw:PCH"
cset "name='Front Playback Volume' 0"
cset "name='Front Playback Switch' off"
cset "name='Rear-Panel Capture Volume' 0"
cset "name='Rear-Panel Capture Switch' off"
]
}
SectionDevice."Speaker" {
Comment "Speaker"
Value {
PlaybackChannels "2"
PlaybackPCM "hw:PCH,4"
}
ConflictingDevice [
"Headphone"
]
EnableSequence [
cdev "hw:PCH"
cset "name='Speaker Playback Switch' on"
cset "name='Speaker Playback Volume' 100%"
]
DisableSequence [
cdev "hw:PCH"
cset "name='Speaker Playback Volume' 0"
cset "name='Speaker Playback Switch' off"
]
}
SectionDevice."LineOut" {
Comment "Line Out"
Value {
PlaybackChannels "2"
PlaybackPCM "hw:PCH,0"
JackControl "Line Out Jack"
JackHWMute "Speaker"
}
}
SectionDevice."Headphone" {
Comment "Headphone"
Value {
PlaybackChannels "2"
PlaybackPCM "hw:PCH,4"
JackControl "Front Headphone Jack"
JackHWMute "Speaker"
}
ConflictingDevice [
"Speaker"
]
EnableSequence [
cdev "hw:PCH"
cset "name='Headphone Playback Switch' on"
cset "name='Headphone Playback Volume' 100%"
]
DisableSequence [
cdev "hw:PCH"
cset "name='Headphone Playback Volume' 0"
cset "name='Headphone Playback Switch' off"
]
}
SectionDevice."LineIn" {
Comment "Rear Line In"
Value {
CaptureChannels "2"
CapturePCM "hw:PCH,0"
JackControl "Line Jack"
}
ConflictingDevice [
"RearMic"
]
EnableSequence [
cdev "hw:PCH"
cset "name='Input Source' Line"
]
}
SectionDevice."RearMic" {
Comment "Rear Microphone"
Value {
CaptureChannels "2"
CapturePCM "hw:PCH,0"
# CapturePriority "150"
JackHWMute "LineIn"
}
ConflictingDevice [
"LineIn"
]
EnableSequence [
cdev "hw:PCH"
cset "name='Input Source' Rear Mic"
]
}
SectionDevice."FrontMic" {
Comment "Front Microphone"
Value {
CaptureChannels "2"
CapturePCM "hw:PCH,4"
JackControl "Front Mic Jack"
}
EnableSequence [
cdev "hw:PCH"
cset "name='Front-Panel Capture Volume' 100%"
cset "name='Front-Panel Capture Switch' on"
]
DisableSequence [
cdev "hw:PCH"
cset "name='Front-Panel Capture Volume' 0"
cset "name='Front-Panel Capture Switch' off"
]
}

View file

@ -0,0 +1,4 @@
alsaconfigdir = @ALSA_CONFIG_DIR@
ucmdir = $(alsaconfigdir)/ucm/HDAudio-Lenovo-DualCodecs
ucm_DATA = HDAudio-Lenovo-DualCodecs.conf HiFi.conf
EXTRA_DIST = $(ucm_DATA)

View file

@ -6,6 +6,7 @@ chtrt5645 \
DAISY-I2S \
DB410c \
GoogleNyan \
HDAudio-Lenovo-DualCodecs \
PandaBoard \
PandaBoardES \
PAZ00 \