]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
ucm: Add UCM profile for CX2072X codec on Baytrail/Cherrytrail profiles
authorTakashi Iwai <tiwai@suse.de>
Thu, 18 Apr 2019 18:40:18 +0000 (20:40 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 24 Sep 2019 11:13:47 +0000 (13:13 +0200)
Adding a new Conexant CX2072X codec profile and reusing the existing
BYT/CHT platform snippets.

Currently tested only on ASUS E200HA laptop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
ucm/bytcht-cx2072x/HiFi.conf [new file with mode: 0644]
ucm/bytcht-cx2072x/bytcht-cx2072x.conf [new file with mode: 0644]
ucm/codecs/cx2072x/DisableSeq.conf [new file with mode: 0644]
ucm/codecs/cx2072x/EnableSeq.conf [new file with mode: 0644]
ucm/codecs/cx2072x/HeadPhones.conf [new file with mode: 0644]
ucm/codecs/cx2072x/HeadsetMic.conf [new file with mode: 0644]
ucm/codecs/cx2072x/InternalMic.conf [new file with mode: 0644]
ucm/codecs/cx2072x/Speaker.conf [new file with mode: 0644]

diff --git a/ucm/bytcht-cx2072x/HiFi.conf b/ucm/bytcht-cx2072x/HiFi.conf
new file mode 100644 (file)
index 0000000..e9c1f75
--- /dev/null
@@ -0,0 +1,24 @@
+SectionVerb {
+       EnableSequence [
+               cdev "hw:bytchtcx2072x"
+               <platforms/bytcr/PlatformEnableSeq.conf>
+               <codecs/cx2072x/EnableSeq.conf>
+       ]
+
+       DisableSequence [
+               cdev "hw:bytchtcx2072x"
+               <codecs/cx2072x/DisableSeq.conf>
+               <platforms/bytcr/PlatformDisableSeq.conf>
+       ]
+
+       Value {
+               PlaybackPCM "hw:bytchtcx2072x"
+               CapturePCM "hw:bytchtcx2072x"
+       }
+}
+
+<codecs/cx2072x/Speaker.conf>
+<codecs/cx2072x/HeadPhones.conf>
+
+<codecs/cx2072x/InternalMic.conf>
+<codecs/cx2072x/HeadsetMic.conf>
diff --git a/ucm/bytcht-cx2072x/bytcht-cx2072x.conf b/ucm/bytcht-cx2072x/bytcht-cx2072x.conf
new file mode 100644 (file)
index 0000000..fce0445
--- /dev/null
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+       File "HiFi.conf"
+       Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+       cdev "hw:bytchtcx2072x"
+]
diff --git a/ucm/codecs/cx2072x/DisableSeq.conf b/ucm/codecs/cx2072x/DisableSeq.conf
new file mode 100644 (file)
index 0000000..1e3d548
--- /dev/null
@@ -0,0 +1,7 @@
+# Output Configuration
+cset "name='I2S DAC1L Switch' off"
+cset "name='I2S DAC1R Switch' off"
+
+# Input Configuration
+cset "name='I2S ADC1L Switch' off"
+cset "name='I2S ADC1R Switch' off"
diff --git a/ucm/codecs/cx2072x/EnableSeq.conf b/ucm/codecs/cx2072x/EnableSeq.conf
new file mode 100644 (file)
index 0000000..fb8e3fe
--- /dev/null
@@ -0,0 +1,13 @@
+# Disable all inputs / outputs
+cset "name='Ext Spk Switch' off"
+cset "name='Headphone Switch' off"
+cset "name='Headset Mic Switch' off"
+cset "name='Int Mic Switch' off"
+
+# Output Configuration
+cset "name='I2S DAC1L Switch' on"
+cset "name='I2S DAC1R Switch' on"
+
+# Input Configuration
+cset "name='I2S ADC1L Switch' on"
+cset "name='I2S ADC1R Switch' on"
diff --git a/ucm/codecs/cx2072x/HeadPhones.conf b/ucm/codecs/cx2072x/HeadPhones.conf
new file mode 100644 (file)
index 0000000..4e3ff95
--- /dev/null
@@ -0,0 +1,24 @@
+SectionDevice."Headphones" {
+       Comment "Headphones"
+
+       ConflictingDevice [
+               "Speaker"
+       ]
+
+       EnableSequence [
+               cdev "hw:bytchtcx2072x"
+               cset "name='Headphone Switch' on"
+               cset "name='PortA Out En Switch' on"
+       ]
+
+       DisableSequence [
+               cdev "hw:bytchtcx2072x"
+               cset "name='Headphone Switch' off"
+               cset "name='PortA Out En Switch' off"
+       ]
+
+       Value {
+               PlaybackChannels "2"
+               JackControl "Headphone Jack"
+       }
+}
diff --git a/ucm/codecs/cx2072x/HeadsetMic.conf b/ucm/codecs/cx2072x/HeadsetMic.conf
new file mode 100644 (file)
index 0000000..26b8df1
--- /dev/null
@@ -0,0 +1,25 @@
+SectionDevice."HeadsetMic" {
+       Comment "Headset Microphone"
+
+       ConflictingDevice [
+               "InternalMic"
+       ]
+
+       EnableSequence [
+               cdev "hw:bytchtcx2072x"
+               cset "name='Headset Mic Switch' on"
+               cset "name='ADC1 Mux' 'PortD Switch'"
+               cset "name='PortD In En Switch' on"
+       ]
+
+       DisableSequence [
+               cdev "hw:bytchtcx2072x"
+               cset "name='Headset Mic Switch' off"
+               cset "name='PortD In En Switch' off"
+       ]
+
+       Value {
+               CaptureChannels "2"
+               JackControl "Headset Mic Jack"
+       }
+}
diff --git a/ucm/codecs/cx2072x/InternalMic.conf b/ucm/codecs/cx2072x/InternalMic.conf
new file mode 100644 (file)
index 0000000..a3e1453
--- /dev/null
@@ -0,0 +1,24 @@
+SectionDevice."InternalMic" {
+       Comment "Internal Microphone"
+
+       ConflictingDevice [
+               "HeadsetMic"
+       ]
+
+       EnableSequence [
+               cdev "hw:bytchtcx2072x"
+               cset "name='Int Mic Switch' on"
+               cset "name='ADC1 Mux' 'PortC Switch'"
+               cset "name='PortC In En Switch' on"
+       ]
+
+       DisableSequence [
+               cdev "hw:bytchtcx2072x"
+               cset "name='Int Mic Switch' off"
+               cset "name='PortC In En Switch' off"
+       ]
+
+       Value {
+               CaptureChannels "2"
+       }
+}
diff --git a/ucm/codecs/cx2072x/Speaker.conf b/ucm/codecs/cx2072x/Speaker.conf
new file mode 100644 (file)
index 0000000..55e2b2b
--- /dev/null
@@ -0,0 +1,23 @@
+SectionDevice."Speaker" {
+       Comment "Speakers"
+
+       ConflictingDevice [
+               "Headphones"
+       ]
+
+       EnableSequence [
+               cdev "hw:bytchtcx2072x"
+               cset "name='Ext Spk Switch' on"
+               cset "name='PortG Out En Switch' on"
+       ]
+
+       DisableSequence [
+               cdev "hw:bytchtcx2072x"
+               cset "name='Ext Spk Switch' off"
+               cset "name='PortG Out En Switch' off"
+       ]
+
+       Value {
+               PlaybackChannels "2"
+       }
+}