[alsa-devel] [PATCH 0/5] conf/ucm: Add bytcr-rt5640 and chtnau8824 profiles
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
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" + } +}
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" +]
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"
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" + ] +}
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" +}
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
participants (2)
-
Hans de Goede
-
Jaroslav Kysela