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>
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>
This patch modifies the tlv data for volume controls to match
the volume range supported in the firmware.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Here add topology file for apollolake GP-MRB platform,
it is initial version, we only support one playback
and one capture PCM pipeline at the moment,
with SSP/DAI set to tdm8-32le-48kHz
(active on first 4 slots for both transmit and receive).
Signed-off-by: Wu Zhigang <zhigang.wu@linux.intel.com>
Reviewed-by: Keyon Jie <yang.jie@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 config was coming from deprecated machine driver. Fix it to use
bytcr-rt5640 machine driver.
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>
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 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>
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>
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>
We have 5 critical arguments in the test generator but only used 3 for
the naming, this will make some files be overwritten.
Refine the name method to let these 5 arguments show in the tplg name.
Also we decide the pipe type in one of the argument, test-ssp.m4 and
test-src-ssp.m4 are almost the same, just remove one.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Move testing pipelines into a test directory and reuse test scaffolding
so that they can be used to test multiple components on multiple target
with multiples configs.
Test topology scafolding are now pre-processed using a script to generate
the ALSA conf format with the various changes for each test case.
Signed-off-by: Liam Girdwood <liam.r.girdwood@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>
Secondary PCM not used atm for 1.0 release so temporarily remove from standard
topologies.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Not sure why we need these files, but the cht definitions are not
aligned with the others. Fix.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
At some point we should have a better way of relying on common parts but
for now add a passthrough shortcut directly usable with machine drivers
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
stream_name is not used by any machine drivers, there is no point in
providing the information to topology layers
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Add support so that different playback and capture pipelines can share
the same host PCM device.
Modify board configs to use PCM0 for playback and capture.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Align parameters on different lines to allow for easier visual
comparison and direct mapping with comments in build.m4
Also fix typo in comments s/priorty/priority/g
No functional change
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Add a couple of missing parameters in comments, align them logically
to help the rest of us figure out what parameters mean.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Add a flag to specify whether the pipeline processing work can be
scheduled via a timer or an IRQ source. IRQ scheduling will primarily be
used by pipelines that include a DAI.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Allow topology to configure the pipeline ID of any DAI specific
pipeline instead of using 0.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
SRC should be scheduled on at least 4ms tick. Increase buffers to
deal with 2 times output rate.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>