- Add UCM profile for Baytrail CR with RT5460 (bsc#1083195) OBS-URL: https://build.opensuse.org/request/show/581348 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=228
467 lines
12 KiB
Plaintext
467 lines
12 KiB
Plaintext
# Use case Configuration for bytcr-rt5640
|
|
|
|
SectionVerb {
|
|
|
|
EnableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
# 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"
|
|
|
|
# RT5640 default output routing
|
|
cset "name='OUT MIXL DAC L1 Switch' on"
|
|
cset "name='OUT MIXR DAC R1 Switch' on"
|
|
|
|
# uncomment for loopback mic->speakers
|
|
# cset "name='SPOL MIX BST1 Switch' on"
|
|
# cset "name='SPOR MIX BST1 Switch' on"
|
|
|
|
|
|
# uncomment for loopback playback -> capture
|
|
# cset "name='RECMIXL OUT MIXL Switch' on"
|
|
# cset "name='RECMIXR OUT MIXR Switch' on"
|
|
|
|
# uncomment to enable swap between AIF1 and AIF2
|
|
# warning: can only work with SSP0 firmware enabled
|
|
cset "name='SDI select' 0"
|
|
cset "name='DAI select' 0"
|
|
#cset "name='SDI select' 1"
|
|
#cset "name='DAI select' 1"
|
|
|
|
cset "name='DAC2 Playback Switch' on"
|
|
cset "name='DIG MIXL DAC L2 Switch' on"
|
|
|
|
]
|
|
|
|
DisableSequence [
|
|
]
|
|
|
|
# ALSA PCM
|
|
Value {
|
|
# ALSA PCM device for HiFi
|
|
PlaybackPCM "hw:bytcrrt5640"
|
|
CapturePCM "hw:bytcrrt5640"
|
|
}
|
|
}
|
|
|
|
SectionDevice."DigitalMics" {
|
|
Comment "DigitalMics capture, NOT TESTED"
|
|
|
|
ConflictingDevice [
|
|
"IN1-InternalMics"
|
|
"IN3-InternalMics"
|
|
"HeadsetMic"
|
|
]
|
|
|
|
EnableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
cset "name='Stereo ADC2 Mux' DMIC1"
|
|
cset "name='Stereo ADC MIXL ADC2 Switch' on"
|
|
cset "name='Stereo ADC MIXR ADC2 Switch' on"
|
|
cset "name='Internal Mic Switch' on"
|
|
|
|
]
|
|
|
|
DisableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
cset "name='Stereo ADC MIXL ADC2 Switch' off"
|
|
cset "name='Stereo ADC MIXR ADC2 Switch' off"
|
|
cset "name='Internal Mic Switch' off"
|
|
|
|
]
|
|
|
|
Value {
|
|
CaptureChannels 2
|
|
}
|
|
}
|
|
|
|
SectionDevice."HeadsetMic" {
|
|
Comment "Headset Mic capture"
|
|
|
|
ConflictingDevice [
|
|
"IN1-InternalMics"
|
|
"IN3-InternalMics"
|
|
"DigitalMics"
|
|
]
|
|
|
|
EnableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
cset "name='Headset Mic Switch' on"
|
|
|
|
# default for IN2 Boost seems to saturate
|
|
cset "name='IN2 Boost' 1"
|
|
|
|
cset "name='RECMIXL BST2 Switch' on"
|
|
cset "name='RECMIXR BST2 Switch' on"
|
|
|
|
cset "name='Stereo ADC1 Mux' ADC"
|
|
cset "name='Stereo ADC MIXL ADC1 Switch' on"
|
|
cset "name='Stereo ADC MIXR ADC1 Switch' on"
|
|
|
|
]
|
|
|
|
DisableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
cset "name='Stereo ADC MIXL ADC1 Switch' off"
|
|
cset "name='Stereo ADC MIXR ADC1 Switch' off"
|
|
cset "name='Headset Mic Switch' off"
|
|
|
|
]
|
|
|
|
Value {
|
|
CaptureChannels 2
|
|
}
|
|
}
|
|
|
|
SectionDevice."IN1-InternalMics" {
|
|
Comment "Internal IN1 analog Mic capture"
|
|
|
|
ConflictingDevice [
|
|
"DigitalMics"
|
|
"HeadsetMic"
|
|
"IN3-InternalMics"
|
|
]
|
|
|
|
EnableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
cset "name='Internal Mic Switch' on"
|
|
|
|
# default for IN1 Boost seems to saturate
|
|
cset "name='IN1 Boost' 1"
|
|
|
|
cset "name='RECMIXL BST1 Switch' on"
|
|
cset "name='RECMIXR BST1 Switch' on"
|
|
cset "name='RECMIXL BST3 Switch' off"
|
|
cset "name='RECMIXR BST3 Switch' off"
|
|
|
|
cset "name='Stereo ADC1 Mux' ADC"
|
|
cset "name='Stereo ADC MIXL ADC1 Switch' on"
|
|
cset "name='Stereo ADC MIXR ADC1 Switch' on"
|
|
|
|
cset "name='Mono ADC L1 Mux' 1"
|
|
cset "name='Mono ADC R1 Mux' 1"
|
|
|
|
cset "name='Mono ADC MIXL ADC1 Switch' on"
|
|
cset "name='Mono ADC MIXR ADC1 Switch' on"
|
|
|
|
cset "name='Mono ADC Capture Switch' on"
|
|
]
|
|
|
|
DisableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
cset "name='Stereo ADC MIXL ADC1 Switch' off"
|
|
cset "name='Stereo ADC MIXR ADC1 Switch' off"
|
|
cset "name='Internal Mic Switch' off"
|
|
|
|
cset "name='Mono ADC MIXL ADC1 Switch' off"
|
|
cset "name='Mono ADC MIXR ADC1 Switch' off"
|
|
|
|
cset "name='Mono ADC Capture Switch' off"
|
|
|
|
]
|
|
|
|
Value {
|
|
CaptureChannels 2
|
|
}
|
|
}
|
|
|
|
SectionDevice."IN3-InternalMics" {
|
|
Comment "Internal IN3 analog Mic capture"
|
|
|
|
ConflictingDevice [
|
|
"DigitalMics"
|
|
"HeadsetMic"
|
|
"IN1-InternalMics"
|
|
]
|
|
|
|
EnableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
cset "name='Internal Mic Switch' on"
|
|
|
|
# default for IN3 Boost seems to too low
|
|
cset "name='IN3 Boost' 8"
|
|
|
|
cset "name='RECMIXL BST1 Switch' off"
|
|
cset "name='RECMIXR BST1 Switch' off"
|
|
cset "name='RECMIXL BST3 Switch' on"
|
|
cset "name='RECMIXR BST3 Switch' on"
|
|
|
|
cset "name='Stereo ADC1 Mux' ADC"
|
|
cset "name='Stereo ADC MIXL ADC1 Switch' on"
|
|
cset "name='Stereo ADC MIXR ADC1 Switch' on"
|
|
|
|
cset "name='Mono ADC L1 Mux' 1"
|
|
cset "name='Mono ADC R1 Mux' 1"
|
|
cset "name='Mono ADC MIXL ADC1 Switch' on"
|
|
cset "name='Mono ADC MIXR ADC1 Switch' on"
|
|
|
|
cset "name='Mono ADC Capture Switch' on"
|
|
|
|
]
|
|
|
|
DisableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
cset "name='Stereo ADC MIXL ADC1 Switch' off"
|
|
cset "name='Stereo ADC MIXR ADC1 Switch' off"
|
|
cset "name='Internal Mic Switch' off"
|
|
|
|
cset "name='Mono ADC Capture Switch' off"
|
|
]
|
|
|
|
Value {
|
|
CaptureChannels 2
|
|
}
|
|
}
|
|
|
|
SectionDevice."Headphones" {
|
|
Comment "Headphones playback"
|
|
|
|
ConflictingDevice [
|
|
"Speaker"
|
|
]
|
|
|
|
EnableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
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"
|
|
set "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"
|
|
cset "name='Speaker Switch' off"
|
|
cset "name='HP L Playback Switch' on"
|
|
cset "name='HP R Playback Switch' on"
|
|
cset "name='HP Playback Volume' 29"
|
|
|
|
]
|
|
|
|
DisableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
cset "name='Headphone Switch' off"
|
|
cset "name='HP Channel Switch' off"
|
|
cset "name='HP L Playback Switch' off"
|
|
cset "name='HP R Playback Switch' off"
|
|
cset "name='HP Playback Volume' 0"
|
|
]
|
|
|
|
Value {
|
|
PlaybackChannels "2"
|
|
}
|
|
}
|
|
|
|
SectionDevice."Speaker" {
|
|
Comment "Speaker playback"
|
|
|
|
ConflictingDevice [
|
|
"Headphones"
|
|
"MonoSpeaker"
|
|
]
|
|
|
|
EnableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
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"
|
|
cset "name='SPOR MIX SPKVOL R Switch' on"
|
|
cset "name='Speaker Switch' on"
|
|
cset "name='Speaker Channel Switch' on"
|
|
cset "name='Headphone Switch' off"
|
|
cset "name='Speaker L Playback Switch' on"
|
|
cset "name='Speaker R Playback Switch' on"
|
|
cset "name='Speaker Playback Volume' 29"
|
|
|
|
]
|
|
|
|
DisableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
cset "name='Speaker Switch' off"
|
|
cset "name='Speaker Channel Switch' off"
|
|
cset "name='Speaker L Playback Switch' off"
|
|
cset "name='Speaker R Playback Switch' off"
|
|
cset "name='Speaker Playback Volume' 0"
|
|
]
|
|
|
|
Value {
|
|
PlaybackChannels "2"
|
|
}
|
|
}
|
|
|
|
SectionDevice."MonoSpeaker" {
|
|
Comment "MonoSpeaker playback"
|
|
|
|
ConflictingDevice [
|
|
"Headphones"
|
|
"Speaker"
|
|
]
|
|
|
|
EnableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
|
|
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"
|
|
# for mono speaker we apply left on right
|
|
# cset "name='SPOR MIX SPKVOL R Switch' on"
|
|
cset "name='SPOL MIX SPKVOL R Switch' on"
|
|
cset "name='Speaker Switch' on"
|
|
cset "name='Speaker Channel Switch' on"
|
|
cset "name='Headphone Switch' off"
|
|
cset "name='Speaker L Playback Switch' on"
|
|
cset "name='Speaker R Playback Switch' on"
|
|
cset "name='Speaker Playback Volume' 29"
|
|
|
|
]
|
|
|
|
DisableSequence [
|
|
cdev "hw:bytcrrt5640"
|
|
cset "name='Speaker Switch' off"
|
|
cset "name='Speaker Channel Switch' off"
|
|
cset "name='Speaker L Playback Switch' off"
|
|
cset "name='Speaker R Playback Switch' off"
|
|
cset "name='Speaker Playback Volume' 0"
|
|
]
|
|
|
|
Value {
|
|
PlaybackChannels "2"
|
|
}
|
|
}
|
|
|