[alsa-devel] [PATCH] ucm: Add ucm files for DB410c board.

Riku Voipio riku.voipio at linaro.org
Mon Aug 8 15:23:10 CEST 2016


From: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>

DB410c board has support for both Digital and Analog audio. Digital
audio is over HDMI and analog is over codec chip integrated inside the
APQ8016 SOC.

It can support:
 -  3 Microphones: Primary Mic(Handset mic), Headset Mic and Secondary
 - 2 Digital Microphones.
 - Earpiece.
 - Headset.
 - Loud Speaker.
 - HDMI.

[Riku: squashed Srinivas's patches together and converted spaces to tabs]
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
Signed-off-by: Riku Voipio <riku.voipio at linaro.org>
Cc: nicolas.dechesne at linaro.org
---
 configure.ac                    |   1 +
 src/conf/ucm/DB410c/DB410c.conf |   8 ++
 src/conf/ucm/DB410c/HDMI        |  31 +++++++
 src/conf/ucm/DB410c/HiFi        | 185 ++++++++++++++++++++++++++++++++++++++++
 src/conf/ucm/DB410c/Makefile.am |   4 +
 src/conf/ucm/Makefile.am        |   2 +-
 6 files changed, 230 insertions(+), 1 deletion(-)
 create mode 100644 src/conf/ucm/DB410c/DB410c.conf
 create mode 100644 src/conf/ucm/DB410c/HDMI
 create mode 100644 src/conf/ucm/DB410c/HiFi
 create mode 100644 src/conf/ucm/DB410c/Makefile.am

diff --git a/configure.ac b/configure.ac
index f592e8b..014af5f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -675,6 +675,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
 	  src/conf/ucm/broadwell-rt286/Makefile \
 	  src/conf/ucm/VEYRON-I2S/Makefile \
 	  src/conf/ucm/chtrt5645/Makefile \
+	  src/conf/ucm/DB410c/Makefile \
 	  src/conf/topology/Makefile \
 	  src/conf/topology/broadwell/Makefile \
 	  modules/Makefile modules/mixer/Makefile modules/mixer/simple/Makefile \
diff --git a/src/conf/ucm/DB410c/DB410c.conf b/src/conf/ucm/DB410c/DB410c.conf
new file mode 100644
index 0000000..590278f
--- /dev/null
+++ b/src/conf/ucm/DB410c/DB410c.conf
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+	File "HiFi"
+	Comment "Play HiFi quality Music."
+}
+SectionUseCase."HDMI" {
+	File "HDMI"
+	Comment "HDMI output."
+}
diff --git a/src/conf/ucm/DB410c/HDMI b/src/conf/ucm/DB410c/HDMI
new file mode 100644
index 0000000..8112bc0
--- /dev/null
+++ b/src/conf/ucm/DB410c/HDMI
@@ -0,0 +1,31 @@
+# Use case configuration for DB410c board.
+# Author: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
+
+SectionVerb {
+	EnableSequence [
+	]
+
+	DisableSequence [
+	]
+	Value {
+		TQ "HiFi"
+		PlaybackPCM "plughw:0,0"
+	}
+}
+
+SectionDevice."HDMI-stereo" {
+	#Name "HDMI-stereo"
+	Comment "HDMI Digital Stereo Output"
+
+	EnableSequence [
+		cdev "hw:0"
+	]
+
+	DisableSequence [
+		cdev "hw:0"
+	]
+
+	Value {
+		PlaybackChannels "2"
+	}
+}
diff --git a/src/conf/ucm/DB410c/HiFi b/src/conf/ucm/DB410c/HiFi
new file mode 100644
index 0000000..f9cbcf0
--- /dev/null
+++ b/src/conf/ucm/DB410c/HiFi
@@ -0,0 +1,185 @@
+# Use case configuration for DB410c board.
+# Author: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
+
+SectionVerb {
+
+	EnableSequence [
+	]
+
+	DisableSequence [
+	]
+
+	# ALSA PCM
+	Value {
+		# ALSA PCM device for HiFi
+		PlaybackPCM "plughw:0,1"
+		CapturePCM "plughw:0,2"
+	}
+}
+
+
+SectionDevice."Speaker" {
+	Comment "Speaker playback"
+
+	ConflictingDevice [
+		"Headphones"
+		"Earpiece"
+	]
+
+	EnableSequence [
+		cdev "hw:0"
+		cset "name='SPK DAC Switch' 1"
+		cset "name='RX3 MIX1 INP1' RX1"
+		## gain to  0dB
+		cset "name='RX3 Digital Volume' 128"
+	]
+
+	DisableSequence [
+		cdev "hw:0"
+		cset "name='SPK DAC Switch' 0"
+		cset "name='RX3 MIX1 INP1' ZERO"
+	]
+
+	Value {
+		PlaybackChannels "2"
+	}
+}
+
+
+SectionDevice."Headphones" {
+	Comment "Headphones playback"
+
+	ConflictingDevice [
+		"Speaker"
+		"Earpiece"
+	]
+	EnableSequence [
+		cdev "hw:0"
+		cset "name='RX1 MIX1 INP1' RX1"
+		cset "name='RX2 MIX1 INP1' RX2"
+		cset "name='RDAC2 MUX' RX2"
+		cset "name='HPHL' 1"
+		cset "name='HPHR' 1"
+		## gain to  0dB
+		cset "name='RX1 Digital Volume' 128"
+		## gain to  0dB
+		cset "name='RX2 Digital Volume' 128"
+	]
+
+	DisableSequence [
+		cdev "hw:0"
+		cset "name='RX1 Digital Volume' 0"
+		cset "name='RX2 Digital Volume' 0"
+		cset "name='HPHL' 0"
+		cset "name='HPHR' 0"
+		cset "name='RDAC2 MUX' ZERO"
+		cset "name='RX1 MIX1 INP1' ZERO"
+		cset "name='RX2 MIX1 INP1' ZERO"
+	]
+
+	Value {
+		PlaybackChannels "2"
+	}
+}
+
+SectionDevice."Earpiece" {
+	Comment "Earpiece playback"
+
+	ConflictingDevice [
+		"Speaker"
+		"Headphones"
+	]
+	EnableSequence [
+		cdev "hw:0"
+	]
+
+	DisableSequence [
+		cdev "hw:0"
+	]
+
+	Value {
+		PlaybackChannels "2"
+	}
+}
+
+SectionDevice."Handset" {
+	Comment "Headset Microphone"
+
+	EnableSequence [
+		cdev "hw:0"
+		cset "name='DEC1 MUX' ADC2"
+		cset "name='ADC2 Volume' 8"
+		cset "name='ADC2 MUX' INP2"
+	]
+
+	DisableSequence [
+		cdev "hw:0"
+		cset "name='ADC2 MUX' ZERO"
+		cset "name='ADC2 Volume' 0"
+		cset "name='DEC1 MUX' ZERO"
+	]
+
+	Value {
+		CaptureChannels "2"
+	}
+}
+
+SectionDevice."Primarymic" {
+	Comment "Primary Microphone"
+
+	EnableSequence [
+		cdev "hw:0"
+		cset "name='DEC1 MUX' ADC1"
+		cset "name='ADC1 Volume' 8"
+	]
+
+	DisableSequence [
+		cdev "hw:0"
+		cset "name='DEC1 MUX' ZERO"
+		cset "name='ADC1 Volume' 0"
+	]
+
+	Value {
+		CaptureChannels "2"
+	}
+}
+
+SectionDevice."Secondarymic" {
+	Comment "Secondary Microphone"
+
+	EnableSequence [
+		cdev "hw:0"
+		cset "name='DEC1 MUX' ADC2"
+		cset "name='ADC2 Volume' 8"
+		cset "name='ADC2 MUX' INP2"
+	]
+
+	DisableSequence [
+		cdev "hw:0"
+		cset "name='DEC1 MUX' ZERO"
+		cset "name='ADC2 Volume' 0"
+		cset "name='ADC2 MUX' ZERO"
+	]
+
+	Value {
+		CaptureChannels "2"
+	}
+}
+
+SectionDevice."DMIC" {
+	Comment "Digital Microphone"
+
+	EnableSequence [
+		cdev "hw:0"
+		cset "name='DEC1 MUX' DMIC1"
+	]
+
+	DisableSequence [
+		cdev "hw:0"
+		cset "name='DEC1 MUX' ZERO"
+	]
+
+	Value {
+		CaptureChannels "2"
+	}
+}
diff --git a/src/conf/ucm/DB410c/Makefile.am b/src/conf/ucm/DB410c/Makefile.am
new file mode 100644
index 0000000..e10a136
--- /dev/null
+++ b/src/conf/ucm/DB410c/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/DB410c
+ucm_DATA = DB410c.conf HDMI HiFi
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
index 8865770..7bf432e 100644
--- a/src/conf/ucm/Makefile.am
+++ b/src/conf/ucm/Makefile.am
@@ -1 +1 @@
-SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 VEYRON-I2S chtrt5645
+SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 VEYRON-I2S chtrt5645 DB410c
-- 
2.1.4



More information about the Alsa-devel mailing list