Accepting request 663635 from home:tiwai:branches:multimedia:libs
- Update to alsa-lib 1.1.8 * Core: conf: rename snd_conf_load1() to _snd_config_load_with_include() conf/ucm: bytcht-es8316: Add long-name UCM profiles conf/ucm: Add UCM profile for bytcht-es8316 boards Create shared {En,Dis}ableSeq.conf components for rt5645 variants conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform conf/ucm: chtrt5650: Add UCM config for chtrt5650 ucm: Set default include path conf: Move UCM profile snippets into components subdirectory initial version of .travis.yml file * Control API: control: fix the assert() in snd_ctl_elem_set_bytes * PCM API: pcm: ioplug: Fix the regression of pulse plugin drain pcm: extplug: Keep format and channels the same if requested pcm: dshare: Fix segfault when not binding channel 0 pcm: dmix: Add option to allow alignment of slave pointers pcm: interval: Interpret (x x+1] correctly and return x+1 * Use Case Manager API: conf: rename snd_conf_load1() to _snd_config_load_with_include() ucm: Set default include path conf: Move UCM profile snippets into components subdirectory * Configuration: conf: rename snd_conf_load1() to _snd_config_load_with_include() conf/ucm: bytcht-es8316: Add long-name UCM profiles conf/ucm: Add UCM profile for bytcht-es8316 boards Create device component for rt5645 Internal Analog Mic UCM Factor out rt5645 variants Headset+Digital Mic UCM shared {en,dis}able sequences OBS-URL: https://build.opensuse.org/request/show/663635 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=241
This commit is contained in:
parent
2f72eec5e8
commit
1243929311
@ -1,48 +0,0 @@
|
|||||||
From 6eced6b4b6dca9f62ea3d13a40c5991231df3c5c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Takashi Iwai <tiwai@suse.de>
|
|
||||||
Date: Thu, 18 Oct 2018 09:38:38 +0200
|
|
||||||
Subject: [PATCH] conf/ucm/Dell-WD15-Dock: Fix incorrect device names
|
|
||||||
|
|
||||||
The device name string for Dell WD15 (and its variants) dock is set as
|
|
||||||
"WD15Dock", while the actual device name to be used is "Dock".
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1112292
|
|
||||||
Fixes: 8ebb40c96970 ("conf/ucm: Add a UCM profile for Dell WD15 Dock USB-audio")
|
|
||||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
||||||
---
|
|
||||||
src/conf/ucm/Dell-WD15-Dock/HiFi.conf | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/conf/ucm/Dell-WD15-Dock/HiFi.conf b/src/conf/ucm/Dell-WD15-Dock/HiFi.conf
|
|
||||||
index b07f34400086..1b6bd21237f1 100644
|
|
||||||
--- a/src/conf/ucm/Dell-WD15-Dock/HiFi.conf
|
|
||||||
+++ b/src/conf/ucm/Dell-WD15-Dock/HiFi.conf
|
|
||||||
@@ -3,7 +3,7 @@ SectionDevice."Headphone" {
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackChannels "2"
|
|
||||||
- PlaybackPCM "hw:WD15Dock,0"
|
|
||||||
+ PlaybackPCM "hw:Dock,0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ SectionDevice."LineOut" {
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackChannels "2"
|
|
||||||
- PlaybackPCM "hw:WD15Dock,1"
|
|
||||||
+ PlaybackPCM "hw:Dock,1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -21,6 +21,6 @@ SectionDevice."Mic" {
|
|
||||||
|
|
||||||
Value {
|
|
||||||
CaptureChannels "2"
|
|
||||||
- CapturePCM "hw:WD15Dock,0"
|
|
||||||
+ CapturePCM "hw:Dock,0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.19.0
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
|||||||
From b420056604f06117c967b65d43d01536c5ffcbc9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Timo Wischer <twischer@de.adit-jv.com>
|
|
||||||
Date: Thu, 18 Oct 2018 13:33:24 +0200
|
|
||||||
Subject: [PATCH] pcm: interval: Interpret (x x+1] correctly and return x+1
|
|
||||||
|
|
||||||
Without this change an interval of (x x+1] will be interpreted as an
|
|
||||||
empty interval but the right value would be x+1.
|
|
||||||
This leads to a failing snd_pcm_hw_params() call which returns -EINVAL.
|
|
||||||
|
|
||||||
An example issue log is given in the following:
|
|
||||||
snd_pcm_hw_params failed with err -22 (Invalid argument)
|
|
||||||
ACCESS: MMAP_NONINTERLEAVED
|
|
||||||
FORMAT: S16_LE
|
|
||||||
SUBFORMAT: STD
|
|
||||||
SAMPLE_BITS: 16
|
|
||||||
FRAME_BITS: 16
|
|
||||||
CHANNELS: 1
|
|
||||||
RATE: 16000
|
|
||||||
PERIOD_TIME: (15999 16000]
|
|
||||||
PERIOD_SIZE: (255 256]
|
|
||||||
PERIOD_BYTES: (510 512]
|
|
||||||
PERIODS: [2 3)
|
|
||||||
BUFFER_TIME: 32000
|
|
||||||
BUFFER_SIZE: 512
|
|
||||||
BUFFER_BYTES: 1024
|
|
||||||
|
|
||||||
In case of (x x+1) we have to interpret it anyway as a single value of x to
|
|
||||||
compensate rounding issues.
|
|
||||||
For example the period size will result in an interval of (352 353) when
|
|
||||||
the period time is 16ms and the sample rate 22050 Hz
|
|
||||||
(16ms * 22,05 kHz = 352,8 frames). But 352 has to be chosen to allow a
|
|
||||||
buffer size of 705 (32ms * 22,05 kHz = 705,6 frames) which has to be >= 2x
|
|
||||||
period size to avoid Xruns. The buffer size will not end up with an
|
|
||||||
interval of (705 706) simular to the period size because
|
|
||||||
snd_pcm_rate_hw_refine_cchange() calls snd_interval_floor() for the buffer
|
|
||||||
size. Therefore this value will be interpreted as an integer interval
|
|
||||||
instead of a real interval further on.
|
|
||||||
|
|
||||||
This issue seems to exist since the change of 9bb985c38 ("pcm:
|
|
||||||
snd_interval_refine_first/last: exclude value only if also excluded
|
|
||||||
before")
|
|
||||||
|
|
||||||
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
|
|
||||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
---
|
|
||||||
src/pcm/interval_inline.h | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/pcm/interval_inline.h b/src/pcm/interval_inline.h
|
|
||||||
index a68e292b2279..d9a30b2a8646 100644
|
|
||||||
--- a/src/pcm/interval_inline.h
|
|
||||||
+++ b/src/pcm/interval_inline.h
|
|
||||||
@@ -51,12 +51,14 @@ INTERVAL_INLINE int snd_interval_single(const snd_interval_t *i)
|
|
||||||
{
|
|
||||||
assert(!snd_interval_empty(i));
|
|
||||||
return (i->min == i->max ||
|
|
||||||
- (i->min + 1 == i->max && i->openmax));
|
|
||||||
+ (i->min + 1 == i->max && (i->openmin || i->openmax)));
|
|
||||||
}
|
|
||||||
|
|
||||||
INTERVAL_INLINE int snd_interval_value(const snd_interval_t *i)
|
|
||||||
{
|
|
||||||
assert(snd_interval_single(i));
|
|
||||||
+ if (i->openmin && !i->openmax)
|
|
||||||
+ return i->max;
|
|
||||||
return i->min;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:9d6000b882a3b2df56300521225d69717be6741b71269e488bb20a20783bdc09
|
|
||||||
size 1005257
|
|
3
alsa-lib-1.1.8.tar.bz2
Normal file
3
alsa-lib-1.1.8.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3cdc3a93a6427a26d8efab4ada2152e64dd89140d981f6ffa003e85be707aedf
|
||||||
|
size 1002562
|
12
alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch
Normal file
12
alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
--- a/src/conf.c
|
||||||
|
+++ b/src/conf.c
|
||||||
|
@@ -3904,6 +3904,9 @@ int snd_config_update_r(snd_config_t **_top, snd_config_update_t **_update, cons
|
||||||
|
configs = cfgs;
|
||||||
|
if (!configs) {
|
||||||
|
configs = getenv(ALSA_CONFIG_PATH_VAR);
|
||||||
|
+ /* ignore the non-accessible override */
|
||||||
|
+ if (configs && access(configs, R_OK) < 0)
|
||||||
|
+ configs = NULL;
|
||||||
|
if (!configs || !*configs) {
|
||||||
|
const char *topdir = snd_config_topdir();
|
||||||
|
char *s = alloca(strlen(topdir) +
|
67
alsa.changes
67
alsa.changes
@ -1,3 +1,70 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 7 15:32:13 CET 2019 - tiwai@suse.de
|
||||||
|
|
||||||
|
- Update to alsa-lib 1.1.8
|
||||||
|
* Core:
|
||||||
|
conf: rename snd_conf_load1() to _snd_config_load_with_include()
|
||||||
|
conf/ucm: bytcht-es8316: Add long-name UCM profiles
|
||||||
|
conf/ucm: Add UCM profile for bytcht-es8316 boards
|
||||||
|
Create shared {En,Dis}ableSeq.conf components for rt5645 variants
|
||||||
|
conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config
|
||||||
|
conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform
|
||||||
|
conf/ucm: chtrt5650: Add UCM config for chtrt5650
|
||||||
|
ucm: Set default include path
|
||||||
|
conf: Move UCM profile snippets into components subdirectory
|
||||||
|
initial version of .travis.yml file
|
||||||
|
* Control API:
|
||||||
|
control: fix the assert() in snd_ctl_elem_set_bytes
|
||||||
|
* PCM API:
|
||||||
|
pcm: ioplug: Fix the regression of pulse plugin drain
|
||||||
|
pcm: extplug: Keep format and channels the same if requested
|
||||||
|
pcm: dshare: Fix segfault when not binding channel 0
|
||||||
|
pcm: dmix: Add option to allow alignment of slave pointers
|
||||||
|
pcm: interval: Interpret (x x+1] correctly and return x+1
|
||||||
|
* Use Case Manager API:
|
||||||
|
conf: rename snd_conf_load1() to _snd_config_load_with_include()
|
||||||
|
ucm: Set default include path
|
||||||
|
conf: Move UCM profile snippets into components subdirectory
|
||||||
|
* Configuration:
|
||||||
|
conf: rename snd_conf_load1() to _snd_config_load_with_include()
|
||||||
|
conf/ucm: bytcht-es8316: Add long-name UCM profiles
|
||||||
|
conf/ucm: Add UCM profile for bytcht-es8316 boards
|
||||||
|
Create device component for rt5645 Internal Analog Mic UCM
|
||||||
|
Factor out rt5645 variants Headset+Digital Mic UCM shared {en,dis}able sequences
|
||||||
|
Factor out rt5645 variants Speaker+Headphones shared UCM enable sequences
|
||||||
|
Create shared {En,Dis}ableSeq.conf components for rt5645 variants
|
||||||
|
Update chtrt5645 ucm variants to use bytcr/PlatformEnableSeq.conf component
|
||||||
|
conf/ucm: bytcr-rt5651: Document mono speaker wiring
|
||||||
|
conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config
|
||||||
|
conf/ucm: bytcr-rt5651: Add digital mic support
|
||||||
|
conf/ucm: bytcr-rt5651: Add support for a headset-mic on IN2
|
||||||
|
conf/ucm: bytcr-rt5651: Enable Stereo? ADC MIXL ADC? switches when enabling inputs
|
||||||
|
conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform
|
||||||
|
conf/ucm: chtrt5650: Add UCM config for chtrt5650
|
||||||
|
ucm: Set default include path
|
||||||
|
conf: Move UCM profile snippets into components subdirectory
|
||||||
|
conf: USB-Audio: Add Dell WD19 Dock in the IEC958 blacklist
|
||||||
|
conf/ucm/Dell-WD15-Dock: Fix incorrect device names
|
||||||
|
* Documentation:
|
||||||
|
README.md: add link to www.alsa-project.org
|
||||||
|
initial version of README.md for github
|
||||||
|
* External PCM Filter Plugin SDK:
|
||||||
|
pcm: extplug: Keep format and channels the same if requested
|
||||||
|
* Test/Example code:
|
||||||
|
test/audio_time: remove unused variables
|
||||||
|
test: rename code to more approriate mixtest
|
||||||
|
test/code: make it work again
|
||||||
|
test/latecy: fix typo in tstamp compare
|
||||||
|
* Utils:
|
||||||
|
utils/alsa.m4: conditionally enable libdl in AM_PATH_ALSA m4 macro
|
||||||
|
- Drop obsoleted patches:
|
||||||
|
0001-conf-ucm-Dell-WD15-Dock-Fix-incorrect-device-names.patch
|
||||||
|
0002-pcm-interval-Interpret-x-x-1-correctly-and-return-x-.patch
|
||||||
|
- Remove obsoleted UCM profile for rt5640
|
||||||
|
- Don't treat the non-existing $ALSA_CONFIG_PATH too severely
|
||||||
|
(bsc#1120893):
|
||||||
|
alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Nov 15 15:10:45 CET 2018 - tiwai@suse.de
|
Thu Nov 15 15:10:45 CET 2018 - tiwai@suse.de
|
||||||
|
|
||||||
|
21
alsa.spec
21
alsa.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package alsa
|
# spec file for package alsa
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -21,18 +21,17 @@
|
|||||||
%define _fillupdir /var/adm/fillup-templates
|
%define _fillupdir /var/adm/fillup-templates
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define package_version 1.1.7
|
|
||||||
%if 0%{?suse_version} < 1200
|
%if 0%{?suse_version} < 1200
|
||||||
%define _udevrulesdir /lib/udev/rules.d/
|
%define _udevrulesdir /lib/udev/rules.d/
|
||||||
%endif
|
%endif
|
||||||
Name: alsa
|
Name: alsa
|
||||||
Version: 1.1.7
|
Version: 1.1.8
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Advanced Linux Sound Architecture
|
Summary: Advanced Linux Sound Architecture
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Url: http://www.alsa-project.org/
|
Url: http://www.alsa-project.org/
|
||||||
Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2
|
Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{version}.tar.bz2
|
||||||
Source2: baselibs.conf
|
Source2: baselibs.conf
|
||||||
Source8: 40-alsa.rules
|
Source8: 40-alsa.rules
|
||||||
Source9: 42-hd-audio-pm.rules
|
Source9: 42-hd-audio-pm.rules
|
||||||
@ -49,14 +48,10 @@ Source32: all_notes_off.mid
|
|||||||
Source34: alsa-init.sh
|
Source34: alsa-init.sh
|
||||||
Source40: 50-alsa.conf
|
Source40: 50-alsa.conf
|
||||||
Source41: install-snd-module
|
Source41: install-snd-module
|
||||||
# upstream fixes
|
|
||||||
Patch1: 0001-conf-ucm-Dell-WD15-Dock-Fix-incorrect-device-names.patch
|
|
||||||
Patch2: 0002-pcm-interval-Interpret-x-x-1-correctly-and-return-x-.patch
|
|
||||||
# rest suse fixes
|
# rest suse fixes
|
||||||
|
Patch101: alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch
|
||||||
Source101: chtcx2072x.conf
|
Source101: chtcx2072x.conf
|
||||||
Source102: chtcx2072x-HiFi.conf
|
Source102: chtcx2072x-HiFi.conf
|
||||||
Source103: bytcr-rt5640.conf
|
|
||||||
Source104: bytcr-rt5640-HiFi.conf
|
|
||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
@ -118,9 +113,8 @@ This package contains the library for ALSA, Advanced Linux Sound
|
|||||||
Architecture.
|
Architecture.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n alsa-lib-%{package_version}
|
%setup -q -n alsa-lib-%{version}
|
||||||
%patch1 -p1
|
%patch101 -p1
|
||||||
%patch2 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export AUTOMAKE_JOBS="%{?_smp_mflags}"
|
export AUTOMAKE_JOBS="%{?_smp_mflags}"
|
||||||
@ -143,9 +137,6 @@ make -C doc doc %{?_smp_mflags}
|
|||||||
mkdir -p %{buildroot}%{_datadir}/alsa/ucm/chtcx2072x
|
mkdir -p %{buildroot}%{_datadir}/alsa/ucm/chtcx2072x
|
||||||
install -c -m 0644 %{S:101} %{buildroot}%{_datadir}/alsa/ucm/chtcx2072x/chtcx2072x.conf
|
install -c -m 0644 %{S:101} %{buildroot}%{_datadir}/alsa/ucm/chtcx2072x/chtcx2072x.conf
|
||||||
install -c -m 0644 %{S:102} %{buildroot}%{_datadir}/alsa/ucm/chtcx2072x/HiFi.conf
|
install -c -m 0644 %{S:102} %{buildroot}%{_datadir}/alsa/ucm/chtcx2072x/HiFi.conf
|
||||||
mkdir -p %{buildroot}%{_datadir}/alsa/ucm/bytcr-rt5640
|
|
||||||
install -c -m 0644 %{S:103} %{buildroot}%{_datadir}/alsa/ucm/bytcr-rt5640/bytcr-rt5640.conf
|
|
||||||
install -c -m 0644 %{S:104} %{buildroot}%{_datadir}/alsa/ucm/bytcr-rt5640/HiFi.conf
|
|
||||||
# clean up unneeded files
|
# clean up unneeded files
|
||||||
rm -f %{buildroot}%{_libdir}/*.*a
|
rm -f %{buildroot}%{_libdir}/*.*a
|
||||||
# rm -f %{buildroot}%{_libdir}/alsa-lib/smixer/*.*a
|
# rm -f %{buildroot}%{_libdir}/alsa-lib/smixer/*.*a
|
||||||
|
@ -1,466 +0,0 @@
|
|||||||
# Use case Configuration for bytcr-rt5640
|
|
||||||
|
|
||||||
SectionVerb {
|
|
||||||
|
|
||||||
EnableSequence [
|
|
||||||
cdev "hw:bytcrrt5640"
|
|
||||||
|
|
||||||
# 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 to aif1)
|
|
||||||
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 to aif2)
|
|
||||||
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
|
|
||||||
# pcm1_out 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"
|
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
# 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"
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
]
|
|
||||||
|
|
||||||
# ALSA PCM
|
|
||||||
Value {
|
|
||||||
# ALSA PCM device for HiFi
|
|
||||||
PlaybackPCM "hw:bytcrrt5640"
|
|
||||||
CapturePCM "hw:bytcrrt5640"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionDevice."DigitalMics" {
|
|
||||||
Comment "DigitalMics capture, NOT TESTED"
|
|
||||||
|
|
||||||
ConflictingDevice [
|
|
||||||
"IN1-InternalMics"
|
|
||||||
"IN3-InternalMics"
|
|
||||||
"HeadsetMic"
|
|
||||||
]
|
|
||||||
|
|
||||||
EnableSequence [
|
|
||||||
cdev "hw:bytcrrt5640"
|
|
||||||
|
|
||||||
cset "name='Stereo ADC2 Mux' DMIC1"
|
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionDevice."HeadsetMic" {
|
|
||||||
Comment "Headset Mic capture"
|
|
||||||
|
|
||||||
ConflictingDevice [
|
|
||||||
"IN1-InternalMics"
|
|
||||||
"IN3-InternalMics"
|
|
||||||
"DigitalMics"
|
|
||||||
]
|
|
||||||
|
|
||||||
EnableSequence [
|
|
||||||
cdev "hw:bytcrrt5640"
|
|
||||||
|
|
||||||
cset "name='Headset Mic Switch' on"
|
|
||||||
|
|
||||||
# default for IN2 Boost seems to saturate
|
|
||||||
cset "name='IN2 Boost' 1"
|
|
||||||
|
|
||||||
cset "name='RECMIXL BST2 Switch' on"
|
|
||||||
cset "name='RECMIXR BST2 Switch' on"
|
|
||||||
|
|
||||||
cset "name='Stereo ADC1 Mux' ADC"
|
|
||||||
cset "name='Stereo ADC MIXL ADC1 Switch' on"
|
|
||||||
cset "name='Stereo ADC MIXR ADC1 Switch' on"
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
cdev "hw:bytcrrt5640"
|
|
||||||
|
|
||||||
cset "name='Stereo ADC MIXL ADC1 Switch' off"
|
|
||||||
cset "name='Stereo ADC MIXR ADC1 Switch' off"
|
|
||||||
cset "name='Headset Mic Switch' off"
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
CaptureChannels 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionDevice."IN1-InternalMics" {
|
|
||||||
Comment "Internal IN1 analog Mic capture"
|
|
||||||
|
|
||||||
ConflictingDevice [
|
|
||||||
"DigitalMics"
|
|
||||||
"HeadsetMic"
|
|
||||||
"IN3-InternalMics"
|
|
||||||
]
|
|
||||||
|
|
||||||
EnableSequence [
|
|
||||||
cdev "hw:bytcrrt5640"
|
|
||||||
|
|
||||||
cset "name='Internal Mic Switch' on"
|
|
||||||
|
|
||||||
# default for IN1 Boost seems to saturate
|
|
||||||
cset "name='IN1 Boost' 1"
|
|
||||||
|
|
||||||
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 ADC1 Mux' ADC"
|
|
||||||
cset "name='Stereo ADC MIXL ADC1 Switch' on"
|
|
||||||
cset "name='Stereo ADC MIXR ADC1 Switch' on"
|
|
||||||
|
|
||||||
cset "name='Mono ADC L1 Mux' 1"
|
|
||||||
cset "name='Mono ADC R1 Mux' 1"
|
|
||||||
|
|
||||||
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='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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionDevice."IN3-InternalMics" {
|
|
||||||
Comment "Internal IN3 analog Mic capture"
|
|
||||||
|
|
||||||
ConflictingDevice [
|
|
||||||
"DigitalMics"
|
|
||||||
"HeadsetMic"
|
|
||||||
"IN1-InternalMics"
|
|
||||||
]
|
|
||||||
|
|
||||||
EnableSequence [
|
|
||||||
cdev "hw:bytcrrt5640"
|
|
||||||
|
|
||||||
cset "name='Internal Mic Switch' on"
|
|
||||||
|
|
||||||
# default for IN3 Boost seems to too low
|
|
||||||
cset "name='IN3 Boost' 8"
|
|
||||||
|
|
||||||
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 ADC1 Mux' ADC"
|
|
||||||
cset "name='Stereo ADC MIXL ADC1 Switch' on"
|
|
||||||
cset "name='Stereo ADC MIXR ADC1 Switch' on"
|
|
||||||
|
|
||||||
cset "name='Mono ADC L1 Mux' 1"
|
|
||||||
cset "name='Mono ADC R1 Mux' 1"
|
|
||||||
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='Internal Mic Switch' off"
|
|
||||||
|
|
||||||
cset "name='Mono ADC Capture Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
CaptureChannels 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionDevice."Headphones" {
|
|
||||||
Comment "Headphones playback"
|
|
||||||
|
|
||||||
ConflictingDevice [
|
|
||||||
"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"
|
|
||||||
set "name='Stereo DAC MIXL DAC L2 Switch' on"
|
|
||||||
cset "name='Stereo DAC MIXR DAC R2 Switch' on"
|
|
||||||
cset "name='HPO MIX HPVOL Switch' on"
|
|
||||||
cset "name='Headphone Switch' on"
|
|
||||||
cset "name='HP Channel Switch' on"
|
|
||||||
cset "name='Speaker Switch' off"
|
|
||||||
cset "name='HP L Playback Switch' on"
|
|
||||||
cset "name='HP R Playback Switch' on"
|
|
||||||
cset "name='HP Playback Volume' 29"
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
cdev "hw:bytcrrt5640"
|
|
||||||
cset "name='Headphone Switch' off"
|
|
||||||
cset "name='HP Channel Switch' off"
|
|
||||||
cset "name='HP L Playback Switch' off"
|
|
||||||
cset "name='HP R Playback Switch' off"
|
|
||||||
cset "name='HP Playback Volume' 0"
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackChannels "2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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"
|
|
||||||
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' 29"
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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' 29"
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
|||||||
SectionUseCase."HiFi" {
|
|
||||||
File "HiFi.conf"
|
|
||||||
Comment "Play HiFi quality Music"
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionDefaults [
|
|
||||||
cdev "hw:bytcrrt5640"
|
|
||||||
]
|
|
Loading…
Reference in New Issue
Block a user