From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH v2 02/13] conf: topology: Add topology file for broadwell audio DSP Date: Wed, 01 Jul 2015 17:47:20 +0200 Message-ID: References: <1435758275-4047-1-git-send-email-liam.r.girdwood@linux.intel.com> <1435758275-4047-2-git-send-email-liam.r.girdwood@linux.intel.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 39D2B26067F for ; Wed, 1 Jul 2015 17:47:21 +0200 (CEST) In-Reply-To: <1435758275-4047-2-git-send-email-liam.r.girdwood@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Liam Girdwood Cc: Vinod Koul , alsa-devel@alsa-project.org, Mark Brown List-Id: alsa-devel@alsa-project.org At Wed, 1 Jul 2015 14:44:24 +0100, Liam Girdwood wrote: > > Signed-off-by: Liam Girdwood It's a kind of example, so maybe better to put at the end of the series? Takashi > --- > 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 +++++++++++++++++++++++++++++ > 4 files changed, 381 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/src/conf/Makefile.am b/src/conf/Makefile.am > index 948d5a1..a04f73f 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 0000000..f56a96c > --- /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 0000000..35d1e83 > --- /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 0000000..05b3889 > --- /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.1.4 >