- Backport upstream fix patches, including the deadlock fix for aplay/arecord (boo#1031525): 0001-ucm-Add-ATTRIBUTE_UNUSED-for-unused-parameters-of-ex.patch 0002-ucm-parser-needs-limits.h.patch 0003-pcm-direct-allow-users-to-configure-different-period.patch 0004-pcm-dshare-enable-silence.patch 0005-pcm-rate-fix-the-hw_ptr-update-until-the-boundary-av.patch 0006-plugin-dynamically-update-avail_min-on-slave.patch 0007-rate-dynamic-update-avail_min-on-slave.patch 0008-topology-fix-unused-const-variable-warning.patch 0009-seq-improve-documentation-about-new-get-pid-card-fun.patch 0010-pcm-direct-returning-semop-error-code-for-semaphore-.patch 0011-pcm-direct-Fix-for-sync-issue-on-xrun-recover.patch 0012-pcm-direct-check-state-before-enter-poll-on-timer.patch 0013-pcm-direct-don-t-return-bogus-buffer-levels-in-xrun-.patch 0014-conf-ucm-broxton-add-broxton-rt298-conf-files.patch 0015-pcm-direct-Fix-deadlock-in-poll_descriptors.patch 0016-ucm-Assure-the-user-input-card-name-not-to-exceed-ma.patch 0017-ucm-Load-device-specific-configuration-file-based-on.patch 0018-ucm-Add-command-get-_file-to-get-the-config-file-nam.patch 0019-topology-Fix-incorrect-license-in-source-comments.patch 0020-conf-cards-add-support-for-pistachio-card.patch 0021-pcm-multi-Drop-the-fixed-slave_map-in-snd_pcm_multi_.patch 0022-conf-Add-card-config-for-Intel-HDMI-DP-LPE-audio.patch 0023-pcm-Avoid-lock-for-snd_pcm_nonblock.patch 0024-pcm-Disable-locking-in-async-mode.patch 0025-pcm-dmix-Allow-disabling-x86-optimizations.patch 0026-pcm-dmix_rewind-corrupts-application-pointer-fix.patch 0027-pcm-direct-fix-race-on-clearing-timer-events.patch 0028-pcm-file-Enable-file-writing-for-capture-path.patch OBS-URL: https://build.opensuse.org/request/show/483406 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=210
285 lines
7.8 KiB
Diff
285 lines
7.8 KiB
Diff
From 360c976aaa051809c34cb412ffa52380baeaabee Mon Sep 17 00:00:00 2001
|
|
From: Vinod Koul <vinod.koul@intel.com>
|
|
Date: Thu, 12 Jan 2017 14:50:28 +0530
|
|
Subject: [PATCH 14/43] conf/ucm: broxton: add broxton-rt298 conf files
|
|
|
|
This adds the UCM conf files for broxton enabling with rt298 codec on
|
|
I2S audio, HDMI and DMIC ports.
|
|
|
|
Signed-off-by: Nishit Sharma <nishitx.sharma@intel.com>
|
|
Signed-off-by: G Kranthi <gudishax.kranthikumar@intel.com>
|
|
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
---
|
|
configure.ac | 1
|
|
src/conf/ucm/Makefile.am | 2
|
|
src/conf/ucm/broxton-rt298/Hdmi1 | 22 ++++
|
|
src/conf/ucm/broxton-rt298/Hdmi2 | 14 ++
|
|
src/conf/ucm/broxton-rt298/HiFi | 129 ++++++++++++++++++++++++++
|
|
src/conf/ucm/broxton-rt298/Makefile.am | 4
|
|
src/conf/ucm/broxton-rt298/broxton-rt298.conf | 58 +++++++++++
|
|
7 files changed, 229 insertions(+), 1 deletion(-)
|
|
create mode 100644 src/conf/ucm/broxton-rt298/Hdmi1
|
|
create mode 100644 src/conf/ucm/broxton-rt298/Hdmi2
|
|
create mode 100644 src/conf/ucm/broxton-rt298/HiFi
|
|
create mode 100644 src/conf/ucm/broxton-rt298/Makefile.am
|
|
create mode 100644 src/conf/ucm/broxton-rt298/broxton-rt298.conf
|
|
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -684,6 +684,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pict
|
|
src/conf/topology/bxtrt298/Makefile \
|
|
alsalisp/Makefile aserver/Makefile \
|
|
test/Makefile test/lsb/Makefile \
|
|
+ src/conf/ucm/broxton-rt298/Makefile \
|
|
utils/Makefile utils/alsa-lib.spec utils/alsa.pc)
|
|
|
|
dnl Create asoundlib.h dynamically according to configure options
|
|
--- 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 skylake-rt286 VEYRON-I2S chtrt5645 DB410c
|
|
+SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 skylake-rt286 VEYRON-I2S chtrt5645 DB410c broxton-rt298
|
|
--- /dev/null
|
|
+++ b/src/conf/ucm/broxton-rt298/Hdmi1
|
|
@@ -0,0 +1,22 @@
|
|
+# Usecase for device HDMI1/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms
|
|
+# For Audio in I2S mode
|
|
+
|
|
+SectionDevice."Hdmi1" {
|
|
+ Comment "HDMI/Display Port 1 Stereo"
|
|
+
|
|
+ EnableSequence [
|
|
+ exec "echo Hdmi1 EnableSequnece"
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ exec "echo Hdmi1 DisableSequnece"
|
|
+ ]
|
|
+
|
|
+ Value {
|
|
+ PlaybackPCM "hw:broxtonrt298,4"
|
|
+ PlaybackChannels "2"
|
|
+ PlaybackPriority "3"
|
|
+ JackControl "HDMI/DP, pcm=4 Jack"
|
|
+ }
|
|
+}
|
|
+
|
|
--- /dev/null
|
|
+++ b/src/conf/ucm/broxton-rt298/Hdmi2
|
|
@@ -0,0 +1,14 @@
|
|
+# Usecase for device HDMI2/Display Port stereo playback on Intel Broxton platforms
|
|
+# For Audio in I2S mode
|
|
+
|
|
+SectionDevice."Hdmi2" {
|
|
+ Comment "HDMI/Display Port 2 Stereo"
|
|
+
|
|
+ Value {
|
|
+ PlaybackPCM "hw:broxtonrt298,5"
|
|
+ PlaybackChannels "2"
|
|
+ PlaybackPriority "4"
|
|
+ JackControl "HDMI/DP, pcm=5 Jack"
|
|
+ }
|
|
+}
|
|
+
|
|
--- /dev/null
|
|
+++ b/src/conf/ucm/broxton-rt298/HiFi
|
|
@@ -0,0 +1,129 @@
|
|
+# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
|
|
+# For Audio in I2S mode on Intel Broxton platforms
|
|
+
|
|
+SectionVerb {
|
|
+
|
|
+ EnableSequence [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ ]
|
|
+
|
|
+ Value {
|
|
+ TQ "HiFi"
|
|
+ CapturePCM "hw:broxtonrt298,1"
|
|
+ PlaybackPCM "hw:broxtonrt298,0"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."dmiccap" {
|
|
+ Comment "DMIC Stereo"
|
|
+
|
|
+ ConflictingDevice [
|
|
+ "Headset"
|
|
+ ]
|
|
+
|
|
+ EnableSequence [
|
|
+
|
|
+ cdev "hw:broxtonrt298"
|
|
+ exec "echo broxtonrt298 dmiccap called"
|
|
+ cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
|
+ cset "name='media0_out mo codec0_in mi Switch' 0"
|
|
+ cset "name='Mic Jack Switch' 0"
|
|
+
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ cset "name='media0_out mo codec0_in mi Switch' 1"
|
|
+ cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
|
|
+ cset "name='Mic Jack Switch' 1"
|
|
+ cset "name='ADC 0 Mux' 0"
|
|
+ ]
|
|
+ Value {
|
|
+ CaptureChannels "2"
|
|
+ CapturePriority "2"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."Headphones" {
|
|
+ Comment "Headphones"
|
|
+
|
|
+ ConflictingDevice [
|
|
+ "Speaker"
|
|
+ ]
|
|
+ EnableSequence [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ exec "echo broxtonrt298 Headphone called"
|
|
+ cset "name='HPO L Switch' 1"
|
|
+ cset "name='HPO R Switch' 1"
|
|
+ cset "name='Headphone Jack Switch' 1"
|
|
+ cset "name='Speaker Playback Switch' 0,0"
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ ]
|
|
+ Value {
|
|
+ PlaybackChannels "2"
|
|
+ PlaybackPriority "1"
|
|
+ JackControl "Headphone Jack"
|
|
+ JackHWMute "Speaker"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."Speaker" {
|
|
+ Comment "Speaker"
|
|
+
|
|
+ ConflictingDevice [
|
|
+ "Headphones"
|
|
+ ]
|
|
+ EnableSequence [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ exec "echo broxtonrt298 speaker called"
|
|
+ cset "name='SPO Switch' 1"
|
|
+ cset "name='Speaker Playback Switch' 1,1"
|
|
+ cset "name='Speaker Switch' 1"
|
|
+ cset "name='HPO L Switch' 0"
|
|
+ cset "name='HPO R Switch' 0"
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ ]
|
|
+ Value {
|
|
+ PlaybackChannels "2"
|
|
+ PlaybackPriority "1"
|
|
+ JackHWMute "Headphones"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionDevice."Headset" {
|
|
+ Comment "Headset Mic"
|
|
+
|
|
+ ConflictingDevice [
|
|
+ "dmiccap"
|
|
+ ]
|
|
+ EnableSequence [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ exec "echo broxtonrt298 Headset called"
|
|
+ cset "name='media0_out mo codec0_in mi Switch' 1"
|
|
+ cset "name='ADC0 Capture Volume' 105,105"
|
|
+ cset "name='ADC 0 Mux' 0"
|
|
+ cset "name='Mic Jack Switch' 1"
|
|
+ cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
|
|
+ ]
|
|
+
|
|
+ DisableSequence [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
|
+ cset "name='media0_out mo codec0_in mi Switch' 0"
|
|
+ ]
|
|
+ Value {
|
|
+ CaptureChannels "2"
|
|
+ CapturePriority "2"
|
|
+ JackControl "Mic Jack"
|
|
+ }
|
|
+}
|
|
--- /dev/null
|
|
+++ b/src/conf/ucm/broxton-rt298/Makefile.am
|
|
@@ -0,0 +1,4 @@
|
|
+alsaconfigdir = @ALSA_CONFIG_DIR@
|
|
+ucmdir = $(alsaconfigdir)/ucm/broxton-rt298
|
|
+ucm_DATA = broxton-rt298.conf HiFi Hdmi1 Hdmi2
|
|
+EXTRA_DIST = $(ucm_DATA)
|
|
--- /dev/null
|
|
+++ b/src/conf/ucm/broxton-rt298/broxton-rt298.conf
|
|
@@ -0,0 +1,58 @@
|
|
+# UCM for Intel Broxton platforms
|
|
+# For Audio in I2S mode
|
|
+
|
|
+SectionUseCase."HiFi" {
|
|
+ File "HiFi"
|
|
+ Comment "Play and record HiFi quality Music"
|
|
+}
|
|
+
|
|
+SectionUseCase."Hdmi1" {
|
|
+ File "Hdmi1"
|
|
+ Comment "Play on Hdmi/DP 1"
|
|
+}
|
|
+
|
|
+SectionUseCase."Hdmi2" {
|
|
+ File "Hdmi2"
|
|
+ Comment "Play on Hdmi/DP 2"
|
|
+}
|
|
+
|
|
+ValueDefaults {
|
|
+ PlaybackCTL "hw:broxtonrt298"
|
|
+ CaptureCTL "hw:broxtonrt298"
|
|
+ CaptureChannels "2"
|
|
+ CapturePriority "2"
|
|
+}
|
|
+
|
|
+SectionDefaults [
|
|
+ cdev "hw:broxtonrt298"
|
|
+ exec "echo broxtonrt298 CONF Defaults"
|
|
+ cset "name='Headphone Jack Switch' 1"
|
|
+ cset "name='Speaker Switch' 1"
|
|
+ cset "name='Speaker Playback Switch' 0,0"
|
|
+ cset "name='Front DAC Switch' 1"
|
|
+ cset "name='Front RECMIX Switch' 0"
|
|
+ cset "name='Mic Jack Switch' 1"
|
|
+ cset "name='ADC 0 Mux' 2"
|
|
+ cset "name='ADC 1 Mux' 0"
|
|
+ cset "name='DAC0 Playback Volume' 100,100"
|
|
+ cset "name='HPO L Switch' 0"
|
|
+ cset "name='HPO Mux' 0"
|
|
+ cset "name='HPO R Switch' 0"
|
|
+ cset "name='Pin 5 Mux' 1"
|
|
+ cset "name='Pin 6 Mux' 2"
|
|
+ cset "name='Pin 7 Mux' 3"
|
|
+ cset "name='RECMIX Beep Switch' 0"
|
|
+ cset "name='RECMIX Line1 Switch' 0"
|
|
+ cset "name='RECMIX Mic1 Switch' 0"
|
|
+ cset "name='SPK Mux' 0"
|
|
+ cset "name='SPO Switch' 1"
|
|
+ cset "name='codec0_out mo codec0_in mi Switch' 0"
|
|
+ cset "name='codec0_out mo dmic01_hifi_in mi Switch' 0"
|
|
+ cset "name='codec0_out mo media0_in mi Switch' 1"
|
|
+ cset "name='codec1_out mo codec0_in mi Switch' 0"
|
|
+ cset "name='codec1_out mo dmic01_hifi_in mi Switch' 0"
|
|
+ cset "name='codec1_out mo media0_in mi Switch' 0"
|
|
+ cset "name='media0_out mo codec0_in mi Switch' 1"
|
|
+ cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
|
+ cset "name='media0_out mo media0_in mi Switch' 0"
|
|
+]
|