Add UCM2 configs for the Qualcomm WCD939x codecs:
- Analog Microphones
- Headphones Speaker and Microphone
Linux accepted Codec patchset:
https://lore.kernel.org/all/
20231219-topic-sm8650-upstream-wcd939x-codec-v4-0-
1c3bbff2d7ab@linaro.org/
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/390
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
--- /dev/null
+EnableSequence [
+ cset "name='ADC1_MIXER Switch' 1"
+ cset "name='ADC1 MUX' CH1_AMIC1"
+ cset "name='ADC1 Switch' 1"
+ cset "name='ADC1 Volume' 10"
+ cset "name='TX0 MODE' ADC_ULP"
+]
--- /dev/null
+EnableSequence [
+ cset "name='ADC1_MIXER Switch' 1"
+ cset "name='ADC1 MUX' CH1_AMIC3"
+ cset "name='ADC1 Switch' 1"
+ cset "name='ADC1 Volume' 10"
+ cset "name='TX0 MODE' ADC_ULP"
+]
--- /dev/null
+EnableSequence [
+ cset "name='ADC1_MIXER Switch' 1"
+ cset "name='ADC1 MUX' CH1_AMIC4"
+ cset "name='ADC1 Switch' 1"
+ cset "name='ADC1 Volume' 10"
+ cset "name='TX0 MODE' ADC_ULP"
+]
--- /dev/null
+EnableSequence [
+ cset "name='ADC1_MIXER Switch' 1"
+ cset "name='ADC1 MUX' CH1_AMIC5"
+ cset "name='ADC1 Switch' 1"
+ cset "name='ADC1 Volume' 10"
+ cset "name='TX0 MODE' ADC_ULP"
+]
--- /dev/null
+DisableSequence [
+ cset "name='ADC1_MIXER Switch' 0"
+ cset "name='ADC1 MUX' CH1_AMIC_DISABLE"
+ cset "name='ADC1 Switch' 0"
+]
--- /dev/null
+EnableSequence [
+ cset "name='HPHR Volume' 20"
+ cset "name='HPHL Volume' 20"
+]
--- /dev/null
+DisableSequence [
+ cset "name='HPHL_RDAC Switch' 0"
+ cset "name='HPHR_RDAC Switch' 0"
+ cset "name='HPHL_COMP Switch' 0"
+ cset "name='HPHR_COMP Switch' 0"
+ cset "name='HPHL Switch' 0"
+ cset "name='HPHR Switch' 0"
+ cset "name='CLSH Switch' 0"
+]
--- /dev/null
+EnableSequence [
+ cset "name='HPHL_RDAC Switch' 1"
+ cset "name='HPHR_RDAC Switch' 1"
+ cset "name='HPHR_COMP Switch' 1"
+ cset "name='HPHL_COMP Switch' 1"
+ cset "name='HPHL Switch' 1"
+ cset "name='HPHR Switch' 1"
+ cset "name='CLSH Switch' 1"
+]
--- /dev/null
+DisableSequence [
+ cset "name='MBHC Switch' 0"
+ cset "name='ADC2_MIXER Switch' 0"
+ cset "name='ADC2 MUX' CH2_AMIC_DISABLE"
+ cset "name='ADC2 Switch' 0"
+]
--- /dev/null
+EnableSequence [
+ cset "name='ADC2_MIXER Switch' 1"
+ cset "name='ADC2 MUX' CH2_AMIC2"
+ cset "name='ADC2 Switch' 1"
+ cset "name='ADC2 Volume' 10"
+ cset "name='TX1 MODE' ADC_LP"
+ cset "name='MBHC Switch' 1"
+]
--- /dev/null
+# WCD939X specific volume control settings
+
+BootSequence [
+ cset "name='ADC1 Volume' 12"
+ cset "name='ADC2 Volume' 12"
+]
+
+LibraryConfig.remap.Config {
+
+ ctl.default.map {
+ # Merge two mono controls into one stereo
+ "name='HP Volume'" {
+ "name='HPHL Volume'".vindex.0 0
+ "name='HPHR Volume'".vindex.1 0
+ }
+ }
+}
+