[alsa-devel] [PATCH 4/5] conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards

Hans de Goede hdegoede at redhat.com
Thu May 31 17:10:25 CEST 2018


Add UCM profile for chtnau8824 boards based on:
https://github.com/plbossart/UCM/blob/master/chtnau8824

Split into multiple files in the same way as this was done for the
bytcr-rt5640 support, re-using the existing ucm/PlatformEnableSeq.conf
and ucm/PlatformDisableSeq.conf files for the SST mixer settings.

Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
 configure.ac                            |  2 ++
 src/conf/ucm/Makefile.am                |  2 ++
 src/conf/ucm/chtnau8824/HiFi.conf       | 28 ++++++++++++++++++++++
 src/conf/ucm/chtnau8824/Makefile.am     |  4 ++++
 src/conf/ucm/chtnau8824/chtnau8824.conf |  6 +++++
 src/conf/ucm/nau8824/EnableSeq.conf     | 15 ++++++++++++
 src/conf/ucm/nau8824/HeadPhones.conf    | 25 ++++++++++++++++++++
 src/conf/ucm/nau8824/HeadsetMic.conf    | 31 +++++++++++++++++++++++++
 src/conf/ucm/nau8824/InternalMic.conf   | 31 +++++++++++++++++++++++++
 src/conf/ucm/nau8824/Makefile.am        |  5 ++++
 src/conf/ucm/nau8824/MonoSpeaker.conf   | 29 +++++++++++++++++++++++
 src/conf/ucm/nau8824/Speaker.conf       | 28 ++++++++++++++++++++++
 12 files changed, 206 insertions(+)
 create mode 100644 src/conf/ucm/chtnau8824/HiFi.conf
 create mode 100644 src/conf/ucm/chtnau8824/Makefile.am
 create mode 100644 src/conf/ucm/chtnau8824/chtnau8824.conf
 create mode 100644 src/conf/ucm/nau8824/EnableSeq.conf
 create mode 100644 src/conf/ucm/nau8824/HeadPhones.conf
 create mode 100644 src/conf/ucm/nau8824/HeadsetMic.conf
 create mode 100644 src/conf/ucm/nau8824/InternalMic.conf
 create mode 100644 src/conf/ucm/nau8824/Makefile.am
 create mode 100644 src/conf/ucm/nau8824/MonoSpeaker.conf
 create mode 100644 src/conf/ucm/nau8824/Speaker.conf

diff --git a/configure.ac b/configure.ac
index 57e0c354..ce21c7fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -729,6 +729,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
 	  src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/Makefile \
 	  src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/Makefile \
 	  src/conf/ucm/bytcr-rt5651/Makefile \
+	  src/conf/ucm/chtnau8824/Makefile \
 	  src/conf/ucm/chtrt5645/Makefile \
 	  src/conf/ucm/chtrt5645-mono-speaker-analog-mic/Makefile \
 	  src/conf/ucm/DAISY-I2S/Makefile \
@@ -739,6 +740,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
 	  src/conf/ucm/HDAudio-Gigabyte-ALC1220DualCodecs/Makefile \
 	  src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile \
 	  src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/Makefile \
+	  src/conf/ucm/nau8824/Makefile \
 	  src/conf/ucm/PandaBoard/Makefile \
 	  src/conf/ucm/PandaBoardES/Makefile \
 	  src/conf/ucm/PAZ00/Makefile \
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
index a524921b..c350c526 100644
--- a/src/conf/ucm/Makefile.am
+++ b/src/conf/ucm/Makefile.am
@@ -11,6 +11,7 @@ bytcr-rt5640-stereo-spk-dmic1-mic \
 bytcr-rt5640-stereo-spk-in1-mic \
 bytcr-rt5640-stereo-spk-in3-mic \
 bytcr-rt5651 \
+chtnau8824 \
 chtrt5645 \
 chtrt5645-mono-speaker-analog-mic \
 DAISY-I2S \
@@ -21,6 +22,7 @@ gpd-win-pocket-rt5645 \
 HDAudio-Gigabyte-ALC1220DualCodecs \
 HDAudio-Lenovo-DualCodecs \
 LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216 \
+nau8824 \
 PandaBoard \
 PandaBoardES \
 PAZ00 \
diff --git a/src/conf/ucm/chtnau8824/HiFi.conf b/src/conf/ucm/chtnau8824/HiFi.conf
new file mode 100644
index 00000000..dc52800e
--- /dev/null
+++ b/src/conf/ucm/chtnau8824/HiFi.conf
@@ -0,0 +1,28 @@
+<searchdir:ucm>
+
+SectionVerb {
+
+	Value {
+		TQ "HiFi"
+		# ALSA PCM device for HiFi
+		PlaybackPCM "hw:chtnau8824"
+		CapturePCM "hw:chtnau8824"
+	}
+
+	EnableSequence [
+		cdev "hw:chtnau8824"
+		<bytcr/PlatformEnableSeq.conf>
+		<nau8824/EnableSeq.conf>
+	]
+
+	DisableSequence [
+		cdev "hw:chtnau8824"
+		<bytcr/PlatformDisableSeq.conf>
+	]
+}
+
+<nau8824/Speaker.conf>
+<nau8824/HeadPhones.conf>
+
+<nau8824/InternalMic.conf>
+<nau8824/HeadsetMic.conf>
diff --git a/src/conf/ucm/chtnau8824/Makefile.am b/src/conf/ucm/chtnau8824/Makefile.am
new file mode 100644
index 00000000..e197d3e6
--- /dev/null
+++ b/src/conf/ucm/chtnau8824/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/chtnau8824
+ucm_DATA = chtnau8824.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/chtnau8824/chtnau8824.conf b/src/conf/ucm/chtnau8824/chtnau8824.conf
new file mode 100644
index 00000000..189b0dbe
--- /dev/null
+++ b/src/conf/ucm/chtnau8824/chtnau8824.conf
@@ -0,0 +1,6 @@
+Comment "chtnau8824 internal card"
+
+SectionUseCase."HiFi" {
+	File "HiFi.conf"
+	Comment "Default"
+}
diff --git a/src/conf/ucm/nau8824/EnableSeq.conf b/src/conf/ucm/nau8824/EnableSeq.conf
new file mode 100644
index 00000000..05f5f0b4
--- /dev/null
+++ b/src/conf/ucm/nau8824/EnableSeq.conf
@@ -0,0 +1,15 @@
+# Playback TDM configuration
+cset "name='DACL Channel Source' 0"
+cset "name='DACR Channel Source' 1"
+# Input Configuration
+cset "name='DMIC1 Enable Switch' off"
+cset "name='DMIC2 Enable Switch' off"
+cset "name='DMIC3 Enable Switch' off"
+cset "name='DMIC4 Enable Switch' off"
+cset "name='MIC1 Volume' 10"
+cset "name='MIC2 Volume' 10"
+# Button Configuration
+cset "name='THD for key media' 10"
+cset "name='THD for key voice command' 16"
+cset "name='THD for key volume up' 38"
+cset "name='THD for key volume down' 115"
diff --git a/src/conf/ucm/nau8824/HeadPhones.conf b/src/conf/ucm/nau8824/HeadPhones.conf
new file mode 100644
index 00000000..8ed6f194
--- /dev/null
+++ b/src/conf/ucm/nau8824/HeadPhones.conf
@@ -0,0 +1,25 @@
+SectionDevice."Headphones" {
+	Comment "Headphones"
+
+	Value {
+		PlaybackChannels "2"
+		JackControl "Headphone Jack"
+	}
+
+	ConflictingDevice [
+		"MonoSpeaker"
+		"Speaker"
+	]
+
+	EnableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='Headphone Switch' on"
+	]
+
+	DisableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='Headphone Switch' off"
+	]
+}
diff --git a/src/conf/ucm/nau8824/HeadsetMic.conf b/src/conf/ucm/nau8824/HeadsetMic.conf
new file mode 100644
index 00000000..11b0b52a
--- /dev/null
+++ b/src/conf/ucm/nau8824/HeadsetMic.conf
@@ -0,0 +1,31 @@
+SectionDevice."HeadsetMic" {
+	Comment "Headset Microphone"
+
+	Value {
+		CaptureChannels "2"
+		JackControl "Headset Mic Jack"
+	}
+
+	ConflictingDevice [
+		"InternalMic"
+	]
+
+	EnableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='ADC CH0 Select' 1"
+		cset "name='ADC CH1 Select' 1"
+
+		cset "name='Headset Mic Switch' on"
+		cset "name='Right ADC HSMIC Switch' on"
+		cset "name='Left ADC HSMIC Switch' on"
+	]
+
+	DisableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='Headset Mic Switch' off"
+		cset "name='Right ADC HSMIC Switch' off"
+		cset "name='Left ADC HSMIC Switch' off"
+	]
+}
diff --git a/src/conf/ucm/nau8824/InternalMic.conf b/src/conf/ucm/nau8824/InternalMic.conf
new file mode 100644
index 00000000..c6a741cc
--- /dev/null
+++ b/src/conf/ucm/nau8824/InternalMic.conf
@@ -0,0 +1,31 @@
+SectionDevice."InternalMic" {
+	Comment "Internal Microphone"
+
+	Value {
+		CaptureChannels "2"
+		CapturePriority "150"
+	}
+
+	ConflictingDevice [
+		"HeadsetMic"
+	]
+
+	EnableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='ADC CH0 Select' 0"
+		cset "name='ADC CH1 Select' 0"
+
+		cset "name='Int Mic Switch' on"
+		cset "name='Right ADC MIC Switch' on"
+		cset "name='Left ADC MIC Switch' on"
+	]
+
+	DisableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='Int Mic Switch' off"
+		cset "name='Right ADC MIC Switch' off"
+		cset "name='Left ADC MIC Switch' off"
+	]
+}
diff --git a/src/conf/ucm/nau8824/Makefile.am b/src/conf/ucm/nau8824/Makefile.am
new file mode 100644
index 00000000..b39b8bb4
--- /dev/null
+++ b/src/conf/ucm/nau8824/Makefile.am
@@ -0,0 +1,5 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/nau8824
+ucm_DATA = EnableSeq.conf HeadPhones.conf HeadsetMic.conf InternalMic.conf \
+	   MonoSpeaker.conf Speaker.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/nau8824/MonoSpeaker.conf b/src/conf/ucm/nau8824/MonoSpeaker.conf
new file mode 100644
index 00000000..86735181
--- /dev/null
+++ b/src/conf/ucm/nau8824/MonoSpeaker.conf
@@ -0,0 +1,29 @@
+SectionDevice."MonoSpeaker" {
+	Comment "Mono Speaker"
+
+	Value {
+		PlaybackChannels "2"
+	}
+
+	ConflictingDevice [
+		"Speaker"
+		"Headphones"
+	]
+
+	EnableSequence [
+		cdev "hw:chtnau8824"
+
+		# nau8824 mono speaker boards have the speaker on the right chan
+		cset "name='Speaker Left DACL Volume' 0"
+		cset "name='Speaker Left DACR Volume' 0"
+		cset "name='Speaker Right DACL Volume' 1"
+		cset "name='Speaker Right DACR Volume' 1"
+		cset "name='Ext Spk Switch' on"
+	]
+
+	DisableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='Ext Spk Switch' off"
+	]
+}
diff --git a/src/conf/ucm/nau8824/Speaker.conf b/src/conf/ucm/nau8824/Speaker.conf
new file mode 100644
index 00000000..e4d25b08
--- /dev/null
+++ b/src/conf/ucm/nau8824/Speaker.conf
@@ -0,0 +1,28 @@
+SectionDevice."Speaker" {
+	Comment "Speaker"
+
+	Value {
+		PlaybackChannels "2"
+	}
+
+	ConflictingDevice [
+		"MonoSpeaker"
+		"Headphones"
+	]
+
+	EnableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='Speaker Left DACL Volume' 1"
+		cset "name='Speaker Left DACR Volume' 0"
+		cset "name='Speaker Right DACL Volume' 0"
+		cset "name='Speaker Right DACR Volume' 1"
+		cset "name='Ext Spk Switch' on"
+	]
+
+	DisableSequence [
+		cdev "hw:chtnau8824"
+
+		cset "name='Ext Spk Switch' off"
+	]
+}
-- 
2.17.0



More information about the Alsa-devel mailing list