[PATCH v4] ucm2: hdadsp: add basic ucm config
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 ---
Changes in v4: - adjusted folder and files names to hda-dsp instead of hdadsp
ucm2/hda-dsp/Hdmi1.conf | 24 ++++++++++ ucm2/hda-dsp/Hdmi2.conf | 24 ++++++++++ ucm2/hda-dsp/HiFi.conf | 96 +++++++++++++++++++++++++++++++++++++++ ucm2/hda-dsp/hda-dsp.conf | 16 +++++++ 4 files changed, 160 insertions(+) create mode 100644 ucm2/hda-dsp/Hdmi1.conf create mode 100644 ucm2/hda-dsp/Hdmi2.conf create mode 100644 ucm2/hda-dsp/HiFi.conf create mode 100644 ucm2/hda-dsp/hda-dsp.conf
diff --git a/ucm2/hda-dsp/Hdmi1.conf b/ucm2/hda-dsp/Hdmi1.conf new file mode 100644 index 0000000..d402dab --- /dev/null +++ b/ucm2/hda-dsp/Hdmi1.conf @@ -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 index 0000000..153bbe1 --- /dev/null +++ b/ucm2/hda-dsp/Hdmi2.conf @@ -0,0 +1,24 @@ +# 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 index 0000000..cdeb215 --- /dev/null +++ b/ucm2/hda-dsp/HiFi.conf @@ -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 index 0000000..48c07c8 --- /dev/null +++ b/ucm2/hda-dsp/hda-dsp.conf @@ -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" +]
On 2020-03-18 11:26, Mateusz Gorski wrote:
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
Changes in v4:
- adjusted folder and files names to hda-dsp instead of hdadsp
Hello Jaroslav,
Kernel patch series: [PATCH v6 0/3] Add support for different DMIC configurations
has already been merged by Mark and is now part of Skylake driver. UCM and topology patches are still missing though. I didn't find any review or issue that has not been addressed. Is there anything else you want us to do before merging? Patches have been tested using the exact same scope as kernel ones: Intel AVS platforms, RVP and production both.
Czarek
Dne 04. 05. 20 v 12:26 Cezary Rojewski napsal(a):
On 2020-03-18 11:26, Mateusz Gorski wrote:
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
Changes in v4:
- adjusted folder and files names to hda-dsp instead of hdadsp
Hello Jaroslav,
Kernel patch series: [PATCH v6 0/3] Add support for different DMIC configurations
has already been merged by Mark and is now part of Skylake driver. UCM and topology patches are still missing though. I didn't find any review or issue that has not been addressed. Is there anything else you want us to do before merging? Patches have been tested using the exact same scope as kernel ones: Intel AVS platforms, RVP and production both.
I already merged this:
https://github.com/alsa-project/alsa-ucm-conf/tree/master/ucm2/hda-dsp
I probably forgot to notify you. Thank you.
Jaroslav
participants (3)
-
Cezary Rojewski
-
Jaroslav Kysela
-
Mateusz Gorski