- Backport upstream fixes: surround41/50 chmap fix, UCM documents, config string fix, PCM timestamp query API, replacement of list.h with LGPL: 0023-surround41-50.conf-Use-chmap-syntax-for-better-flexi.patch 0024-ucm-docs-fix-doxygen-exclude-patch-for-UCM-local-hea.patch 0025-ucm-docs-Fix-doxygen-formatting-for-UCM-main-page.patch 0026-docs-Add-UCM-link-to-main-doxygen-page.patch 0027-Replace-unsafe-characters-with-_-in-card-name.patch 0028-pcm-add-helper-functions-to-query-timestamping-capab.patch 0029-pcm-add-support-for-get-set_audio_htstamp_config.patch 0030-pcm-add-support-for-new-STATUS_EXT-ioctl.patch 0031-test-fix-audio_time-with-new-get-set-audio_tstamp_co.patch 0032-test-audio_time-show-report-validity-and-accuracy.patch 0033-pcm-restore-hw-params-on-set-latency-failed.patch 0034-Replace-list.h-with-its-own-version.patch - Backport topology API addition patches: 0035-topology-uapi-Add-UAPI-headers-for-topology-ABI.patch 0036-topology-Add-topology-core-parser.patch 0037-topology-Add-text-section-parser.patch 0038-topology-Add-PCM-parser.patch 0039-topology-Add-operations-parser.patch 0040-topology-Add-private-data-parser.patch 0041-topology-Add-DAPM-object-parser.patch 0042-topology-Add-CTL-parser.patch 0043-topology-Add-Channel-map-parser.patch 0044-topology-Add-binary-file-builder.patch 0045-topology-autotools-Add-build-support-for-topology-co.patch 0046-topology-doxygen-Add-doxygen-support-for-topology-co.patch 0047-conf-topology-Add-topology-file-for-broadwell-audio-.patch 0048-topology-Fix-missing-inclusion-of-ctype.h.patch OBS-URL: https://build.opensuse.org/request/show/320429 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=186
444 lines
8.1 KiB
Diff
444 lines
8.1 KiB
Diff
From 00a51b5bacb0f966d0e323bd9d3057c0eb0e6f23 Mon Sep 17 00:00:00 2001
|
|
From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
|
|
Date: Wed, 29 Jul 2015 17:45:25 +0100
|
|
Subject: [PATCH 47/49] conf: topology: Add topology file for broadwell audio
|
|
DSP
|
|
|
|
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
---
|
|
configure.ac | 2 +
|
|
src/conf/Makefile.am | 2 +-
|
|
src/conf/topology/Makefile.am | 1 +
|
|
src/conf/topology/broadwell/Makefile.am | 4 +
|
|
src/conf/topology/broadwell/broadwell.conf | 375 +++++++++++++++++++++++++++++
|
|
5 files changed, 383 insertions(+), 1 deletion(-)
|
|
create mode 100644 src/conf/topology/Makefile.am
|
|
create mode 100644 src/conf/topology/broadwell/Makefile.am
|
|
create mode 100644 src/conf/topology/broadwell/broadwell.conf
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index b6bea2dca434..a482b3e7f6ca 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -663,6 +663,8 @@ 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/topology/Makefile \
|
|
+ src/conf/topology/broadwell/Makefile \
|
|
modules/Makefile modules/mixer/Makefile modules/mixer/simple/Makefile \
|
|
alsalisp/Makefile aserver/Makefile \
|
|
test/Makefile test/lsb/Makefile \
|
|
diff --git a/src/conf/Makefile.am b/src/conf/Makefile.am
|
|
index 948d5a1c822e..a04f73fddc65 100644
|
|
--- a/src/conf/Makefile.am
|
|
+++ b/src/conf/Makefile.am
|
|
@@ -1,4 +1,4 @@
|
|
-SUBDIRS=cards pcm alsa.conf.d ucm
|
|
+SUBDIRS=cards pcm alsa.conf.d ucm topology
|
|
|
|
cfg_files = alsa.conf
|
|
if BUILD_ALISP
|
|
diff --git a/src/conf/topology/Makefile.am b/src/conf/topology/Makefile.am
|
|
new file mode 100644
|
|
index 000000000000..f56a96c651e5
|
|
--- /dev/null
|
|
+++ b/src/conf/topology/Makefile.am
|
|
@@ -0,0 +1 @@
|
|
+SUBDIRS=broadwell
|
|
diff --git a/src/conf/topology/broadwell/Makefile.am b/src/conf/topology/broadwell/Makefile.am
|
|
new file mode 100644
|
|
index 000000000000..35d1e83cb645
|
|
--- /dev/null
|
|
+++ b/src/conf/topology/broadwell/Makefile.am
|
|
@@ -0,0 +1,4 @@
|
|
+alsaconfigdir = @ALSA_CONFIG_DIR@
|
|
+topologydir = $(alsaconfigdir)/topology/broadwell
|
|
+topology_DATA = broadwell.conf
|
|
+EXTRA_DIST = $(topology_DATA)
|
|
diff --git a/src/conf/topology/broadwell/broadwell.conf b/src/conf/topology/broadwell/broadwell.conf
|
|
new file mode 100644
|
|
index 000000000000..05b3889bec58
|
|
--- /dev/null
|
|
+++ b/src/conf/topology/broadwell/broadwell.conf
|
|
@@ -0,0 +1,375 @@
|
|
+# Dynamic Firmware Configuration for Broadwell
|
|
+
|
|
+# TLV
|
|
+SectionTLV."hsw_vol_tlv" {
|
|
+ Comment "TLV used by both global and stream volumes"
|
|
+
|
|
+ scale {
|
|
+ min "-9000"
|
|
+ step "300"
|
|
+ mute "1"
|
|
+ }
|
|
+}
|
|
+
|
|
+# Controls
|
|
+SectionControlMixer."Master Playback Volume" {
|
|
+ Comment "Global DSP volume"
|
|
+
|
|
+ # control belongs to this index group
|
|
+ index "1"
|
|
+
|
|
+ # Channel register and shift for Front Left/Right
|
|
+ channel."FL" {
|
|
+ reg "0"
|
|
+ shift "0"
|
|
+ }
|
|
+ channel."FR" {
|
|
+ reg "0"
|
|
+ shift "8"
|
|
+ }
|
|
+
|
|
+ # max control value and whether value is inverted
|
|
+ max "31"
|
|
+ invert "false"
|
|
+
|
|
+ # control uses bespoke driver get/put/info ID 0
|
|
+ ops."ctl" {
|
|
+ info "volsw"
|
|
+ get "256"
|
|
+ put "256"
|
|
+ }
|
|
+
|
|
+ # uses TLV data above
|
|
+ tlv "hsw_vol_tlv"
|
|
+}
|
|
+
|
|
+SectionControlMixer."Media0 Playback Volume" {
|
|
+ Comment "Offload 0 volume"
|
|
+
|
|
+ # control belongs to this index group
|
|
+ index "1"
|
|
+
|
|
+ # Channel register and shift for Front Left/Right
|
|
+ channel."FL" {
|
|
+ reg "1"
|
|
+ shift "0"
|
|
+ }
|
|
+ channel."FR" {
|
|
+ reg "1"
|
|
+ shift "8"
|
|
+ }
|
|
+
|
|
+ # max control value and whether value is inverted
|
|
+ max "31"
|
|
+ invert "false"
|
|
+
|
|
+ # control uses bespoke driver get/put/info ID 0
|
|
+ ops."ctl" {
|
|
+ info "volsw"
|
|
+ get "257"
|
|
+ put "257"
|
|
+ }
|
|
+
|
|
+ # uses TLV data above
|
|
+ tlv "hsw_vol_tlv"
|
|
+}
|
|
+
|
|
+SectionControlMixer."Media1 Playback Volume" {
|
|
+ Comment "Offload 1 volume"
|
|
+
|
|
+ # control belongs to this index group
|
|
+ index "1"
|
|
+
|
|
+ # Channel register and shift for Front Left/Right
|
|
+ channel."FL" {
|
|
+ reg "2"
|
|
+ shift "0"
|
|
+ }
|
|
+ channel."FR" {
|
|
+ reg "2"
|
|
+ shift "8"
|
|
+ }
|
|
+
|
|
+ # max control value and whether value is inverted
|
|
+ max "31"
|
|
+ invert "false"
|
|
+
|
|
+ # control uses bespoke driver get/put/info ID 0
|
|
+ ops."ctl" {
|
|
+ info "volsw"
|
|
+ get "257"
|
|
+ put "257"
|
|
+ }
|
|
+
|
|
+ # uses TLV data above
|
|
+ tlv "hsw_vol_tlv"
|
|
+}
|
|
+
|
|
+SectionControlMixer."Mic Capture Volume" {
|
|
+ Comment "Mic Capture volume"
|
|
+
|
|
+ # control belongs to this index group
|
|
+ index "1"
|
|
+
|
|
+ # Channel register and shift for Front Left/Right
|
|
+ channel."FL" {
|
|
+ reg "0"
|
|
+ shift "0"
|
|
+ }
|
|
+ channel."FR" {
|
|
+ reg "0"
|
|
+ shift "8"
|
|
+ }
|
|
+
|
|
+ # max control value and whether value is inverted
|
|
+ max "31"
|
|
+ invert "false"
|
|
+
|
|
+ # control uses bespoke driver get/put/info ID 0
|
|
+ ops."ctl" {
|
|
+ info "volsw"
|
|
+ get "257"
|
|
+ put "257"
|
|
+ }
|
|
+
|
|
+ # uses TLV data above
|
|
+ tlv "hsw_vol_tlv"
|
|
+}
|
|
+
|
|
+SectionWidget."SSP0 CODEC IN" {
|
|
+
|
|
+ index "1"
|
|
+ type "aif_in"
|
|
+ no_pm "true"
|
|
+ shift "0"
|
|
+ invert "0"
|
|
+}
|
|
+
|
|
+SectionWidget."SSP0 CODEC OUT" {
|
|
+
|
|
+ index "1"
|
|
+ type "aif_out"
|
|
+ no_pm "true"
|
|
+ shift "0"
|
|
+ invert "0"
|
|
+}
|
|
+
|
|
+SectionWidget."SSP1 BT IN" {
|
|
+
|
|
+ index "1"
|
|
+ type "aif_in"
|
|
+ no_pm "true"
|
|
+ shift "0"
|
|
+ invert "0"
|
|
+}
|
|
+
|
|
+SectionWidget."SSP1 BT OUT" {
|
|
+
|
|
+ index "1"
|
|
+ type "aif_out"
|
|
+ no_pm "true"
|
|
+ shift "0"
|
|
+ invert "0"
|
|
+}
|
|
+
|
|
+SectionWidget."Playback VMixer" {
|
|
+
|
|
+ index "1"
|
|
+ type "mixer"
|
|
+ no_pm "true"
|
|
+ shift "0"
|
|
+ invert "0"
|
|
+}
|
|
+
|
|
+# PCM Configurations supported by FW
|
|
+SectionPCMConfig."PCM 48k Stereo 24bit" {
|
|
+
|
|
+ config."playback" {
|
|
+ format "S24_LE"
|
|
+ rate "48000"
|
|
+ channels "2"
|
|
+ tdm_slot "0xf"
|
|
+ }
|
|
+
|
|
+ config."capture" {
|
|
+ format "S24_LE"
|
|
+ rate "48000"
|
|
+ channels "2"
|
|
+ tdm_slot "0xf"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionPCMConfig."PCM 48k Stereo 16bit" {
|
|
+
|
|
+ config."playback" {
|
|
+ format "S16_LE"
|
|
+ rate "48000"
|
|
+ channels "2"
|
|
+ tdm_slot "0xf"
|
|
+ }
|
|
+
|
|
+ config."capture" {
|
|
+ format "S16_LE"
|
|
+ rate "48000"
|
|
+ channels "2"
|
|
+ tdm_slot "0xf"
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionPCMConfig."PCM 48k 2P/4C 16bit" {
|
|
+
|
|
+ config."playback" {
|
|
+ format "S16_LE"
|
|
+ rate "48000"
|
|
+ channels "2"
|
|
+ tdm_slot "0xf"
|
|
+ }
|
|
+
|
|
+ config."capture" {
|
|
+ format "S16_LE"
|
|
+ rate "48000"
|
|
+ channels "4"
|
|
+ tdm_slot "0xf"
|
|
+ }
|
|
+}
|
|
+
|
|
+# PCM capabilities supported by FW
|
|
+SectionPCMCapabilities."System Playback" {
|
|
+
|
|
+ formats "S24_LE,S16_LE"
|
|
+ rate_min "48000"
|
|
+ rate_max "48000"
|
|
+ channels_min "2"
|
|
+ channels_max "2"
|
|
+}
|
|
+
|
|
+SectionPCMCapabilities."Analog Capture" {
|
|
+
|
|
+ formats "S24_LE,S16_LE"
|
|
+ rate_min "48000"
|
|
+ rate_max "48000"
|
|
+ channels_min "2"
|
|
+ channels_max "4"
|
|
+}
|
|
+
|
|
+SectionPCMCapabilities."Loopback Capture" {
|
|
+
|
|
+ formats "S24_LE,S16_LE"
|
|
+ rate_min "48000"
|
|
+ rate_max "48000"
|
|
+ channels_min "2"
|
|
+ channels_max "2"
|
|
+}
|
|
+
|
|
+SectionPCMCapabilities."Offload0 Playback" {
|
|
+ formats "S24_LE,S16_LE"
|
|
+ rate_min "8000"
|
|
+ rate_max "192000"
|
|
+ channels_min "2"
|
|
+ channels_max "2"
|
|
+}
|
|
+
|
|
+SectionPCMCapabilities."Offload1 Playback" {
|
|
+ formats "S24_LE,S16_LE"
|
|
+ rate_min "8000"
|
|
+ rate_max "48000"
|
|
+ channels_min "2"
|
|
+ channels_max "2"
|
|
+}
|
|
+
|
|
+# PCM devices exported by Firmware
|
|
+SectionPCM."System Pin" {
|
|
+
|
|
+ index "1"
|
|
+
|
|
+ # used for binding to the PCM
|
|
+ ID "0"
|
|
+
|
|
+ pcm."playback" {
|
|
+
|
|
+ capabilities "System Playback"
|
|
+
|
|
+ configs [
|
|
+ "PCM 48k Stereo 24bit"
|
|
+ "PCM 48k Stereo 16bit"
|
|
+ ]
|
|
+ }
|
|
+
|
|
+ pcm."capture" {
|
|
+
|
|
+ capabilities "Analog Capture"
|
|
+
|
|
+ configs [
|
|
+ "PCM 48k Stereo 24bit"
|
|
+ "PCM 48k Stereo 16bit"
|
|
+ "PCM 48k 2P/4C 16bit"
|
|
+ ]
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionPCM."Offload0 Pin" {
|
|
+
|
|
+ index "1"
|
|
+
|
|
+ # used for binding to the PCM
|
|
+ ID "1"
|
|
+
|
|
+ pcm."playback" {
|
|
+
|
|
+ capabilities "Offload0 Playback"
|
|
+
|
|
+ configs [
|
|
+ "PCM 48k Stereo 24bit"
|
|
+ "PCM 48k Stereo 16bit"
|
|
+ ]
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionPCM."Offload1 Pin" {
|
|
+
|
|
+ index "1"
|
|
+
|
|
+ # used for binding to the PCM
|
|
+ ID "2"
|
|
+
|
|
+ pcm."playback" {
|
|
+
|
|
+ capabilities "Offload1 Playback"
|
|
+
|
|
+ configs [
|
|
+ "PCM 48k Stereo 24bit"
|
|
+ "PCM 48k Stereo 16bit"
|
|
+ ]
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionPCM."Loopback Pin" {
|
|
+
|
|
+ index "1"
|
|
+
|
|
+ # used for binding to the PCM
|
|
+ ID "3"
|
|
+
|
|
+ pcm."capture" {
|
|
+
|
|
+ capabilities "Loopback Capture"
|
|
+
|
|
+ configs [
|
|
+ "PCM 48k Stereo 24bit"
|
|
+ "PCM 48k Stereo 16bit"
|
|
+ ]
|
|
+ }
|
|
+}
|
|
+
|
|
+SectionGraph."dsp" {
|
|
+ index "1"
|
|
+
|
|
+ lines [
|
|
+ "Playback VMixer, , System Playback"
|
|
+ "Playback VMixer, , Offload0 Playback"
|
|
+ "Playback VMixer, , Offload1 Playback"
|
|
+ "SSP0 CODEC OUT, , Playback VMixer"
|
|
+ "Loopback Capture, , Playback VMixer"
|
|
+ "Analog Capture, , SSP0 CODEC IN"
|
|
+ ]
|
|
+}
|
|
--
|
|
2.5.0
|
|
|