All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile
@ 2018-05-19 11:54 Hans de Goede
  2018-05-19 11:54 ` [PATCH 2/2] conf/ucm: bytcr-rt5640: Add long-name UCM profiles Hans de Goede
  0 siblings, 1 reply; 2+ messages in thread
From: Hans de Goede @ 2018-05-19 11:54 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Hans de Goede, Pierre-Louis Bossart

This commit adds the generic UCM profile for bytcr-rt5640 boards from:
https://github.com/plbossart/UCM, plus the fixes from this pull-req:
https://github.com/plbossart/UCM/pull/31

The profile has been split up into separate per input / output files to
allow for creation of long-name profiles with the specific input / output
combinations found on a board without needing to copy and paste things.

Note this profile exports all inputs and both stereo/mono speaker setups
even though a typical device will not use all. Ideally a long-name based
device specific profile made up of the various parts should be used
instead.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 configure.ac                                |   3 +
 src/conf/ucm/Makefile.am                    |   3 +
 src/conf/ucm/bytcr-rt5640/HiFi.conf         |  29 +++++
 src/conf/ucm/bytcr-rt5640/Makefile.am       |   4 +
 src/conf/ucm/bytcr-rt5640/bytcr-rt5640.conf |   8 ++
 src/conf/ucm/bytcr/Makefile.am              |   4 +
 src/conf/ucm/bytcr/PlatformEnableSeq.conf   | 115 ++++++++++++++++++++
 src/conf/ucm/rt5640/DigitalMics.conf        |  31 ++++++
 src/conf/ucm/rt5640/EnableSeq.conf          |  41 +++++++
 src/conf/ucm/rt5640/HeadPhones.conf         |  41 +++++++
 src/conf/ucm/rt5640/HeadsetMic.conf         |  48 ++++++++
 src/conf/ucm/rt5640/IN1-InternalMic.conf    |  50 +++++++++
 src/conf/ucm/rt5640/IN3-InternalMic.conf    |  50 +++++++++
 src/conf/ucm/rt5640/Makefile.am             |   5 +
 src/conf/ucm/rt5640/MonoSpeaker.conf        |  45 ++++++++
 src/conf/ucm/rt5640/Speaker.conf            |  45 ++++++++
 16 files changed, 522 insertions(+)
 create mode 100644 src/conf/ucm/bytcr-rt5640/HiFi.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640/Makefile.am
 create mode 100644 src/conf/ucm/bytcr-rt5640/bytcr-rt5640.conf
 create mode 100644 src/conf/ucm/bytcr/Makefile.am
 create mode 100644 src/conf/ucm/bytcr/PlatformEnableSeq.conf
 create mode 100644 src/conf/ucm/rt5640/DigitalMics.conf
 create mode 100644 src/conf/ucm/rt5640/EnableSeq.conf
 create mode 100644 src/conf/ucm/rt5640/HeadPhones.conf
 create mode 100644 src/conf/ucm/rt5640/HeadsetMic.conf
 create mode 100644 src/conf/ucm/rt5640/IN1-InternalMic.conf
 create mode 100644 src/conf/ucm/rt5640/IN3-InternalMic.conf
 create mode 100644 src/conf/ucm/rt5640/Makefile.am
 create mode 100644 src/conf/ucm/rt5640/MonoSpeaker.conf
 create mode 100644 src/conf/ucm/rt5640/Speaker.conf

diff --git a/configure.ac b/configure.ac
index 693b5d53..f6ee6ca8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -720,6 +720,8 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
 	  src/conf/ucm/ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN/Makefile \
 	  src/conf/ucm/broadwell-rt286/Makefile \
 	  src/conf/ucm/broxton-rt298/Makefile \
+	  src/conf/ucm/bytcr/Makefile \
+	  src/conf/ucm/bytcr-rt5640/Makefile \
 	  src/conf/ucm/bytcr-rt5651/Makefile \
 	  src/conf/ucm/chtrt5645/Makefile \
 	  src/conf/ucm/chtrt5645-mono-speaker-analog-mic/Makefile \
@@ -734,6 +736,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
 	  src/conf/ucm/PandaBoard/Makefile \
 	  src/conf/ucm/PandaBoardES/Makefile \
 	  src/conf/ucm/PAZ00/Makefile \
+	  src/conf/ucm/rt5640/Makefile \
 	  src/conf/ucm/SDP4430/Makefile \
 	  src/conf/ucm/skylake-rt286/Makefile \
 	  src/conf/ucm/TECLAST-X80Pro-Defaultstring-CherryTrailCR/Makefile \
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
index 38fc6b25..dc2d6857 100644
--- a/src/conf/ucm/Makefile.am
+++ b/src/conf/ucm/Makefile.am
@@ -2,6 +2,8 @@ SUBDIRS=\
 ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN \
 broadwell-rt286 \
 broxton-rt298 \
+bytcr \
+bytcr-rt5640 \
 bytcr-rt5651 \
 chtrt5645 \
 chtrt5645-mono-speaker-analog-mic \
@@ -16,6 +18,7 @@ LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216 \
 PandaBoard \
 PandaBoardES \
 PAZ00 \
+rt5640 \
 SDP4430 \
 skylake-rt286 \
 TECLAST-X80Pro-Defaultstring-CherryTrailCR \
diff --git a/src/conf/ucm/bytcr-rt5640/HiFi.conf b/src/conf/ucm/bytcr-rt5640/HiFi.conf
new file mode 100644
index 00000000..130671ca
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640/HiFi.conf
@@ -0,0 +1,29 @@
+# Use case Configuration for bytcr-rt5640
+
+<searchdir:ucm>
+
+SectionVerb {
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		<bytcr/PlatformEnableSeq.conf>
+		<rt5640/EnableSeq.conf>
+	]
+
+	DisableSequence [
+	]
+
+	Value {
+		PlaybackPCM "hw:bytcrrt5640"
+		CapturePCM "hw:bytcrrt5640"
+	}
+}
+
+<rt5640/Speaker.conf>
+<rt5640/MonoSpeaker.conf>
+<rt5640/HeadPhones.conf>
+
+<rt5640/DigitalMics.conf>
+<rt5640/IN1-InternalMic.conf>
+<rt5640/IN3-InternalMic.conf>
+<rt5640/HeadsetMic.conf>
diff --git a/src/conf/ucm/bytcr-rt5640/Makefile.am b/src/conf/ucm/bytcr-rt5640/Makefile.am
new file mode 100644
index 00000000..84ddf7b1
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/bytcr-rt5640
+ucm_DATA = bytcr-rt5640.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr-rt5640/bytcr-rt5640.conf b/src/conf/ucm/bytcr-rt5640/bytcr-rt5640.conf
new file mode 100644
index 00000000..676b4fd9
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640/bytcr-rt5640.conf
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+	File "HiFi.conf"
+	Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+	cdev "hw:bytcrrt5640"
+]
diff --git a/src/conf/ucm/bytcr/Makefile.am b/src/conf/ucm/bytcr/Makefile.am
new file mode 100644
index 00000000..a0e5545e
--- /dev/null
+++ b/src/conf/ucm/bytcr/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/bytcr
+ucm_DATA = PlatformEnableSeq.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr/PlatformEnableSeq.conf b/src/conf/ucm/bytcr/PlatformEnableSeq.conf
new file mode 100644
index 00000000..b5ee2b41
--- /dev/null
+++ b/src/conf/ucm/bytcr/PlatformEnableSeq.conf
@@ -0,0 +1,115 @@
+# media mixer settings
+#   compress
+cset "name='media0_in Gain 0 Switch' on"
+cset "name='media0_in Gain 0 Volume' 0"
+
+#   normal
+cset "name='media1_in Gain 0 Switch' on"
+cset "name='media1_in Gain 0 Volume' 0"
+#   swm loopback
+cset "name='media2_in Gain 0 Switch' off"
+cset "name='media2_in Gain 0 Volume' 0%"
+#   deep buffer
+cset "name='media3_in Gain 0 Switch' on"
+cset "name='media3_in Gain 0 Volume' 0"
+
+cset "name='media0_out mix 0 media0_in Switch' on"
+cset "name='media0_out mix 0 media1_in Switch' on"
+cset "name='media0_out mix 0 media2_in Switch' off"
+cset "name='media0_out mix 0 media3_in Switch' on"
+
+cset "name='media1_out mix 0 media0_in Switch' off"
+cset "name='media1_out mix 0 media1_in Switch' off"
+cset "name='media1_out mix 0 media2_in Switch' off"
+cset "name='media1_out mix 0 media3_in Switch' off"
+
+cset "name='pcm0_in Gain 0 Switch' on"
+cset "name='pcm0_in Gain 0 Volume' 0"
+
+cset "name='pcm1_in Gain 0 Switch' off"
+cset "name='pcm1_in Gain 0 Volume' 0%"
+
+# codec0_out settings (used if SSP2 is connected)
+cset "name='codec_out0 mix 0 codec_in0 Switch' off"
+cset "name='codec_out0 mix 0 codec_in1 Switch' off"
+cset "name='codec_out0 mix 0 media_loop1_in Switch' off"
+cset "name='codec_out0 mix 0 media_loop2_in Switch' off"
+cset "name='codec_out0 mix 0 pcm0_in Switch' on"
+cset "name='codec_out0 mix 0 pcm1_in Switch' off"
+cset "name='codec_out0 mix 0 sprot_loop_in Switch' off"
+cset "name='codec_out0 Gain 0 Switch' on"
+cset "name='codec_out0 Gain 0 Volume' 0"
+
+# modem_out settings (used if SSP0 is connected)
+cset "name='modem_out mix 0 codec_in0 Switch' off"
+cset "name='modem_out mix 0 codec_in1 Switch' off"
+cset "name='modem_out mix 0 media_loop1_in Switch' off"
+cset "name='modem_out mix 0 media_loop2_in Switch' off"
+cset "name='modem_out mix 0 pcm0_in Switch' on"
+cset "name='modem_out mix 0 pcm1_in Switch' off"
+cset "name='modem_out mix 0 sprot_loop_in Switch' off"
+cset "name='modem_out Gain 0 Switch' on"
+cset "name='modem_out Gain 0 Volume' 0"
+
+# input settings
+
+# input used when SSP2 is connected
+cset "name='codec_in0 Gain 0 Switch' on"
+cset "name='codec_in0 Gain 0 Volume' 0"
+
+# input used when SSP0 is connected
+cset "name='modem_in Gain 0 Switch' on"
+cset "name='modem_in Gain 0 Volume' 0"
+
+# pcm1_out settings
+cset "name='pcm1_out mix 0 codec_in0 Switch' on"
+cset "name='pcm1_out mix 0 modem_in Switch' on"
+cset "name='pcm1_out mix 0 codec_in1 Switch' off"
+cset "name='pcm1_out mix 0 media_loop1_in Switch' off"
+cset "name='pcm1_out mix 0 media_loop2_in Switch' off"
+cset "name='pcm1_out mix 0 pcm0_in Switch' off"
+cset "name='pcm1_out mix 0 pcm1_in Switch' off"
+cset "name='pcm1_out mix 0 sprot_loop_in Switch' off"
+
+cset "name='pcm1_out Gain 0 Switch' on"
+cset "name='pcm1_out Gain 0 Volume' 0"
+
+# disable codec_out1
+cset "name='codec_out1 mix 0 codec_in0 Switch' off"
+cset "name='codec_out1 mix 0 codec_in1 Switch' off"
+cset "name='codec_out1 mix 0 media_loop1_in Switch' off"
+cset "name='codec_out1 mix 0 media_loop2_in Switch' off"
+cset "name='codec_out1 mix 0 pcm0_in Switch' off"
+cset "name='codec_out1 mix 0 pcm1_in Switch' off"
+cset "name='codec_out1 mix 0 sprot_loop_in Switch' off"
+cset "name='codec_out1 Gain 0 Switch' off"
+cset "name='codec_out1 Gain 0 Volume' 0%"
+
+# disable codec_in1
+cset "name='codec_in1 Gain 0 Switch' off"
+cset "name='codec_in1 Gain 0 Volume' 0%"
+
+# disable all loops
+cset "name='media_loop1_out mix 0 codec_in0 Switch' off"
+cset "name='media_loop1_out mix 0 codec_in1 Switch' off"
+cset "name='media_loop1_out mix 0 media_loop1_in Switch' off"
+cset "name='media_loop1_out mix 0 media_loop2_in Switch' off"
+cset "name='media_loop1_out mix 0 pcm0_in Switch' off"
+cset "name='media_loop1_out mix 0 pcm1_in Switch' off"
+cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off"
+
+cset "name='media_loop2_out mix 0 codec_in0 Switch' off"
+cset "name='media_loop2_out mix 0 codec_in1 Switch' off"
+cset "name='media_loop2_out mix 0 media_loop1_in Switch' off"
+cset "name='media_loop2_out mix 0 media_loop2_in Switch' off"
+cset "name='media_loop2_out mix 0 pcm0_in Switch' off"
+cset "name='media_loop2_out mix 0 pcm1_in Switch' off"
+cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off"
+
+cset "name='sprot_loop_out mix 0 codec_in0 Switch' off"
+cset "name='sprot_loop_out mix 0 codec_in1 Switch' off"
+cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off"
+cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off"
+cset "name='sprot_loop_out mix 0 pcm0_in Switch' off"
+cset "name='sprot_loop_out mix 0 pcm1_in Switch' off"
+cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off"
diff --git a/src/conf/ucm/rt5640/DigitalMics.conf b/src/conf/ucm/rt5640/DigitalMics.conf
new file mode 100644
index 00000000..c7d54099
--- /dev/null
+++ b/src/conf/ucm/rt5640/DigitalMics.conf
@@ -0,0 +1,31 @@
+SectionDevice."DigitalMics" {
+	Comment "DigitalMics capture"
+
+	ConflictingDevice [
+		"IN1-InternalMics"
+		"IN3-InternalMics"
+		"HeadsetMic"
+	]
+
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='Stereo ADC MIXL ADC2 Switch' on"
+		cset "name='Stereo ADC MIXR ADC2 Switch' on"
+		cset "name='Internal Mic Switch' on"
+
+	]
+
+	DisableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='Stereo ADC MIXL ADC2 Switch' off"
+		cset "name='Stereo ADC MIXR ADC2 Switch' off"
+		cset "name='Internal Mic Switch' off"
+
+	]
+
+	Value {
+		CaptureChannels 2
+	}
+}
diff --git a/src/conf/ucm/rt5640/EnableSeq.conf b/src/conf/ucm/rt5640/EnableSeq.conf
new file mode 100644
index 00000000..62795fa6
--- /dev/null
+++ b/src/conf/ucm/rt5640/EnableSeq.conf
@@ -0,0 +1,41 @@
+# RT5640 default output routing
+cset "name='OUT MIXL DAC L1 Switch'  on"
+cset "name='OUT MIXR DAC R1 Switch'  on"
+
+# uncomment for loopback mic->speakers
+# cset "name='SPOL MIX BST1 Switch' on"
+# cset "name='SPOR MIX BST1 Switch' on"
+
+# uncomment for loopback playback -> capture
+# cset "name='RECMIXL OUT MIXL Switch' on"
+# cset "name='RECMIXR OUT MIXR Switch' on"
+
+# uncomment to enable swap between AIF1 and AIF2
+# warning: can only work with SSP0 firmware enabled
+cset "name='SDI select' 0"
+cset "name='DAI select' 0"
+#cset "name='SDI select' 1"
+#cset "name='DAI select' 1"
+
+cset "name='DAC2 Playback Switch' on"
+cset "name='DIG MIXL DAC L2 Switch' on"
+
+# Input Configuration
+cset "name='Stereo ADC1 Mux' ADC"
+cset "name='Stereo ADC2 Mux' DMIC1"
+cset "name='Mono ADC L1 Mux' 1"
+cset "name='Mono ADC R1 Mux' 1"
+
+# 47=0dB, 0.375 dB/step, set it to 6 dB to help with soft mics
+cset "name='ADC Capture Volume' 63"
+# Set ADC Boost Gain to 3dB higher vals result in too much noise
+cset "name='ADC Boost Gain' 1"
+# Set IN1/IN3 internal mic boost to 8 (max)
+# Set IN2 headset-mic boost to 1, headset mics are quite loud
+cset "name='IN1 Boost' 8"
+cset "name='IN2 Boost' 1"
+cset "name='IN3 Boost' 8"
+
+cset "name='Internal Mic Switch' off"
+cset "name='Headset Mic Switch' off"
+cset "name='ADC Capture Switch' on"
diff --git a/src/conf/ucm/rt5640/HeadPhones.conf b/src/conf/ucm/rt5640/HeadPhones.conf
new file mode 100644
index 00000000..7d5948b4
--- /dev/null
+++ b/src/conf/ucm/rt5640/HeadPhones.conf
@@ -0,0 +1,41 @@
+SectionDevice."Headphones" {
+	Comment "Headphones playback"
+
+	ConflictingDevice [
+		"Speaker"
+		"MonoSpeaker"
+	]
+
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+ 		cset "name='DAC MIXL INF1 Switch'  on"
+ 		cset "name='DAC MIXR INF1 Switch'  on"
+ 		cset "name='Stereo DAC MIXL DAC L1 Switch'  on"
+ 		cset "name='Stereo DAC MIXR DAC R1 Switch'  on"
+		set "name='Stereo DAC MIXL DAC L2 Switch'  on"
+ 		cset "name='Stereo DAC MIXR DAC R2 Switch'  on"
+ 		cset "name='HPO MIX HPVOL Switch'  on"
+ 		cset "name='Headphone Switch'  on"
+		cset "name='HP Channel Switch' on"
+ 		cset "name='Speaker Switch' off"
+		cset "name='HP L Playback Switch' on"
+		cset "name='HP R Playback Switch' on"
+		cset "name='HP Playback Volume' 29"
+
+	]
+
+	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		cset "name='Headphone Switch' off"
+		cset "name='HP Channel Switch' off"
+		cset "name='HP L Playback Switch' off"
+		cset "name='HP R Playback Switch' off"
+		cset "name='HP Playback Volume' 0"
+	]
+
+	Value {
+		PlaybackChannels "2"
+		JackControl "Headphone Jack"
+	}
+}
diff --git a/src/conf/ucm/rt5640/HeadsetMic.conf b/src/conf/ucm/rt5640/HeadsetMic.conf
new file mode 100644
index 00000000..4d54eed0
--- /dev/null
+++ b/src/conf/ucm/rt5640/HeadsetMic.conf
@@ -0,0 +1,48 @@
+SectionDevice."HeadsetMic" {
+	Comment "Headset Mic capture"
+
+	ConflictingDevice [
+		"IN1-InternalMics"
+		"IN3-InternalMics"
+		"DigitalMics"
+	]
+
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='Headset Mic Switch' on"
+
+		cset "name='RECMIXL BST2 Switch' on"
+		cset "name='RECMIXR BST2 Switch' on"
+
+		cset "name='Stereo ADC MIXL ADC1 Switch' on"
+		cset "name='Stereo ADC MIXR ADC1 Switch' on"
+
+		cset "name='Mono ADC MIXL ADC1 Switch' on"
+		cset "name='Mono ADC MIXR ADC1 Switch' on"
+
+		cset "name='Mono ADC Capture Switch' on"
+	]
+
+	DisableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='Stereo ADC MIXL ADC1 Switch' off"
+		cset "name='Stereo ADC MIXR ADC1 Switch' off"
+
+		cset "name='RECMIXL BST2 Switch' off"
+		cset "name='RECMIXR BST2 Switch' off"
+
+		cset "name='Headset Mic Switch' off"
+
+		cset "name='Mono ADC MIXL ADC1 Switch' off"
+		cset "name='Mono ADC MIXR ADC1 Switch' off"
+
+		cset "name='Mono ADC Capture Switch' off"
+	]
+
+	Value {
+		CaptureChannels 2
+		JackControl "Headset Mic Jack"
+	}
+}
diff --git a/src/conf/ucm/rt5640/IN1-InternalMic.conf b/src/conf/ucm/rt5640/IN1-InternalMic.conf
new file mode 100644
index 00000000..d18c21db
--- /dev/null
+++ b/src/conf/ucm/rt5640/IN1-InternalMic.conf
@@ -0,0 +1,50 @@
+SectionDevice."IN1-InternalMics" {
+	Comment "Internal IN1 analog Mic capture"
+
+	ConflictingDevice [
+		"DigitalMics"
+		"HeadsetMic"
+		"IN3-InternalMics"
+	]
+
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='Internal Mic Switch' on"
+
+		cset "name='RECMIXL BST1 Switch' on"
+		cset "name='RECMIXR BST1 Switch' on"
+		cset "name='RECMIXL BST3 Switch' off"
+		cset "name='RECMIXR BST3 Switch' off"
+
+		cset "name='Stereo ADC MIXL ADC1 Switch' on"
+		cset "name='Stereo ADC MIXR ADC1 Switch' on"
+
+		cset "name='Mono ADC MIXL ADC1 Switch' on"
+		cset "name='Mono ADC MIXR ADC1 Switch' on"
+
+		cset "name='Mono ADC Capture Switch' on"
+	]
+
+	DisableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='Stereo ADC MIXL ADC1 Switch' off"
+		cset "name='Stereo ADC MIXR ADC1 Switch' off"
+
+		cset "name='RECMIXL BST1 Switch' off"
+		cset "name='RECMIXR BST1 Switch' off"
+
+		cset "name='Internal Mic Switch' off"
+
+		cset "name='Mono ADC MIXL ADC1 Switch' off"
+		cset "name='Mono ADC MIXR ADC1 Switch' off"
+
+		cset "name='Mono ADC Capture Switch' off"
+
+	]
+
+	Value {
+		CaptureChannels 2
+	}
+}
diff --git a/src/conf/ucm/rt5640/IN3-InternalMic.conf b/src/conf/ucm/rt5640/IN3-InternalMic.conf
new file mode 100644
index 00000000..17d85229
--- /dev/null
+++ b/src/conf/ucm/rt5640/IN3-InternalMic.conf
@@ -0,0 +1,50 @@
+SectionDevice."IN3-InternalMics" {
+	Comment "Internal IN3 analog Mic capture"
+
+	ConflictingDevice [
+		"DigitalMics"
+		"HeadsetMic"
+		"IN1-InternalMics"
+	]
+
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='Internal Mic Switch' on"
+
+		cset "name='RECMIXL BST1 Switch' off"
+		cset "name='RECMIXR BST1 Switch' off"
+		cset "name='RECMIXL BST3 Switch' on"
+		cset "name='RECMIXR BST3 Switch' on"
+
+		cset "name='Stereo ADC MIXL ADC1 Switch' on"
+		cset "name='Stereo ADC MIXR ADC1 Switch' on"
+
+		cset "name='Mono ADC MIXL ADC1 Switch' on"
+		cset "name='Mono ADC MIXR ADC1 Switch' on"
+
+		cset "name='Mono ADC Capture Switch' on"
+
+	]
+
+	DisableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='Stereo ADC MIXL ADC1 Switch' off"
+		cset "name='Stereo ADC MIXR ADC1 Switch' off"
+
+		cset "name='RECMIXL BST3 Switch' off"
+		cset "name='RECMIXR BST3 Switch' off"
+
+		cset "name='Internal Mic Switch' off"
+
+		cset "name='Mono ADC MIXL ADC1 Switch' off"
+		cset "name='Mono ADC MIXR ADC1 Switch' off"
+
+		cset "name='Mono ADC Capture Switch' off"
+	]
+
+	Value {
+		CaptureChannels 2
+	}
+}
diff --git a/src/conf/ucm/rt5640/Makefile.am b/src/conf/ucm/rt5640/Makefile.am
new file mode 100644
index 00000000..a6fbdc57
--- /dev/null
+++ b/src/conf/ucm/rt5640/Makefile.am
@@ -0,0 +1,5 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/rt5640
+ucm_DATA = DigitalMics.conf EnableSeq.conf HeadPhones.conf HeadsetMic.conf \
+	IN1-InternalMic.conf IN3-InternalMic.conf MonoSpeaker.conf Speaker.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/rt5640/MonoSpeaker.conf b/src/conf/ucm/rt5640/MonoSpeaker.conf
new file mode 100644
index 00000000..0fb54030
--- /dev/null
+++ b/src/conf/ucm/rt5640/MonoSpeaker.conf
@@ -0,0 +1,45 @@
+SectionDevice."MonoSpeaker" {
+	Comment "MonoSpeaker playback"
+
+	ConflictingDevice [
+		"Headphones"
+		"Speaker"
+	]
+
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='DAC MIXL INF1 Switch' on"
+		cset "name='DAC MIXR INF1 Switch' on"
+		cset "name='Stereo DAC MIXL DAC L1 Switch' on"
+		cset "name='Stereo DAC MIXR DAC R1 Switch' on"
+		cset "name='Stereo DAC MIXL DAC L2 Switch'  on"
+		cset "name='Stereo DAC MIXR DAC R2 Switch'  on"
+		cset "name='SPK MIXL DAC L1 Switch' on"
+		cset "name='SPK MIXR DAC R1 Switch' on"
+		cset "name='SPOL MIX SPKVOL L Switch' on"
+# for mono speaker we apply left on right
+#		cset "name='SPOR MIX SPKVOL R Switch' on"
+		cset "name='SPOL MIX SPKVOL R Switch' on"
+		cset "name='Speaker Switch' on"
+		cset "name='Speaker Channel Switch' on"
+		cset "name='Headphone Switch' off"
+		cset "name='Speaker L Playback Switch' on"
+		cset "name='Speaker R Playback Switch' on"
+		cset "name='Speaker Playback Volume' 35"
+
+	]
+
+	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		cset "name='Speaker Switch' off"
+		cset "name='Speaker Channel Switch' off"
+		cset "name='Speaker L Playback Switch' off"
+		cset "name='Speaker R Playback Switch' off"
+		cset "name='Speaker Playback Volume' 0"
+	]
+
+	Value {
+		PlaybackChannels "2"
+	}
+}
diff --git a/src/conf/ucm/rt5640/Speaker.conf b/src/conf/ucm/rt5640/Speaker.conf
new file mode 100644
index 00000000..b745ed06
--- /dev/null
+++ b/src/conf/ucm/rt5640/Speaker.conf
@@ -0,0 +1,45 @@
+SectionDevice."Speaker" {
+	Comment "Speaker playback"
+
+	ConflictingDevice [
+		"Headphones"
+		"MonoSpeaker"
+	]
+
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		cset "name='DAC MIXL INF1 Switch' on"
+		cset "name='DAC MIXR INF1 Switch' on"
+		cset "name='Stereo DAC MIXL DAC L1 Switch' on"
+		cset "name='Stereo DAC MIXR DAC R1 Switch' on"
+		cset "name='Stereo DAC MIXL DAC L2 Switch'  on"
+ 		cset "name='Stereo DAC MIXR DAC R2 Switch'  on"
+		cset "name='SPK MIXL DAC L1 Switch' on"
+		cset "name='SPK MIXR DAC R1 Switch' on"
+		cset "name='SPOL MIX SPKVOL L Switch' on"
+		cset "name='SPOR MIX SPKVOL R Switch' on"
+		# undo MonoSpeaker mixing of right channel to left speaker
+		cset "name='SPOL MIX SPKVOL R Switch' off"
+		cset "name='Speaker Switch' on"
+		cset "name='Speaker Channel Switch' on"
+		cset "name='Headphone Switch' off"
+		cset "name='Speaker L Playback Switch' on"
+		cset "name='Speaker R Playback Switch' on"
+		cset "name='Speaker Playback Volume' 35"
+
+	]
+
+	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		cset "name='Speaker Switch' off"
+		cset "name='Speaker Channel Switch' off"
+		cset "name='Speaker L Playback Switch' off"
+		cset "name='Speaker R Playback Switch' off"
+		cset "name='Speaker Playback Volume' 0"
+	]
+
+	Value {
+		PlaybackChannels "2"
+	}
+}
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH 2/2] conf/ucm: bytcr-rt5640: Add long-name UCM profiles
  2018-05-19 11:54 [PATCH 1/2] conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile Hans de Goede
@ 2018-05-19 11:54 ` Hans de Goede
  0 siblings, 0 replies; 2+ messages in thread
From: Hans de Goede @ 2018-05-19 11:54 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Hans de Goede, Pierre-Louis Bossart

With a recently merged kernel commit, the kernel now sets a long-name for
bytcr-rt5640 boards which indicates if a single (mono) speaker or stereo
speakers are used and wether dmic1, in1 or in3 is used for the internal
mic (the headset mic sofar is always in2).

This commit adds UCM profiles for bytcr-rt5640 boards using these new
long-names, based on the generic bytcr-rt5640 profile.

The added profiles have the unnecessary input / output options from the
generic profile removed leaving only 2 input and 2 output options, which
are automatically switched between by e.g. pulse based on jack-detect.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 configure.ac                                  |  6 +++++
 src/conf/ucm/Makefile.am                      |  6 +++++
 .../bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf | 26 +++++++++++++++++++
 .../Makefile.am                               |  4 +++
 .../bytcr-rt5640-mono-spk-dmic1-mic.conf      |  8 ++++++
 .../bytcr-rt5640-mono-spk-in1-mic/HiFi.conf   | 26 +++++++++++++++++++
 .../bytcr-rt5640-mono-spk-in1-mic/Makefile.am |  4 +++
 .../bytcr-rt5640-mono-spk-in1-mic.conf        |  8 ++++++
 .../bytcr-rt5640-mono-spk-in3-mic/HiFi.conf   | 26 +++++++++++++++++++
 .../bytcr-rt5640-mono-spk-in3-mic/Makefile.am |  4 +++
 .../bytcr-rt5640-mono-spk-in3-mic.conf        |  8 ++++++
 .../HiFi.conf                                 | 26 +++++++++++++++++++
 .../Makefile.am                               |  4 +++
 .../bytcr-rt5640-stereo-spk-dmic1-mic.conf    |  8 ++++++
 .../bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf | 26 +++++++++++++++++++
 .../Makefile.am                               |  4 +++
 .../bytcr-rt5640-stereo-spk-in1-mic.conf      |  8 ++++++
 .../bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf | 26 +++++++++++++++++++
 .../Makefile.am                               |  4 +++
 .../bytcr-rt5640-stereo-spk-in3-mic.conf      |  8 ++++++
 20 files changed, 240 insertions(+)
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/Makefile.am
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/bytcr-rt5640-mono-spk-dmic1-mic.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/HiFi.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/Makefile.am
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/bytcr-rt5640-mono-spk-in1-mic.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/HiFi.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/Makefile.am
 create mode 100644 src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/bytcr-rt5640-mono-spk-in3-mic.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/HiFi.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/Makefile.am
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/bytcr-rt5640-stereo-spk-dmic1-mic.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/Makefile.am
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/bytcr-rt5640-stereo-spk-in1-mic.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/Makefile.am
 create mode 100644 src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/bytcr-rt5640-stereo-spk-in3-mic.conf

diff --git a/configure.ac b/configure.ac
index f6ee6ca8..57e0c354 100644
--- a/configure.ac
+++ b/configure.ac
@@ -722,6 +722,12 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
 	  src/conf/ucm/broxton-rt298/Makefile \
 	  src/conf/ucm/bytcr/Makefile \
 	  src/conf/ucm/bytcr-rt5640/Makefile \
+	  src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/Makefile \
+	  src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/Makefile \
+	  src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/Makefile \
+	  src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/Makefile \
+	  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/chtrt5645/Makefile \
 	  src/conf/ucm/chtrt5645-mono-speaker-analog-mic/Makefile \
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
index dc2d6857..a524921b 100644
--- a/src/conf/ucm/Makefile.am
+++ b/src/conf/ucm/Makefile.am
@@ -4,6 +4,12 @@ broadwell-rt286 \
 broxton-rt298 \
 bytcr \
 bytcr-rt5640 \
+bytcr-rt5640-mono-spk-dmic1-mic \
+bytcr-rt5640-mono-spk-in1-mic \
+bytcr-rt5640-mono-spk-in3-mic \
+bytcr-rt5640-stereo-spk-dmic1-mic \
+bytcr-rt5640-stereo-spk-in1-mic \
+bytcr-rt5640-stereo-spk-in3-mic \
 bytcr-rt5651 \
 chtrt5645 \
 chtrt5645-mono-speaker-analog-mic \
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf b/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf
new file mode 100644
index 00000000..47ca04f0
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf
@@ -0,0 +1,26 @@
+# Use case Configuration for bytcr-rt5640
+
+<searchdir:ucm>
+
+SectionVerb {
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		<bytcr/PlatformEnableSeq.conf>
+		<rt5640/EnableSeq.conf>
+	]
+
+	DisableSequence [
+	]
+
+	Value {
+		PlaybackPCM "hw:bytcrrt5640"
+		CapturePCM "hw:bytcrrt5640"
+	}
+}
+
+<rt5640/MonoSpeaker.conf>
+<rt5640/HeadPhones.conf>
+
+<rt5640/DigitalMics.conf>
+<rt5640/HeadsetMic.conf>
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/Makefile.am b/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/Makefile.am
new file mode 100644
index 00000000..55ed3dbd
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/bytcr-rt5640-mono-spk-dmic1-mic
+ucm_DATA = bytcr-rt5640-mono-spk-dmic1-mic.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/bytcr-rt5640-mono-spk-dmic1-mic.conf b/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/bytcr-rt5640-mono-spk-dmic1-mic.conf
new file mode 100644
index 00000000..f5297e9e
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/bytcr-rt5640-mono-spk-dmic1-mic.conf
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+	File "../bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf"
+	Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+	cdev "hw:bytcrrt5640"
+]
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/HiFi.conf b/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/HiFi.conf
new file mode 100644
index 00000000..e280843d
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/HiFi.conf
@@ -0,0 +1,26 @@
+# Use case Configuration for bytcr-rt5640
+
+<searchdir:ucm>
+
+SectionVerb {
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		<bytcr/PlatformEnableSeq.conf>
+		<rt5640/EnableSeq.conf>
+	]
+
+	DisableSequence [
+	]
+
+	Value {
+		PlaybackPCM "hw:bytcrrt5640"
+		CapturePCM "hw:bytcrrt5640"
+	}
+}
+
+<rt5640/MonoSpeaker.conf>
+<rt5640/HeadPhones.conf>
+
+<rt5640/IN1-InternalMic.conf>
+<rt5640/HeadsetMic.conf>
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/Makefile.am b/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/Makefile.am
new file mode 100644
index 00000000..d306cfcb
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/bytcr-rt5640-mono-spk-in1-mic
+ucm_DATA = bytcr-rt5640-mono-spk-in1-mic.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/bytcr-rt5640-mono-spk-in1-mic.conf b/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/bytcr-rt5640-mono-spk-in1-mic.conf
new file mode 100644
index 00000000..cdac03a1
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/bytcr-rt5640-mono-spk-in1-mic.conf
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+	File "../bytcr-rt5640-mono-spk-in1-mic/HiFi.conf"
+	Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+	cdev "hw:bytcrrt5640"
+]
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/HiFi.conf b/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/HiFi.conf
new file mode 100644
index 00000000..511b7c98
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/HiFi.conf
@@ -0,0 +1,26 @@
+# Use case Configuration for bytcr-rt5640
+
+<searchdir:ucm>
+
+SectionVerb {
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		<bytcr/PlatformEnableSeq.conf>
+		<rt5640/EnableSeq.conf>
+	]
+
+	DisableSequence [
+	]
+
+	Value {
+		PlaybackPCM "hw:bytcrrt5640"
+		CapturePCM "hw:bytcrrt5640"
+	}
+}
+
+<rt5640/MonoSpeaker.conf>
+<rt5640/HeadPhones.conf>
+
+<rt5640/IN3-InternalMic.conf>
+<rt5640/HeadsetMic.conf>
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/Makefile.am b/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/Makefile.am
new file mode 100644
index 00000000..3f44a725
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/bytcr-rt5640-mono-spk-in3-mic
+ucm_DATA = bytcr-rt5640-mono-spk-in3-mic.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/bytcr-rt5640-mono-spk-in3-mic.conf b/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/bytcr-rt5640-mono-spk-in3-mic.conf
new file mode 100644
index 00000000..15807363
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/bytcr-rt5640-mono-spk-in3-mic.conf
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+	File "../bytcr-rt5640-mono-spk-in3-mic/HiFi.conf"
+	Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+	cdev "hw:bytcrrt5640"
+]
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/HiFi.conf b/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/HiFi.conf
new file mode 100644
index 00000000..8cf5cb7c
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/HiFi.conf
@@ -0,0 +1,26 @@
+# Use case Configuration for bytcr-rt5640
+
+<searchdir:ucm>
+
+SectionVerb {
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		<bytcr/PlatformEnableSeq.conf>
+		<rt5640/EnableSeq.conf>
+	]
+
+	DisableSequence [
+	]
+
+	Value {
+		PlaybackPCM "hw:bytcrrt5640"
+		CapturePCM "hw:bytcrrt5640"
+	}
+}
+
+<rt5640/Speaker.conf>
+<rt5640/HeadPhones.conf>
+
+<rt5640/DigitalMics.conf>
+<rt5640/HeadsetMic.conf>
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/Makefile.am b/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/Makefile.am
new file mode 100644
index 00000000..acd1f0ef
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/bytcr-rt5640-stereo-spk-dmic1-mic
+ucm_DATA = bytcr-rt5640-stereo-spk-dmic1-mic.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/bytcr-rt5640-stereo-spk-dmic1-mic.conf b/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/bytcr-rt5640-stereo-spk-dmic1-mic.conf
new file mode 100644
index 00000000..a84bf842
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/bytcr-rt5640-stereo-spk-dmic1-mic.conf
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+	File "../bytcr-rt5640-stereo-spk-dmic1-mic/HiFi.conf"
+	Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+	cdev "hw:bytcrrt5640"
+]
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf b/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf
new file mode 100644
index 00000000..a617ba19
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf
@@ -0,0 +1,26 @@
+# Use case Configuration for bytcr-rt5640
+
+<searchdir:ucm>
+
+SectionVerb {
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		<bytcr/PlatformEnableSeq.conf>
+		<rt5640/EnableSeq.conf>
+	]
+
+	DisableSequence [
+	]
+
+	Value {
+		PlaybackPCM "hw:bytcrrt5640"
+		CapturePCM "hw:bytcrrt5640"
+	}
+}
+
+<rt5640/Speaker.conf>
+<rt5640/HeadPhones.conf>
+
+<rt5640/IN1-InternalMic.conf>
+<rt5640/HeadsetMic.conf>
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/Makefile.am b/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/Makefile.am
new file mode 100644
index 00000000..f6f11fe8
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/bytcr-rt5640-stereo-spk-in1-mic
+ucm_DATA = bytcr-rt5640-stereo-spk-in1-mic.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/bytcr-rt5640-stereo-spk-in1-mic.conf b/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/bytcr-rt5640-stereo-spk-in1-mic.conf
new file mode 100644
index 00000000..e8231c17
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/bytcr-rt5640-stereo-spk-in1-mic.conf
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+	File "../bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf"
+	Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+	cdev "hw:bytcrrt5640"
+]
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf b/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf
new file mode 100644
index 00000000..83b31795
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf
@@ -0,0 +1,26 @@
+# Use case Configuration for bytcr-rt5640
+
+<searchdir:ucm>
+
+SectionVerb {
+	EnableSequence [
+		cdev "hw:bytcrrt5640"
+
+		<bytcr/PlatformEnableSeq.conf>
+		<rt5640/EnableSeq.conf>
+	]
+
+	DisableSequence [
+	]
+
+	Value {
+		PlaybackPCM "hw:bytcrrt5640"
+		CapturePCM "hw:bytcrrt5640"
+	}
+}
+
+<rt5640/Speaker.conf>
+<rt5640/HeadPhones.conf>
+
+<rt5640/IN3-InternalMic.conf>
+<rt5640/HeadsetMic.conf>
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/Makefile.am b/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/Makefile.am
new file mode 100644
index 00000000..bedd535d
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/bytcr-rt5640-stereo-spk-in3-mic
+ucm_DATA = bytcr-rt5640-stereo-spk-in3-mic.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/bytcr-rt5640-stereo-spk-in3-mic.conf b/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/bytcr-rt5640-stereo-spk-in3-mic.conf
new file mode 100644
index 00000000..ba369dcf
--- /dev/null
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/bytcr-rt5640-stereo-spk-in3-mic.conf
@@ -0,0 +1,8 @@
+SectionUseCase."HiFi" {
+	File "../bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf"
+	Comment "Play HiFi quality Music"
+}
+
+SectionDefaults [
+	cdev "hw:bytcrrt5640"
+]
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-05-19 11:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-19 11:54 [PATCH 1/2] conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile Hans de Goede
2018-05-19 11:54 ` [PATCH 2/2] conf/ucm: bytcr-rt5640: Add long-name UCM profiles Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.