Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37594329
en ru br
ALT Linux repositórios
S:1.2.8-alt8

Group :: Sistema/Bibliotecas
RPM: alsa-ucm-conf

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: 0001-ucm2-sof-essx8336-initial-support.patch
Download


From 62a00497f40bb4e0b3431b8dc3bc9bd7ade09990 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Thu, 17 Feb 2022 11:39:52 -0600
Subject: [PATCH 1/7] ucm2: sof-essx8336: initial support
Loosely based on the sof-hda-dsp model for DMIC conditional handling.
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/139
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
 ucm2/Intel/sof-essx8336/Hdmi.conf         |  40 +++++++
 ucm2/Intel/sof-essx8336/HiFi.conf         | 137 ++++++++++++++++++++++
 ucm2/Intel/sof-essx8336/sof-essx8336.conf |  64 ++++++++++
 3 files changed, 241 insertions(+)
 create mode 100644 ucm2/Intel/sof-essx8336/Hdmi.conf
 create mode 100644 ucm2/Intel/sof-essx8336/HiFi.conf
 create mode 100644 ucm2/Intel/sof-essx8336/sof-essx8336.conf
diff --git a/ucm2/Intel/sof-essx8336/Hdmi.conf b/ucm2/Intel/sof-essx8336/Hdmi.conf
new file mode 100644
index 0000000..8912b4f
--- /dev/null
+++ b/ucm2/Intel/sof-essx8336/Hdmi.conf
@@ -0,0 +1,40 @@
+# Use case Configuration for sof-es8336
+
+If.hdmi1 {
+	Condition { Type String Empty "" }
+	True {
+		Define {
+			HdmiNum 1
+			HdmiPCM 5
+			HdmiCtlIndex 0
+			HdmiPrio 500
+		}
+		Include.hdmi1.File "/codecs/hda/hdmi.conf"
+	}
+}
+
+If.hdmi2 {
+	Condition { Type String Empty "" }
+	True {
+		Define {
+			HdmiNum 2
+			HdmiPCM 6
+			HdmiCtlIndex 1
+			HdmiPrio 600
+		}
+		Include.hdmi2.File "/codecs/hda/hdmi.conf"
+	}
+}
+
+If.hdmi3 {
+	Condition { Type String Empty "" }
+	True {
+		Define {
+			HdmiNum 3
+			HdmiPCM 7
+			HdmiCtlIndex 2
+			HdmiPrio 700
+		}
+		Include.hdmi3.File "/codecs/hda/hdmi.conf"
+	}
+}
diff --git a/ucm2/Intel/sof-essx8336/HiFi.conf b/ucm2/Intel/sof-essx8336/HiFi.conf
new file mode 100644
index 0000000..14575c5
--- /dev/null
+++ b/ucm2/Intel/sof-essx8336/HiFi.conf
@@ -0,0 +1,137 @@
+SectionVerb {
+
+If.amic {
+	Condition {
+		Type String
+		Empty "${var:DeviceDmic}"
+	}
+	True.SectionDevice."Mic" {
+		Comment "Analog Microphone"
+
+		ConflictingDevice [
+			"Headset"
+		]
+
+		Value {
+			CapturePriority 100
+			CapturePCM "hw:${CardId}"
+		}
+
+		EnableSequence [
+			cset "name='Internal Mic Switch' on"
+		]
+
+		DisableSequence [
+			cset "name='Internal Mic Switch' off"
+		]
+	}
+}
+
+If.dmic {
+	Condition {
+		Type String
+		Empty "${var:DeviceDmic}"
+	}
+	False.SectionDevice."${var:DeviceDmic}" {
+		Comment "Digital Microphone"
+
+		Value {
+			CapturePriority 100
+			CapturePCM "hw:${CardId},1"
+			If.chn {
+				Condition {
+					Type RegexMatch
+					Regex "cfg-dmics:[34]"
+					String "${CardComponents}"
+				}
+				True {
+					CaptureChannels 4
+				}
+			}
+			CaptureMixerElem "Dmic0"
+			CaptureVolume "Dmic0 Capture Volume"
+			CaptureSwitch "Dmic0 Capture Switch"
+		}
+	}
+}
+
+SectionDevice."Speaker" {
+	Comment "Speaker"
+
+	ConflictingDevice [
+		"Headphones"
+	]
+
+	EnableSequence [
+		cset "name='Speaker Switch' on"
+	]
+
+	DisableSequence [
+		cset "name='Speaker Switch' off"
+	]
+	Value {
+		PlaybackPriority 100
+		PlaybackPCM "hw:${CardId}"
+		PlaybackMixerElem "Speaker"
+		PlaybackMasterElem "Master"
+		PlaybackVolume "Speaker Volume"
+		PlaybackSwitch "Speaker Switch"
+	}
+}
+
+SectionDevice."Headphones" {
+	Comment "Headphones"
+
+	ConflictingDevice [
+		"Speaker"
+	]
+
+	EnableSequence [
+		cset "name='Headphone Switch' on"
+	]
+
+	DisableSequence [
+		cset "name='Headphone Switch' off"
+	]
+
+	Value {
+		PlaybackPriority 300
+		PlaybackPCM "hw:${CardId}"
+		PlaybackMixerElem "Headphone"
+		PlaybackMasterElem "Master"
+		PlaybackVolume "Headphone Volume"
+		PlaybackSwitch "Headphone Switch"
+		JackControl "Headphone Jack"
+		JackHWMute "Speaker"
+	}
+}
+
+SectionDevice."Headset" {
+	Comment "Headset Microphone"
+
+	If.conflict {
+		Condition {
+			Type String
+			Empty "${var:DeviceDmic}"
+		}
+		True.ConflictingDevice [
+			"Mic"
+		]
+	}
+
+	EnableSequence [
+		cset "name='Headset Mic Switch' on"
+	]
+
+	DisableSequence [
+		cset "name='Headset Mic Switch' off"
+	]
+
+	Value {
+		CapturePriority 300
+		CapturePCM "hw:${CardId}"
+		JackControl "Headset Mic Jack"
+	}
+}
+
+Include.hdmi.File "/Intel/sof-essx8336/Hdmi.conf"
diff --git a/ucm2/Intel/sof-essx8336/sof-essx8336.conf b/ucm2/Intel/sof-essx8336/sof-essx8336.conf
new file mode 100644
index 0000000..88e3edb
--- /dev/null
+++ b/ucm2/Intel/sof-essx8336/sof-essx8336.conf
@@ -0,0 +1,64 @@
+Syntax 4
+
+Define.DeviceDmic ""
+
+If.devdmic {
+	Condition {
+		Type String
+		Haystack "${CardComponents}"
+		Needle "cfg-dmics:"
+	}
+	True.Define.DeviceDmic "Dmic"
+}
+
+SectionUseCase."HiFi" {
+	File "/Intel/sof-es8336/HiFi.conf"
+	Comment "Play and record HiFi quality Music"
+}
+
+# the kcontrols initial values, which will be set by `alsactl init`
+If.speaker {
+	Condition {
+		Type ControlExists
+		Control "DAC Playback Volume"
+	}
+	True.BootSequence [
+		cset "name='DAC Playback Volume' 60%"
+	]
+}
+
+If.headphone {
+	Condition {
+		Type ControlExists
+		Control "name='Headphone Playback Volume'"
+	}
+	True.BootSequence [
+		cset "name='Headphone Playback Volume' 60%"
+	]
+}
+
+If.dmic {
+	Condition {
+		Type String
+		Empty "${var:DeviceDmic}"
+	}
+	False.If.Dmic0 {
+		Condition {
+			Type ControlExists
+			Control "name='Dmic0 Capture Volume'"
+		}
+		True.BootSequence [
+			cset "name='Dmic0 Capture Volume' 70%"
+		]
+	}
+}
+
+If.Capture {
+	Condition {
+		Type ControlExists
+		Control "name='ADC Capture Volume'"
+	}
+	True.BootSequence [
+		cset "name='ADC Capture Volume' 60%"
+	]
+}
-- 
2.33.0
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009