From 15bc4520f97663ab044799b69da0ded29b92be29 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 20 Jul 2016 19:12:29 +0200 Subject: [PATCH] Add Surface 3 configuration file --- ...trt5645-Add-UCM-config-for-chtrt5645.patch | 279 ++++++++++++++++++ alsa-lib.spec | 10 +- 2 files changed, 288 insertions(+), 1 deletion(-) create mode 100644 0001-conf-ucm-chtrt5645-Add-UCM-config-for-chtrt5645.patch diff --git a/0001-conf-ucm-chtrt5645-Add-UCM-config-for-chtrt5645.patch b/0001-conf-ucm-chtrt5645-Add-UCM-config-for-chtrt5645.patch new file mode 100644 index 0000000..930c9c4 --- /dev/null +++ b/0001-conf-ucm-chtrt5645-Add-UCM-config-for-chtrt5645.patch @@ -0,0 +1,279 @@ +From 9be5ffc8f5ad8b7b528459072cfc754d80446388 Mon Sep 17 00:00:00 2001 +From: Stephen Just +Date: Mon, 4 Jul 2016 10:51:55 -0600 +Subject: [PATCH] conf/ucm: chtrt5645: Add UCM config for chtrt5645 + +Add a UCM configuration for the rt5645 codec on Intel's Cherry-Trail +platform. Tested on the Microsoft Surface 3. + +Signed-off-by: Stephen Just +Signed-off-by: Takashi Iwai +--- + configure.ac | 1 + + src/conf/ucm/Makefile.am | 2 +- + src/conf/ucm/chtrt5645/HiFi.conf | 209 ++++++++++++++++++++++++++++++++++ + src/conf/ucm/chtrt5645/Makefile.am | 4 + + src/conf/ucm/chtrt5645/chtrt5645.conf | 5 + + 5 files changed, 220 insertions(+), 1 deletion(-) + create mode 100644 src/conf/ucm/chtrt5645/HiFi.conf + create mode 100644 src/conf/ucm/chtrt5645/Makefile.am + create mode 100644 src/conf/ucm/chtrt5645/chtrt5645.conf + +diff --git a/configure.ac b/configure.ac +index c265ec9..898ceba 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -658,6 +658,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ + src/conf/ucm/PAZ00/Makefile \ + src/conf/ucm/GoogleNyan/Makefile \ + src/conf/ucm/broadwell-rt286/Makefile \ ++ src/conf/ucm/chtrt5645/Makefile \ + src/conf/topology/Makefile \ + src/conf/topology/broadwell/Makefile \ + modules/Makefile modules/mixer/Makefile modules/mixer/simple/Makefile \ +diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am +index e6a6325..5fa7ba4 100644 +--- a/src/conf/ucm/Makefile.am ++++ b/src/conf/ucm/Makefile.am +@@ -1 +1 @@ +-SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 ++SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 chtrt5645 +diff --git a/src/conf/ucm/chtrt5645/HiFi.conf b/src/conf/ucm/chtrt5645/HiFi.conf +new file mode 100644 +index 0000000..0c2c83c +--- /dev/null ++++ b/src/conf/ucm/chtrt5645/HiFi.conf +@@ -0,0 +1,209 @@ ++SectionVerb { ++ # ALSA PCM ++ Value { ++ TQ "HiFi" ++ ++ # ALSA PCM device for HiFi ++ PlaybackPCM "hw:chtrt5645,0" ++ CapturePCM "hw:chtrt5645,0" ++ } ++ ++ EnableSequence [ ++ cdev "hw:chtrt5645" ++ ++ # Enable audio output path ++ cset "name='codec_out1 mix 0 pcm0_in Switch' on" ++ cset "name='media0_out mix 0 media1_in Switch' on" ++ ++ cset "name='media1_in Gain 0 Ramp Delay' 50" ++ cset "name='media1_in Gain 0 Switch' on" ++ cset "name='media1_in Gain 0 Volume' 80% 80%" ++ ++ cset "name='pcm0_in Gain 0 Ramp Delay' 50" ++ cset "name='pcm0_in Gain 0 Switch' on" ++ cset "name='pcm0_in Gain 0 Volume' 80% 80%" ++ ++ cset "name='codec_out1 Gain 0 Ramp Delay' 50" ++ cset "name='codec_out1 Gain 0 Switch' on" ++ cset "name='codec_out1 Gain 0 Volume' 70% 70%" ++ ++ # Enable audio input path ++ cset "name='pcm1_out mix 0 media_loop2_in Switch' on" ++ cset "name='media_loop2_out mix 0 codec_in0 Switch' on" ++ ++ cset "name='codec_in0 Gain 0 Ramp Delay' 50" ++ cset "name='codec_in0 Gain 0 Switch' on" ++ cset "name='codec_in0 Gain 0 Volume' 80% 80%" ++ ++ cset "name='media_loop2_out Gain 0 Ramp Delay' 50" ++ cset "name='media_loop2_out Gain 0 Switch' on" ++ cset "name='media_loop2_out Gain 0 Volume' 80% 80%" ++ ++ cset "name='pcm1_out Gain 0 Ramp Delay' 50" ++ cset "name='pcm1_out Gain 0 Switch' on" ++ cset "name='pcm1_out Gain 0 Volume' 80% 80%" ++ ++ # Output Configuration ++ cset "name='DAC L2 Mux' 'IF1 DAC'" ++ cset "name='DAC R2 Mux' 'IF1 DAC'" ++ cset "name='Mono DAC MIXL DAC L2 Switch' on" ++ cset "name='Mono DAC MIXR DAC R2 Switch' on" ++ cset "name='DAC2 Playback Switch' on" ++ ++ cset "name='HPOVOL MIXL DAC2 Switch' on" ++ cset "name='HPOVOL MIXR DAC2 Switch' on" ++ cset "name='HPO MIX HPVOL Switch' on" ++ cset "name='HPOVOL L Switch' on" ++ cset "name='HPOVOL R Switch' on" ++ ++ cset "name='SPK MIXL DAC L2 Switch' on" ++ cset "name='SPK MIXR DAC R2 Switch' on" ++ cset "name='SPOL MIX SPKVOL L Switch' on" ++ cset "name='SPOR MIX SPKVOL R Switch' on" ++ cset "name='SPKVOL L Switch' on" ++ cset "name='SPKVOL R Switch' on" ++ ++ # Input Configuration ++ cset "name='Stereo1 DMIC Mux' 0" ++ cset "name='Stereo1 ADC2 Mux' 1" ++ cset "name='ADC Capture Switch' on" ++ cset "name='ADC Capture Volume' 31" ++ cset "name='ADC Boost Capture Volume' 3" ++ cset "name='Mono ADC Capture Volume' 63" ++ cset "name='Mono ADC Boost Capture Volume' 2" ++ cset "name='IN Capture Volume' 63" ++ cset "name='I2S2 Func Switch' on" ++ ++ ] ++ ++ DisableSequence [ ++ cdev "hw:chtrt5645" ++ ++ # Disable audio output path ++ cset "name='codec_out1 mix 0 pcm0_in Switch' off" ++ cset "name='media0_out mix 0 media1_in Switch' off" ++ ++ cset "name='media1_in Gain 0 Switch' off" ++ cset "name='pcm0_in Gain 0 Switch' off" ++ cset "name='codec_out1 Gain 0 Switch' off" ++ ++ # Disable audio input path ++ cset "name='pcm1_out mix 0 media_loop2_in Switch' off" ++ cset "name='media_loop2_out mix 0 codec_in0 Switch' off" ++ ++ cset "name='media_loop2_out Gain 0 Switch' off" ++ cset "name='pcm1_out Gain 0 Switch' off" ++ cset "name='codec_in0 Gain 0 Switch' off" ++ ] ++} ++ ++SectionDevice."Speaker" { ++ Comment "Speaker" ++ ++ Value { ++ PlaybackChannels "2" ++ } ++ ++ ConflictingDevice [ ++ "Headphone" ++ ] ++ ++ EnableSequence [ ++ cdev "hw:chtrt5645" ++ ++ cset "name='Ext Spk Switch' on" ++ cset "name='Speaker Channel Switch' on" ++ cset "name='Speaker Playback Volume' 39" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:chtrt5645" ++ ++ cset "name='Ext Spk Switch' off" ++ cset "name='Speaker Channel Switch' off" ++ ] ++} ++ ++SectionDevice."Headphone".0 { ++ Comment "Headphones" ++ ++ Value { ++ PlaybackChannels "2" ++ JackControl "Headphone Jack" ++ JackHWMute "Speaker" ++ } ++ ++ ConflictingDevice [ ++ "Speaker" ++ ] ++ ++ EnableSequence [ ++ cdev "hw:chtrt5645" ++ ++ cset "name='Headphone Switch' on" ++ cset "name='Headphone Channel Switch' on" ++ cset "name='Headphone Playback Volume' 39" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:chtrt5645" ++ ++ cset "name='Headphone Switch' off" ++ cset "name='Headphone Channel Switch' off" ++ ] ++} ++ ++SectionDevice."Mic".0 { ++ Comment "Internal Microphone" ++ ++ Value { ++ CaptureChannels "2" ++ CapturePriority "150" ++ } ++ ++ EnableSequence [ ++ cdev "hw:chtrt5645" ++ ++ cset "name='Int Mic Switch' on" ++ cset "name='Sto1 ADC MIXL ADC2 Switch' on" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' on" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:chtrt5645" ++ ++ cset "name='Sto1 ADC MIXL ADC2 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC2 Switch' off" ++ cset "name='Int Mic Switch' off" ++ ] ++} ++ ++SectionDevice."HSMic".0 { ++ Comment "Headset Microphone" ++ ++ Value { ++ CaptureChannels "2" ++ JackControl "Headset Mic Jack" ++ JackHWMute "Mic" ++ } ++ ++ EnableSequence [ ++ cdev "hw:chtrt5645" ++ ++ cset "name='Headset Mic Switch' on" ++ cset "name='RECMIXL BST1 Switch' on" ++ cset "name='RECMIXR BST1 Switch' on" ++ cset "name='Sto1 ADC MIXL ADC1 Switch' on" ++ cset "name='Sto1 ADC MIXR ADC1 Switch' on" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:chtrt5645" ++ ++ cset "name='Headset Mic Switch' off" ++ cset "name='RECMIXL BST1 Switch' off" ++ cset "name='RECMIXR BST1 Switch' off" ++ cset "name='Sto1 ADC MIXL ADC1 Switch' off" ++ cset "name='Sto1 ADC MIXR ADC1 Switch' off" ++ ] ++} +diff --git a/src/conf/ucm/chtrt5645/Makefile.am b/src/conf/ucm/chtrt5645/Makefile.am +new file mode 100644 +index 0000000..b3a82f5 +--- /dev/null ++++ b/src/conf/ucm/chtrt5645/Makefile.am +@@ -0,0 +1,4 @@ ++alsaconfigdir = @ALSA_CONFIG_DIR@ ++ucmdir = $(alsaconfigdir)/ucm/chtrt5645 ++ucm_DATA = chtrt5645.conf HiFi.conf ++EXTRA_DIST = $(ucm_DATA) +diff --git a/src/conf/ucm/chtrt5645/chtrt5645.conf b/src/conf/ucm/chtrt5645/chtrt5645.conf +new file mode 100644 +index 0000000..dfc36c8 +--- /dev/null ++++ b/src/conf/ucm/chtrt5645/chtrt5645.conf +@@ -0,0 +1,5 @@ ++Comment "Intel SoC Audio Device" ++SectionUseCase."HiFi" { ++ File "HiFi.conf" ++ Comment "Default" ++} +-- +2.7.4 + diff --git a/alsa-lib.spec b/alsa-lib.spec index 7651fc4..864306d 100644 --- a/alsa-lib.spec +++ b/alsa-lib.spec @@ -5,7 +5,7 @@ Summary: The Advanced Linux Sound Architecture (ALSA) library Name: alsa-lib Version: 1.1.1 -Release: 1%{?prever_dot}%{?dist} +Release: 2%{?prever_dot}%{?dist} License: LGPLv2+ Group: System Environment/Libraries URL: http://www.alsa-project.org/ @@ -17,8 +17,11 @@ Source12: modprobe-dist-oss.conf Patch0: alsa-lib-1.0.24-config.patch Patch1: alsa-lib-1.0.14-glibc-open.patch Patch2: alsa-lib-1.0.16-no-dox-date.patch +# https://bugzilla.kernel.org/show_bug.cgi?id=98001#c41 - rebased +Patch3: 0001-conf-ucm-chtrt5645-Add-UCM-config-for-chtrt5645.patch BuildRequires: doxygen +BuildRequires: autoconf automake libtool Requires(post): /sbin/ldconfig, coreutils %description @@ -56,6 +59,8 @@ Manager allows configuration of Audio input/output names and routing %patch0 -p1 -b .config %patch1 -p1 -b .glibc-open %patch2 -p1 -b .no-dox-date +%patch3 -p1 -b .surface3 +autoreconf -f -i %build %configure --disable-aload --with-plugindir=%{_libdir}/alsa-lib --disable-alisp @@ -119,6 +124,9 @@ find %{buildroot} -name '*.la' -delete %{_datadir}/alsa/ucm %changelog +* Tue Jul 19 2016 Bastien Nocera - 1.1.1-2 +- Add Surface 3 configuration file + * Thu Mar 31 2016 Jaroslav Kysela - 1.1.1-1 - Updated to 1.1.1