Add direction for widget dai, 0 for playback and 1 for capture.
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
In PIPELINE_PCM_ADD, DAI_FORMAT is not set but are used later.
Need to set this value to avoid protenial issues.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
This patch adds topology sof-apl-eq-dmic to help testing acoustical
audio capture via DMIC or work as example for other machine drivers. The
capture format is set as four channels, S32_LE, 48 kHz. The IIR EQ is
a 2nd order Butterworth high-pass with cut-off frequency at 50 Hz to
suppress non-audible lowest frequencies. The EQ provides additional
+20 dB gain to avoid the recording to sound too silent.
The IIR EQ or additional FIR EQ instance can when needed provide other
form factor specific equalization.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Adding type string to widget data allows the driver to identify
different effects. As an example use this in the equalizer.
Also modify equalizer to pass default parameters in control's
private data.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
This patch adds EQ, bytecontrol, and EQ+volume pipeline m4 macros and an
enhanced topology with EQ for UP2 + HiFiberry. There is not yet FIR/IIR
type select. The EQ type is currently hardcoded into kernel.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
This patch adds a new file hda.m4.
This file defines macro HDA_DAI_CONFIG(idx, link_id, name) for user to
define configurations for HDA Backend links. The link's data tuple will
carry the HDA type info for kernel driver to check the link type.
Pleae note that there are no HW configurations defined for HDA BE links
because current HW configurations is more suitable for SSP BE links, but
not for HDA. We'll decide what HW configurations are suitable for HDA BE
links later.
Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>
PR43 and commit dc10876c20 ('topology: changes to SectionPCM
macros') went a bit too far and removed a much-needed alignment
between pcm id and dummy dai id. Tested on APL/Reef Chromebook
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This patch addresses the following:
1. Move PCM_PLAYBACK_ADD to pcm.m4
The macro was in the wrong m4 file (buffer.m4)
2. Remove pipeline_id argument and "index" from SectionPCM
"index" is not a member of struct snd_soc_tplg_pcm. So this
information is not used in the kernel at all.
Secondly, the PCM ID could be associated with more than
one pipeline especially in the case of DUPLEX PCM's. So better
to remove it to avoid ambiguities.
3. Remove dai_id
This dai_id is the ID given to the CPU DAI when the FE DAI link
is created. In the case of SOF, we should use an linearly increasing
unique ID for CPU DAI ID's. If this argument is omitted, the kernel
automatially assignes an ID based on the component->num_dai
which is linearly incremented every time a new DAI link is added.
4. Finally update users to align with the new definitions.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Previously it was set to be the dai index which works if there's
only one type of BE DAI's.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
DAI_TYPE and DAI_INDEX are both needed to get the dai in FW, add
DAI_INDEX in SectionBE to make sure we can handle multiple type dais.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Rename SAMPLE_BITS macro to a more generic CONFIG_DATA macro for SSP
to also include the mclk id.
Also modify users of the macro with the new name.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add SAMPLE_RATE token for tone comp.
Include it in tone definition and set it from the test pipeline definition.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This patch adds the DMIC config definition and the DMIC
config entry in DAI config.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This patch makes changes to DAI config in topology to separate out
SSP specific params from common params in preparation for other
DAI types coming soon.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
To reuse some machine drivers in Linux kernel without hacking
dapm route info, some unsupported routes and widgets could be
added in toplogy file.
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
PCM number was not being preserved and was always zero. This would
overwrite previous PCMs and cause the FW to return invalid PCM error
messages.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
DAI Widgets need bound to a DAI link to complete the DAPM graph. This is
only working atm as we are only using one DAI. Add stream name to DAI
widgets to be used by topology binder.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
This patch fixes typo in dai capture tokens and moves te buffer size
macro definition to buffer.m4
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This patch break up the local.m4 and build.m4 topology builder includes
into per component m4 files
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add support in topology to define different memory capabilities that can
be included by standard pipeline definitions to set platform specific
capabilities for buffers.
This patch allows memory capabilities to be defined for each platform and
included by all pipeline definitions.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add default_hw_conf_id to set the default_hw_config_id value in
ASOC and then we can set the dai config.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
This patch adds support for multiple kcontrols for the volume
widget and adds a mute switch kcontrol to the volume playback
pipeline.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
We may need to generate capture only or playback only PCMs.
Add these macros to help generate them.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Commit 0a1a9bbc492e4eb22173ed57c7f5499c8f106289 discovered a bug in
the direction of AIF widgets in relation to PCMs. AIF widgets are codec
centric in ASoC so topology must align.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
1. Widget N_PCMC type should be "aif_in", not "aif_out".
2. Widget W_DAI_IN data should be "N_DAI_IN", not "N_DAI_OUT".
Signed-off-by: Xiuli Pan <xiuli.pan@intel.com>
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>