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>
For nocodec topology, we need the id to be same with SSP index since
all SSP ports are enabled in nocodec. Codec machine drivers always have
id to 0.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
This patch modifies the test topology generator to add dmic topologies
with pre-defined PDM controller configurations, sample rates and
formats.
It also modifies the DMIC_CONFIG macro to get the number of
active pdm from the pdm config.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@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 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>
This patch makes the following changes to make way for handling
different DAI types in tplg build script:
1. Define the test DAI type while processing m4 files
2. DAI format and DAI port might be relevant for other types of DAI's.
So use generic TEST_DAI_PORT and TEST_DAI_FORMAT instead of
TEST_SSP_PORT TEST_SSP_FORMAT
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
When using xargs, the last topology file while batch processing alsatplg
doesn't get compiled properly.
Also remove a stray ; in the script.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Make simple_test function generic by accepting the array of
test cases as an argument. The tone_test function can
be removed and replaced with the modified simple_test function
and passing the required test case to generate the tone
topology file.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
ALSA-lib introduced new definitions to work around an logical
inversion for master/slave definitions. see e.g. commit 3778a30bb00
('ASoC: topology: Fix bclk and fsync inversion in
set_link_hw_format()')
Make sure clarifications are reflected in the topology files
bclk/fsync slave -> codec_slave
mclk slave -> codec_mclk_in
This patch requires the use of the latest alsa-lib git master (v1.1.6
does not contain the relevant patches).
This patch also requires an updated kernel.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Disk space is cheap, life is short, let's just brute-force generate
all the combinations supported on SSP. Testers should just pick from
the generated configurations instead of adding their own changes to
the tplg-build.sh file.
Passthrough is special-cased since pipeline and DAI format need to
match.
The frequencies and DAI formats remain in clear-text and duplicated,
we could optimize further but then it'd become unmaintainable.
Next step is to add slave mode and make the frame rate vary.
If this is deemed to heavy, we can define a 'make test' target to
avoid generating all these files by default. Alternatively people can select the modes needed by just changing the APL_ arrays.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
make clean done at the top-level does not clean the topology/test
directory, use clean-local instead of clean
Signed-off-by: Keqiao.Zhang <keqiao.zhang@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>
Up^2 board exposes I2S signals on the 40-pin connector
(https://wiki.up-community.org/Pinout_UP2)
Add test for SSP5 (marked in pinout as AVS_I2S6)
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@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>
shell expands $10 as $1 followed by 0, so test .conf topology files contained
mclk_freq "codec0" instead of the expected value (e.g. 19200000).
Parenthesis are required when there are more than 9 arguments to a
macro...
Reported-by: "Wang, Yan" <yan.wang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
The mclk may be different for different platforms, here make it
configurable for test topology files.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>