OSDN Git Service

hda-dsp: add basic ucm config
authorMateusz Gorski <mateusz.gorski@linux.intel.com>
Wed, 18 Mar 2020 10:26:05 +0000 (11:26 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 25 Mar 2020 12:36:45 +0000 (13:36 +0100)
Basic UCM configuration for Intel Skylake SST with HDA DSP generic
machine driver enabling codec playback and capture on both HDA codec
and DMIC ports.

Signed-off-by: Mateusz Gorski <mateusz.gorski@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/hda-dsp/Hdmi1.conf [new file with mode: 0644]
ucm2/hda-dsp/Hdmi2.conf [new file with mode: 0644]
ucm2/hda-dsp/HiFi.conf [new file with mode: 0644]
ucm2/hda-dsp/hda-dsp.conf [new file with mode: 0644]

diff --git a/ucm2/hda-dsp/Hdmi1.conf b/ucm2/hda-dsp/Hdmi1.conf
new file mode 100644 (file)
index 0000000..08fa5dd
--- /dev/null
@@ -0,0 +1,24 @@
+# Usecase for device HDMI1/Display Port stereo playback on Intel cAVS platforms
+# For Audio in HDA mode
+
+SectionDevice."HDMI1" {
+       Comment "HDMI/Display Port 1 Stereo"
+
+       Value {
+               PlaybackPriority 300
+               PlaybackPCM "hw:${CardId},10"
+               If.1 {
+                       Condition {
+                               Type ControlExists
+                               Control "iface=CARD,name='HDMI/DP,pcm=17 Jack'"
+                       }
+                       True {
+                               JackControl "HDMI/DP,pcm=17 Jack"
+                       }
+                       False {
+                               JackControl "HDMI/DP, pcm=17 Jack"
+                       }
+               }
+       }
+}
+
diff --git a/ucm2/hda-dsp/Hdmi2.conf b/ucm2/hda-dsp/Hdmi2.conf
new file mode 100644 (file)
index 0000000..eb168ea
--- /dev/null
@@ -0,0 +1,23 @@
+# Usecase for device HDMI2/Display Port stereo playback on Intel cAVS platforms
+# For Audio in HDA mode
+
+SectionDevice."HDMI2" {
+       Comment "HDMI/Display Port 2 Stereo"
+
+       Value {
+               PlaybackPriority 400
+               PlaybackPCM "hw:${CardId},11"
+               If.1 {
+                       Condition {
+                               Type ControlExists
+                               Control "iface=CARD,name='HDMI/DP,pcm=18 Jack'"
+                       }
+                       True {
+                               JackControl "HDMI/DP,pcm=18 Jack"
+                       }
+                       False {
+                               JackControl "HDMI/DP, pcm=18 Jack"
+                       }
+               }
+       }
+}
diff --git a/ucm2/hda-dsp/HiFi.conf b/ucm2/hda-dsp/HiFi.conf
new file mode 100644 (file)
index 0000000..cdeb215
--- /dev/null
@@ -0,0 +1,96 @@
+# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
+# For Audio in HDA mode on Intel cAVS platforms
+
+SectionVerb {
+
+       EnableSequence [
+               cset "name='mch_cap_out mo mch_cap_in mi Switch' 1"
+       ]
+
+       Value {
+               TQ "HiFi"
+       }
+}
+
+SectionDevice."Headphones" {
+       Comment "Headphones"
+
+       ConflictingDevice [
+               "Speaker"
+       ]
+
+       EnableSequence [
+               cset "name='Headphone Playback Switch' 1,1"
+               cset "name='Speaker Playback Switch' 0,0"
+       ]
+
+       Value {
+               PlaybackPriority 200
+               PlaybackPCM "hw:${CardId},7"
+               PlaybackMixerElem "Headphone"
+               PlaybackMasterElem "Master"
+               PlaybackVolume "Headphone Playback Volume"
+               PlaybackSwitch "Headphone Playback Switch"
+               JackControl "Front Headphone Jack"
+               JackHWMute "Speaker"
+       }
+}
+
+SectionDevice."Speaker" {
+       Comment "Speaker"
+
+       ConflictingDevice [
+               "Headphones"
+       ]
+
+       EnableSequence [
+               cset "name='Headphone Playback Switch' 0,0"
+               cset "name='Speaker Playback Switch' 1,1"
+       ]
+
+       Value {
+               PlaybackPriority 100
+               PlaybackPCM "hw:${CardId},7"
+               PlaybackMixerElem "Speaker"
+               PlaybackMasterElem "Master"
+               PlaybackVolume "Speaker Playback Volume"
+               PlaybackSwitch "Speaker Playback Switch"
+       }
+}
+
+SectionDevice."Headset" {
+       Comment "Headset Microphone"
+
+       ConflictingDevice [
+               "Mic"
+       ]
+
+       EnableSequence [
+               cset "name='media0_out mo codec0_in mi Switch' 1"
+       ]
+
+       Value {
+               CapturePriority 200
+               CapturePCM "hw:${CardId},7"
+       }
+}
+
+SectionDevice."Mic" {
+       Comment "Digital Microphone"
+
+       ConflictingDevice [
+               "Headset"
+       ]
+
+       EnableSequence [
+               cset "name='mch_cap_out mo mch_cap_in mi Switch' 1"
+       ]
+
+       Value {
+               CapturePriority 100
+               CapturePCM "hw:${CardId},13"
+       }
+}
+
+<hda-dsp/Hdmi1.conf>
+<hda-dsp/Hdmi2.conf>
diff --git a/ucm2/hda-dsp/hda-dsp.conf b/ucm2/hda-dsp/hda-dsp.conf
new file mode 100644 (file)
index 0000000..bf80b09
--- /dev/null
@@ -0,0 +1,16 @@
+# UCM for Intel CAVS platforms
+# For Audio in HDA and DMIC mode
+
+Syntax 2
+
+SectionUseCase."HiFi" {
+       File "HiFi.conf"
+       Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+       cset "name='Master Playback Switch' 1"
+       cset "name='codec0_out mo media0_in mi Switch' 1"
+       cset "name='media0_out mo codec0_in mi Switch' 1"
+       cset "name='mch_cap_out mo mch_cap_in mi Switch' 1"
+]