mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
conf/ucm: Add UCM profile for bytcht-es8316 boards
Add an UCM profile for Bay Trail and Cherry Trail boards with an ES8316 codec. Re-use the existing platform enable and disable sequences for BYT/CHT SST support and add a codecs/es8316 dir with codec specific enable / disable sequences for the various inputs and outputs. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
b4c0a51505
commit
506cca6eaa
15 changed files with 252 additions and 0 deletions
|
|
@ -720,6 +720,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
|
|||
src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/Makefile \
|
||||
src/conf/ucm/broadwell-rt286/Makefile \
|
||||
src/conf/ucm/broxton-rt298/Makefile \
|
||||
src/conf/ucm/bytcht-es8316/Makefile \
|
||||
src/conf/ucm/bytcr-rt5640/Makefile \
|
||||
src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/Makefile \
|
||||
src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/Makefile \
|
||||
|
|
@ -759,6 +760,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
|
|||
src/conf/ucm/tegraalc5632/Makefile \
|
||||
src/conf/ucm/VEYRON-I2S/Makefile \
|
||||
src/conf/ucm/codecs/Makefile \
|
||||
src/conf/ucm/codecs/es8316/Makefile \
|
||||
src/conf/ucm/codecs/nau8824/Makefile \
|
||||
src/conf/ucm/codecs/rt5640/Makefile \
|
||||
src/conf/ucm/codecs/rt5645/Makefile \
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ platforms \
|
|||
ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN \
|
||||
broadwell-rt286 \
|
||||
broxton-rt298 \
|
||||
bytcht-es8316 \
|
||||
bytcr-rt5640 \
|
||||
bytcr-rt5640-mono-spk-dmic1-mic \
|
||||
bytcr-rt5640-mono-spk-in1-mic \
|
||||
|
|
|
|||
26
src/conf/ucm/bytcht-es8316/HiFi.conf
Normal file
26
src/conf/ucm/bytcht-es8316/HiFi.conf
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
SectionVerb {
|
||||
EnableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
<platforms/bytcr/PlatformEnableSeq.conf>
|
||||
<codecs/es8316/EnableSeq.conf>
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
<platforms/bytcr/PlatformDisableSeq.conf>
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:bytchtes8316"
|
||||
CapturePCM "hw:bytchtes8316"
|
||||
}
|
||||
}
|
||||
|
||||
<codecs/es8316/Speaker.conf>
|
||||
<codecs/es8316/MonoSpeaker.conf>
|
||||
<codecs/es8316/HeadPhones.conf>
|
||||
|
||||
<codecs/es8316/IN1-InternalMic.conf>
|
||||
<codecs/es8316/IN2-InternalMic.conf>
|
||||
<codecs/es8316/IN1-HeadsetMic.conf>
|
||||
<codecs/es8316/IN2-HeadsetMic.conf>
|
||||
4
src/conf/ucm/bytcht-es8316/Makefile.am
Normal file
4
src/conf/ucm/bytcht-es8316/Makefile.am
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
alsaconfigdir = @ALSA_CONFIG_DIR@
|
||||
ucmdir = $(alsaconfigdir)/ucm/bytcht-es8316
|
||||
ucm_DATA = bytcht-es8316.conf HiFi.conf
|
||||
EXTRA_DIST = $(ucm_DATA)
|
||||
8
src/conf/ucm/bytcht-es8316/bytcht-es8316.conf
Normal file
8
src/conf/ucm/bytcht-es8316/bytcht-es8316.conf
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
SectionUseCase."HiFi" {
|
||||
File "HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
SectionDefaults [
|
||||
cdev "hw:bytchtes8316"
|
||||
]
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
SUBDIRS=\
|
||||
es8316 \
|
||||
rt5640 \
|
||||
rt5645 \
|
||||
rt5651 \
|
||||
|
|
|
|||
19
src/conf/ucm/codecs/es8316/EnableSeq.conf
Normal file
19
src/conf/ucm/codecs/es8316/EnableSeq.conf
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# Disable all inputs / outputs
|
||||
cset "name='Speaker Switch' off"
|
||||
cset "name='Headphone Switch' off"
|
||||
cset "name='Headset Mic Switch' off"
|
||||
cset "name='Internal Mic Switch' off"
|
||||
|
||||
# Set HP vol to 0 dB (3/3)
|
||||
cset "name='Headphone Playback Volume' 3"
|
||||
# Set HP mixer vol to -6 dB (4/7) louder does not work
|
||||
cset "name='Headphone Mixer Volume' 4"
|
||||
# Set DAC vol to 0 dB (192/192)
|
||||
cset "name='DAC Playback Volume' 192"
|
||||
# Set ADC vold to 0 dB (10/10)
|
||||
cset "name='ADC PGA Gain Volume' 10"
|
||||
|
||||
# Setup muxes / switches
|
||||
cset "name='Left Headphone Mixer Left DAC Switch' on"
|
||||
cset "name='Right Headphone Mixer Right DAC Switch' on"
|
||||
cset "name='ALC Capture Switch' on"
|
||||
24
src/conf/ucm/codecs/es8316/HeadPhones.conf
Normal file
24
src/conf/ucm/codecs/es8316/HeadPhones.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
"MonoSpeaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Headphone Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Headphone Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackChannels "2"
|
||||
JackControl "Headphone Jack"
|
||||
JackHWMute "Speaker MonoSpeaker"
|
||||
}
|
||||
}
|
||||
25
src/conf/ucm/codecs/es8316/IN1-HeadsetMic.conf
Normal file
25
src/conf/ucm/codecs/es8316/IN1-HeadsetMic.conf
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
SectionDevice."HeadsetMic-IN1" {
|
||||
Comment "Headset Microphone on IN1"
|
||||
|
||||
ConflictingDevice [
|
||||
"InternalMic-IN1"
|
||||
"InternalMic-IN2"
|
||||
"HeadsetMic-IN2"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Differential Mux' lin1-rin1"
|
||||
cset "name='Headset Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Headset Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CaptureChannels "2"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
}
|
||||
24
src/conf/ucm/codecs/es8316/IN1-InternalMic.conf
Normal file
24
src/conf/ucm/codecs/es8316/IN1-InternalMic.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
SectionDevice."InternalMic-IN1" {
|
||||
Comment "Internal Microphone on IN1"
|
||||
|
||||
ConflictingDevice [
|
||||
"InternalMic-IN2"
|
||||
"HeadsetMic-IN1"
|
||||
"HeadsetMic-IN2"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Differential Mux' lin1-rin1"
|
||||
cset "name='Internal Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Internal Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CaptureChannels "2"
|
||||
}
|
||||
}
|
||||
25
src/conf/ucm/codecs/es8316/IN2-HeadsetMic.conf
Normal file
25
src/conf/ucm/codecs/es8316/IN2-HeadsetMic.conf
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
SectionDevice."HeadsetMic-IN2" {
|
||||
Comment "Headset Microphone on IN2"
|
||||
|
||||
ConflictingDevice [
|
||||
"InternalMic-IN1"
|
||||
"InternalMic-IN2"
|
||||
"HeadsetMic-IN1"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Differential Mux' lin2-rin2"
|
||||
cset "name='Headset Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Headset Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CaptureChannels "2"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
}
|
||||
24
src/conf/ucm/codecs/es8316/IN2-InternalMic.conf
Normal file
24
src/conf/ucm/codecs/es8316/IN2-InternalMic.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
SectionDevice."InternalMic-IN2" {
|
||||
Comment "Internal Microphone on IN2"
|
||||
|
||||
ConflictingDevice [
|
||||
"InternalMic-IN1"
|
||||
"HeadsetMic-IN1"
|
||||
"HeadsetMic-IN2"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Differential Mux' lin2-rin2"
|
||||
cset "name='Internal Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Internal Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CaptureChannels "2"
|
||||
}
|
||||
}
|
||||
7
src/conf/ucm/codecs/es8316/Makefile.am
Normal file
7
src/conf/ucm/codecs/es8316/Makefile.am
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
alsaconfigdir = @ALSA_CONFIG_DIR@
|
||||
ucmdir = $(alsaconfigdir)/ucm/codecs/es8316
|
||||
ucm_DATA = EnableSeq.conf HeadPhones.conf \
|
||||
IN1-InternalMic.conf IN2-InternalMic.conf \
|
||||
IN1-HeadsetMic.conf IN2-HeadsetMic.conf \
|
||||
Speaker.conf MonoSpeaker.conf
|
||||
EXTRA_DIST = $(ucm_DATA)
|
||||
40
src/conf/ucm/codecs/es8316/MonoSpeaker.conf
Normal file
40
src/conf/ucm/codecs/es8316/MonoSpeaker.conf
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
SectionDevice."MonoSpeaker" {
|
||||
Comment "Mono Speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
|
||||
# BYT/CHT devices with an ES8316 codec use a single speaker
|
||||
# connected between the headhpone LOUT and ROUT pins, expecting
|
||||
# the output to be in a mono differential mode. Presumably this
|
||||
# is done to use the power of both the left and right headphone
|
||||
# amplifier channels to allow the speaker to be louder.
|
||||
#
|
||||
# The ES8316 codec does not have a differential output mode, but
|
||||
# we can emulate one by making both channels output the exact
|
||||
# same signal by setting the "DAC Mono Mix Switch", combined
|
||||
# with setting the "Playback Polarity" control to "R Invert",
|
||||
# which applies a 180 degrees phase inversion to the right chan.
|
||||
cset "name='DAC Mono Mix Switch' on"
|
||||
cset "name='Playback Polarity' 1"
|
||||
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Speaker Switch' off"
|
||||
# DAC settings back to normal for stereo headphones output
|
||||
cset "name='Playback Polarity' 0"
|
||||
cset "name='DAC Mono Mix Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackChannels "2"
|
||||
}
|
||||
}
|
||||
22
src/conf/ucm/codecs/es8316/Speaker.conf
Normal file
22
src/conf/ucm/codecs/es8316/Speaker.conf
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
SectionDevice."Speaker" {
|
||||
Comment "Speakers"
|
||||
|
||||
ConflictingDevice [
|
||||
"MonoSpeaker"
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cdev "hw:bytchtes8316"
|
||||
cset "name='Speaker Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackChannels "2"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue