All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles
@ 2018-05-31 15:10 Hans de Goede
  2018-05-31 15:10 ` [PATCH 1/5] conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile Hans de Goede
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Hans de Goede @ 2018-05-31 15:10 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Hans de Goede, Pierre-Louis Bossart

Hi All,

Here is v2 of my bytcr-rt5640 UCM profile patches, compared to v1 this
fixes a small typo and adds an extra patch adding a disable sequence
for the SST, based on the disable sequence found in the nau8824 profile
from: https://github.com/plbossart/UCM/tree/master/chtnau8824

Also new in this version of the patch series is a new UCM profile for
the CHT + NAU8824 combo, based on the above profile. This nicely shows
the advantages of the new split UCM profile approach, as this shared
the SST (bytcr) enable / disable sequences with the rt5640 profile.

Regards,

Hans

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

* [PATCH 1/5] conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile
  2018-05-31 15:10 [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Hans de Goede
@ 2018-05-31 15:10 ` Hans de Goede
  2018-05-31 15:10 ` [PATCH 2/5] conf/ucm: bytcr-rt5640: Add long-name UCM profiles Hans de Goede
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Hans de Goede @ 2018-05-31 15:10 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..0e7149e5
--- /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"
+		cset "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] 7+ messages in thread

* [PATCH 2/5] conf/ucm: bytcr-rt5640: Add long-name UCM profiles
  2018-05-31 15:10 [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Hans de Goede
  2018-05-31 15:10 ` [PATCH 1/5] conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile Hans de Goede
@ 2018-05-31 15:10 ` Hans de Goede
  2018-05-31 15:10 ` [PATCH 3/5] conf/ucm: bytcr-rt5640: Add default DisableSequence Hans de Goede
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Hans de Goede @ 2018-05-31 15:10 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] 7+ messages in thread

* [PATCH 3/5] conf/ucm: bytcr-rt5640: Add default DisableSequence
  2018-05-31 15:10 [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Hans de Goede
  2018-05-31 15:10 ` [PATCH 1/5] conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile Hans de Goede
  2018-05-31 15:10 ` [PATCH 2/5] conf/ucm: bytcr-rt5640: Add long-name UCM profiles Hans de Goede
@ 2018-05-31 15:10 ` Hans de Goede
  2018-05-31 15:10 ` [PATCH 4/5] conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards Hans de Goede
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Hans de Goede @ 2018-05-31 15:10 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Hans de Goede, Pierre-Louis Bossart

Add a disable sequence powering off the SST mixer elements, loosely
based on the default DisableSequence from:
https://github.com/plbossart/UCM/blob/master/chtnau8824/HiFi.conf

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 .../bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf |  2 ++
 .../bytcr-rt5640-mono-spk-in1-mic/HiFi.conf   |  2 ++
 .../bytcr-rt5640-mono-spk-in3-mic/HiFi.conf   |  2 ++
 .../HiFi.conf                                 |  2 ++
 .../bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf |  2 ++
 .../bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf |  2 ++
 src/conf/ucm/bytcr-rt5640/HiFi.conf           |  2 ++
 src/conf/ucm/bytcr/Makefile.am                |  2 +-
 src/conf/ucm/bytcr/PlatformDisableSeq.conf    | 20 +++++++++++++++++++
 9 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 src/conf/ucm/bytcr/PlatformDisableSeq.conf

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
index 47ca04f0..938b3592 100644
--- a/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-dmic1-mic/HiFi.conf
@@ -11,6 +11,8 @@ SectionVerb {
 	]
 
 	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		<bytcr/PlatformDisableSeq.conf>
 	]
 
 	Value {
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
index e280843d..f36b245e 100644
--- a/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/HiFi.conf
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-in1-mic/HiFi.conf
@@ -11,6 +11,8 @@ SectionVerb {
 	]
 
 	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		<bytcr/PlatformDisableSeq.conf>
 	]
 
 	Value {
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
index 511b7c98..1a08eded 100644
--- a/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/HiFi.conf
+++ b/src/conf/ucm/bytcr-rt5640-mono-spk-in3-mic/HiFi.conf
@@ -11,6 +11,8 @@ SectionVerb {
 	]
 
 	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		<bytcr/PlatformDisableSeq.conf>
 	]
 
 	Value {
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
index 8cf5cb7c..4587b2e1 100644
--- a/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/HiFi.conf
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-dmic1-mic/HiFi.conf
@@ -11,6 +11,8 @@ SectionVerb {
 	]
 
 	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		<bytcr/PlatformDisableSeq.conf>
 	]
 
 	Value {
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
index a617ba19..decd3960 100644
--- a/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-in1-mic/HiFi.conf
@@ -11,6 +11,8 @@ SectionVerb {
 	]
 
 	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		<bytcr/PlatformDisableSeq.conf>
 	]
 
 	Value {
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
index 83b31795..d243bf82 100644
--- a/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf
+++ b/src/conf/ucm/bytcr-rt5640-stereo-spk-in3-mic/HiFi.conf
@@ -11,6 +11,8 @@ SectionVerb {
 	]
 
 	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		<bytcr/PlatformDisableSeq.conf>
 	]
 
 	Value {
diff --git a/src/conf/ucm/bytcr-rt5640/HiFi.conf b/src/conf/ucm/bytcr-rt5640/HiFi.conf
index 130671ca..c833fe74 100644
--- a/src/conf/ucm/bytcr-rt5640/HiFi.conf
+++ b/src/conf/ucm/bytcr-rt5640/HiFi.conf
@@ -11,6 +11,8 @@ SectionVerb {
 	]
 
 	DisableSequence [
+		cdev "hw:bytcrrt5640"
+		<bytcr/PlatformDisableSeq.conf>
 	]
 
 	Value {
diff --git a/src/conf/ucm/bytcr/Makefile.am b/src/conf/ucm/bytcr/Makefile.am
index a0e5545e..f7a54cbd 100644
--- a/src/conf/ucm/bytcr/Makefile.am
+++ b/src/conf/ucm/bytcr/Makefile.am
@@ -1,4 +1,4 @@
 alsaconfigdir = @ALSA_CONFIG_DIR@
 ucmdir = $(alsaconfigdir)/ucm/bytcr
-ucm_DATA = PlatformEnableSeq.conf
+ucm_DATA = PlatformEnableSeq.conf PlatformDisableSeq.conf
 EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/bytcr/PlatformDisableSeq.conf b/src/conf/ucm/bytcr/PlatformDisableSeq.conf
new file mode 100644
index 00000000..9bb018bc
--- /dev/null
+++ b/src/conf/ucm/bytcr/PlatformDisableSeq.conf
@@ -0,0 +1,20 @@
+# disable audio output path
+cset "name='codec_out0 mix 0 pcm0_in Switch' off"
+cset "name='modem_out mix 0 pcm0_in Switch' off"
+
+cset "name='media0_out mix 0 media0_in Switch' off"
+cset "name='media0_out mix 0 media1_in Switch' off"
+cset "name='media0_out mix 0 media3_in Switch' off"
+
+cset "name='media0_in Gain 0 Switch' off"
+cset "name='media1_in Gain 0 Switch' off"
+cset "name='media3_in Gain 0 Switch' off"
+
+cset "name='pcm0_in Gain 0 Switch' off"
+cset "name='codec_out0 Gain 0 Switch' off"
+cset "name='modem_out Gain 0 Switch' off"
+
+# disable audio input path
+cset "name='pcm1_out Gain 0 Switch' off"
+cset "name='codec_in0 Gain 0 Switch' off"
+cset "name='modem_in Gain 0 Switch' off"
-- 
2.17.0

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

* [PATCH 4/5] conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards
  2018-05-31 15:10 [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Hans de Goede
                   ` (2 preceding siblings ...)
  2018-05-31 15:10 ` [PATCH 3/5] conf/ucm: bytcr-rt5640: Add default DisableSequence Hans de Goede
@ 2018-05-31 15:10 ` Hans de Goede
  2018-05-31 15:10 ` [PATCH 5/5] conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles Hans de Goede
  2018-05-31 15:56 ` [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Jaroslav Kysela
  5 siblings, 0 replies; 7+ messages in thread
From: Hans de Goede @ 2018-05-31 15:10 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Hans de Goede, Pierre-Louis Bossart

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@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

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

* [PATCH 5/5] conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles
  2018-05-31 15:10 [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Hans de Goede
                   ` (3 preceding siblings ...)
  2018-05-31 15:10 ` [PATCH 4/5] conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards Hans de Goede
@ 2018-05-31 15:10 ` Hans de Goede
  2018-05-31 15:56 ` [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Jaroslav Kysela
  5 siblings, 0 replies; 7+ messages in thread
From: Hans de Goede @ 2018-05-31 15:10 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Hans de Goede, Pierre-Louis Bossart

The Cube iWork8 Air and Pipo W2S tablets both only have a single speaker.
Add long-name profiles for them which are identical to the default
chtnau8824 profile, except that they include the nau8824/MonoSpeaker.conf
snippet instead of the nau8824/Speaker.conf one.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 configure.ac                                  |  2 ++
 src/conf/ucm/Makefile.am                      |  2 ++
 .../HiFi.conf                                 | 28 +++++++++++++++++++
 .../Makefile.am                               |  4 +++
 .../PIPO-W2S-Defaultstring-CherryTrailCR.conf |  6 ++++
 .../HiFi.conf                                 | 28 +++++++++++++++++++
 .../Makefile.am                               |  4 +++
 ...ube-i1_TF-Defaultstring-CherryTrailCR.conf |  6 ++++
 8 files changed, 80 insertions(+)
 create mode 100644 src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/HiFi.conf
 create mode 100644 src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/Makefile.am
 create mode 100644 src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/PIPO-W2S-Defaultstring-CherryTrailCR.conf
 create mode 100644 src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/HiFi.conf
 create mode 100644 src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/Makefile.am
 create mode 100644 src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/cube-i1_TF-Defaultstring-CherryTrailCR.conf

diff --git a/configure.ac b/configure.ac
index ce21c7fb..adc654e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -732,6 +732,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
 	  src/conf/ucm/chtnau8824/Makefile \
 	  src/conf/ucm/chtrt5645/Makefile \
 	  src/conf/ucm/chtrt5645-mono-speaker-analog-mic/Makefile \
+	  src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/Makefile \
 	  src/conf/ucm/DAISY-I2S/Makefile \
 	  src/conf/ucm/DB410c/Makefile \
 	  src/conf/ucm/Dell-WD15-Dock/Makefile \
@@ -744,6 +745,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/PIPO-W2S-Defaultstring-CherryTrailCR/Makefile \
 	  src/conf/ucm/rt5640/Makefile \
 	  src/conf/ucm/SDP4430/Makefile \
 	  src/conf/ucm/skylake-rt286/Makefile \
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
index c350c526..1e51f73e 100644
--- a/src/conf/ucm/Makefile.am
+++ b/src/conf/ucm/Makefile.am
@@ -14,6 +14,7 @@ bytcr-rt5651 \
 chtnau8824 \
 chtrt5645 \
 chtrt5645-mono-speaker-analog-mic \
+cube-i1_TF-Defaultstring-CherryTrailCR \
 DAISY-I2S \
 DB410c \
 Dell-WD15-Dock \
@@ -26,6 +27,7 @@ nau8824 \
 PandaBoard \
 PandaBoardES \
 PAZ00 \
+PIPO-W2S-Defaultstring-CherryTrailCR \
 rt5640 \
 SDP4430 \
 skylake-rt286 \
diff --git a/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/HiFi.conf b/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/HiFi.conf
new file mode 100644
index 00000000..799163db
--- /dev/null
+++ b/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/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/MonoSpeaker.conf>
+<nau8824/HeadPhones.conf>
+
+<nau8824/InternalMic.conf>
+<nau8824/HeadsetMic.conf>
diff --git a/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/Makefile.am b/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/Makefile.am
new file mode 100644
index 00000000..5fc0f210
--- /dev/null
+++ b/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/PIPO-W2S-Defaultstring-CherryTrailCR
+ucm_DATA = PIPO-W2S-Defaultstring-CherryTrailCR.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/PIPO-W2S-Defaultstring-CherryTrailCR.conf b/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/PIPO-W2S-Defaultstring-CherryTrailCR.conf
new file mode 100644
index 00000000..37a8d04e
--- /dev/null
+++ b/src/conf/ucm/PIPO-W2S-Defaultstring-CherryTrailCR/PIPO-W2S-Defaultstring-CherryTrailCR.conf
@@ -0,0 +1,6 @@
+Comment "chtnau8824 internal card"
+
+SectionUseCase."HiFi" {
+	File "../PIPO-W2S-Defaultstring-CherryTrailCR/HiFi.conf"
+	Comment "Default"
+}
diff --git a/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/HiFi.conf b/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/HiFi.conf
new file mode 100644
index 00000000..799163db
--- /dev/null
+++ b/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/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/MonoSpeaker.conf>
+<nau8824/HeadPhones.conf>
+
+<nau8824/InternalMic.conf>
+<nau8824/HeadsetMic.conf>
diff --git a/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/Makefile.am b/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/Makefile.am
new file mode 100644
index 00000000..92df54fd
--- /dev/null
+++ b/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/Makefile.am
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/cube-i1_TF-Defaultstring-CherryTrailCR
+ucm_DATA = cube-i1_TF-Defaultstring-CherryTrailCR.conf HiFi.conf
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/cube-i1_TF-Defaultstring-CherryTrailCR.conf b/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/cube-i1_TF-Defaultstring-CherryTrailCR.conf
new file mode 100644
index 00000000..3775ed4c
--- /dev/null
+++ b/src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/cube-i1_TF-Defaultstring-CherryTrailCR.conf
@@ -0,0 +1,6 @@
+Comment "chtnau8824 internal card"
+
+SectionUseCase."HiFi" {
+	File "../cube-i1_TF-Defaultstring-CherryTrailCR/HiFi.conf"
+	Comment "Default"
+}
-- 
2.17.0

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

* Re: [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles
  2018-05-31 15:10 [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Hans de Goede
                   ` (4 preceding siblings ...)
  2018-05-31 15:10 ` [PATCH 5/5] conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles Hans de Goede
@ 2018-05-31 15:56 ` Jaroslav Kysela
  5 siblings, 0 replies; 7+ messages in thread
From: Jaroslav Kysela @ 2018-05-31 15:56 UTC (permalink / raw)
  To: Hans de Goede, alsa-devel; +Cc: Takashi Iwai, Pierre-Louis Bossart

Dne 31.5.2018 v 17:10 Hans de Goede napsal(a):
> Hi All,
> 
> Here is v2 of my bytcr-rt5640 UCM profile patches, compared to v1 this
> fixes a small typo and adds an extra patch adding a disable sequence
> for the SST, based on the disable sequence found in the nau8824 profile
> from: https://github.com/plbossart/UCM/tree/master/chtnau8824
> 
> Also new in this version of the patch series is a new UCM profile for
> the CHT + NAU8824 combo, based on the above profile. This nicely shows
> the advantages of the new split UCM profile approach, as this shared
> the SST (bytcr) enable / disable sequences with the rt5640 profile.

Applied all to the alsa-lib repo. Thanks.

				Jaroslav

-- 
Jaroslav Kysela <perex@perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.

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

end of thread, other threads:[~2018-05-31 15:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-31 15:10 [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Hans de Goede
2018-05-31 15:10 ` [PATCH 1/5] conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile Hans de Goede
2018-05-31 15:10 ` [PATCH 2/5] conf/ucm: bytcr-rt5640: Add long-name UCM profiles Hans de Goede
2018-05-31 15:10 ` [PATCH 3/5] conf/ucm: bytcr-rt5640: Add default DisableSequence Hans de Goede
2018-05-31 15:10 ` [PATCH 4/5] conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards Hans de Goede
2018-05-31 15:10 ` [PATCH 5/5] conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles Hans de Goede
2018-05-31 15:56 ` [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles Jaroslav Kysela

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.