]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
codecs: wcd939x: Add wcd939x configs
authorNeil Armstrong <neil.armstrong@linaro.org>
Mon, 4 Dec 2023 10:58:04 +0000 (11:58 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 29 Jan 2024 12:47:09 +0000 (13:47 +0100)
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>
ucm2/codecs/wcd939x/AnalogMic1EnableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/AnalogMic3EnableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/AnalogMic4EnableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/AnalogMic5EnableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/AnalogMicDisableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/DefaultEnableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/HeadphoneDisableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/HeadphoneEnableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/HeadphoneMicDisableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/HeadphoneMicEnableSeq.conf [new file with mode: 0644]
ucm2/codecs/wcd939x/init.conf [new file with mode: 0644]

diff --git a/ucm2/codecs/wcd939x/AnalogMic1EnableSeq.conf b/ucm2/codecs/wcd939x/AnalogMic1EnableSeq.conf
new file mode 100644 (file)
index 0000000..ed51c68
--- /dev/null
@@ -0,0 +1,7 @@
+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"
+]
diff --git a/ucm2/codecs/wcd939x/AnalogMic3EnableSeq.conf b/ucm2/codecs/wcd939x/AnalogMic3EnableSeq.conf
new file mode 100644 (file)
index 0000000..b104bd6
--- /dev/null
@@ -0,0 +1,7 @@
+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"
+]
diff --git a/ucm2/codecs/wcd939x/AnalogMic4EnableSeq.conf b/ucm2/codecs/wcd939x/AnalogMic4EnableSeq.conf
new file mode 100644 (file)
index 0000000..2c5d021
--- /dev/null
@@ -0,0 +1,7 @@
+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"
+]
diff --git a/ucm2/codecs/wcd939x/AnalogMic5EnableSeq.conf b/ucm2/codecs/wcd939x/AnalogMic5EnableSeq.conf
new file mode 100644 (file)
index 0000000..fd45b6e
--- /dev/null
@@ -0,0 +1,7 @@
+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"
+]
diff --git a/ucm2/codecs/wcd939x/AnalogMicDisableSeq.conf b/ucm2/codecs/wcd939x/AnalogMicDisableSeq.conf
new file mode 100644 (file)
index 0000000..e002bb8
--- /dev/null
@@ -0,0 +1,5 @@
+DisableSequence [
+       cset "name='ADC1_MIXER Switch' 0"
+       cset "name='ADC1 MUX' CH1_AMIC_DISABLE"
+       cset "name='ADC1 Switch' 0"
+]
diff --git a/ucm2/codecs/wcd939x/DefaultEnableSeq.conf b/ucm2/codecs/wcd939x/DefaultEnableSeq.conf
new file mode 100644 (file)
index 0000000..5da6717
--- /dev/null
@@ -0,0 +1,4 @@
+EnableSequence [
+       cset "name='HPHR Volume' 20"
+       cset "name='HPHL Volume' 20"
+]
diff --git a/ucm2/codecs/wcd939x/HeadphoneDisableSeq.conf b/ucm2/codecs/wcd939x/HeadphoneDisableSeq.conf
new file mode 100644 (file)
index 0000000..37b1faf
--- /dev/null
@@ -0,0 +1,9 @@
+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"
+]
diff --git a/ucm2/codecs/wcd939x/HeadphoneEnableSeq.conf b/ucm2/codecs/wcd939x/HeadphoneEnableSeq.conf
new file mode 100644 (file)
index 0000000..dd8260b
--- /dev/null
@@ -0,0 +1,9 @@
+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"
+]
diff --git a/ucm2/codecs/wcd939x/HeadphoneMicDisableSeq.conf b/ucm2/codecs/wcd939x/HeadphoneMicDisableSeq.conf
new file mode 100644 (file)
index 0000000..05e3d77
--- /dev/null
@@ -0,0 +1,6 @@
+DisableSequence [
+       cset "name='MBHC Switch' 0"
+       cset "name='ADC2_MIXER Switch' 0"
+       cset "name='ADC2 MUX' CH2_AMIC_DISABLE"
+       cset "name='ADC2 Switch' 0"
+]
diff --git a/ucm2/codecs/wcd939x/HeadphoneMicEnableSeq.conf b/ucm2/codecs/wcd939x/HeadphoneMicEnableSeq.conf
new file mode 100644 (file)
index 0000000..b421c90
--- /dev/null
@@ -0,0 +1,8 @@
+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"
+]
diff --git a/ucm2/codecs/wcd939x/init.conf b/ucm2/codecs/wcd939x/init.conf
new file mode 100644 (file)
index 0000000..9fb98aa
--- /dev/null
@@ -0,0 +1,18 @@
+# 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
+               }
+       }
+}
+