The layout is configured as:
- Link0: CS42L43 Jack and mics
- Link2: 2x CS35L56 Speaker (amps 3 and 4, right)
- Link3: 2x CS35L56 Speaker (amps 1 and 2, left)
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Remove the temporary workaround and add HDMI on all MeteorLake
products. If this breaks stuff, well we need to fix hit ASAP.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Using Compiler version: aarch64-poky-linux-gcc (GCC) 13.2.0
we get the following error:
tools/logger/convert.c: In function 'convert':
tools/logger/convert.c:357:34: error: '%*s' directive output between 4294967264 and 4294967284 bytes exceeds 'INT_MAX' [-Werror=format-overflow=]
| 357 | fprintf(out_fd, "%*s(us)%*s ", -ts_width, " TIMESTAMP", ts_width, "DELTA");
| | ^~~ ~~~~~~~~~~~~
| In file included from /opt/builds/OBNand/build/tmp/work/armv8a-poky-linux/sof-tools/2.8.0/recipe-sysroot/usr/include/stdio.h:964,
| from /opt/builds/OBNand/build/tmp/work/armv8a-poky-linux/sof-tools/2.8.0/git/tools/logger/convert.h:13,
| from /opt/builds/OBNand/build/tmp/work/armv8a-poky-linux/sof-tools/2.8.0/git/tools/logger/convert.c:21:
| In function 'fprintf',
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The sof-adl-rt711-l0-rt1316-l13-rt714-l2 similar to
sof-adl-rt711-l0-rt1308-l12-rt715-l3 with the SDW DMIC on different link.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
The sof-adl-rt711-l0-rt1308-l12-rt715-l3 is identical configuration as
sof-tgl-rt711-rt1308-rt715
At the same time update the comments for better organization.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
The target name for the production should have been more precise as it
ended up:
ninja -C tools/build_tools/ help
topology2_dev: phony
...
topology2_dev_sof-tgl-nocodec: phony
topology2_dev_sof-tgl-nocodec-crossover-2way: phony
...
topology2_prod: phony
...
topology2_sof-hda-generic: phony
topology2_sof-hda-generic-2ch: phony
...
Change it to be consistent:
topology2_dev: phony
...
topology2_dev_sof-tgl-nocodec: phony
topology2_dev_sof-tgl-nocodec-crossover-2way: phony
...
topology2_prod: phony
...
topology2_prod_sof-hda-generic: phony
topology2_prod_sof-hda-generic-2ch: phony
...
No functional change.
Suggested-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Merge the avs-tplg and sof-ace-tplg under a common production directory.
After a successful build CMake will copy the topology files to a target
directory from where they can be copied to DUT/release:
$ tree tools/build_tools/topology/topology2/target
tools/build_tools/topology/topology2/target
├── development
│ ├── cavs-sdw-hdmi.tplg
│ ├── cavs-sdw-src-gain-mixin.tplg
...
│ ├── sof-tgl-nocodec-rtcaec.tplg
│ └── sof-tgl-nocodec.tplg
├── sof-ace-tplg -> sof-ipc4-tplg
└── sof-ipc4-tplg
├── sof-adl-rt711-4ch.tplg
├── sof-adl-rt711-l0-rt1316-l12-rt714-l3.tplg
...
├── sof-tgl-rt712.tplg
└── sof-tgl-rt715-rt711-rt1308-mono.tplg
The sof-hda-generic-2/4ch.tplg will be generated without embedded NHLT as
it is not used under normal circumstance.
Two flavor of the generic topology is generated for CAVS2.5 and ACE1/2 with
included NHLT binary in case it is used by existing users, but it is
unlikely.
As noted in the documentation, on the deployed system a symlink is needed
for ACE1/2 platforms for backwards compatibility:
sof-ace-tplg -> sof-ipc4-tplg
Link: https://github.com/thesofproject/sof-docs/blob/master/getting_started/intel_debug/introduction.rst#2-topology-file
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
The image header contains a bitfield with flags specifying a image type.
This commit sets correct image type depending on whether firmware or
a loadable module is being signed.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
This patch adds build of hda-generic development topologies to
test SRC LITE component with all s16/s24/s32 formats
Signed-off-by: Andrula Song <andrula.song@intel.com>
The default for DEEPBUFFER_FW_DMA_MS is 100, remove the
DEEPBUFFER_FW_DMA_MS parameter set for individual topologies when the value
set is also 100
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
The DeepBuffer stream is D0I3 compatible for some time now on all IPC4
platforms, The CAVS2.5 topologies just did not got updated.
Swap the default for the DEEPBUFFER_D0I3_COMPATIBLE to true.
New, experimental platforms can change this if needed until the feature is
verified.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
This patch adds build of hda-generic development topologies to
test SRC component with s24/16 format.
Signed-off-by: Andrula Song <andrula.song@intel.com>
This patch adds build of hda-generic development topologies to
test SRC component with s32 format.
Signed-off-by: Andrula Song <andrula.song@intel.com>
The pipelines for PCM0 and PCM1 only support S32_LE audio
format. Fix the PCM capability descriptions to match the actual
pipeline definitions. This allows to run test suites that enumerate
all support PCMs and their formats.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
The mixer control for switch is added to widget definition
of drc.conf.
In cavs-mixin-mixout-efx-hda.conf the existing control name
is changed to have "bytes" similarly as multiband-drc has. The
switch control is added for the widget to implement the switch.
The controls definitions files in benchmark topologies are replaced
to new format from current .conf generator script. The bytes control
is same as before, and the mixer control for switch is added.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Split TOML configuration files into platform and module parts. Use
the C preprocessor to merge them back together.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This patch adds generation of a blob that applies about
10 dB gain with compression and additional post gain of
3 dB for strong loudness boost effect.
The drc_gen_coefs.m script is changed to display
the master linear gain as decibels to help achieve
suitable gain when setting parameters.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch updates the generator script example_drc.m with added
information how the blobs were created.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
These blobs are useful in setting DRC in runtime to
pass-through or strong compression mode to evaluate
performance.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This blob exercises fully the features of DRC and is
therefore useful for performance evaluation in all
operation regions.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This blob exercises fully the features of DRC and is
therefore good for testbench runs to evaluate performance
in all operation regions.
The pipeline pipe-drc-playback.m4 is used only with testbench
so it is safe to change to use this blob.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds build of hda-generic development topologies to
test IGO NR component with all s16/s24/s32 formats.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Currently, the minimum number of channels for the capture PCM
is set to the same value as the maximum number. This restricts
the number of channels supported by the PCM to the maximum number.
This is wrong if we want to allow arecord to work with multiple channel
values. As such, follow the example of "pipe-volume-playback.m4" and
introduce a new macro: LOCAL_CHANNELS_MIN. This will be set to
"CHANNELS_MIN" if said macro is defined, otherwise it will be set to
2.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Rename:
- tgl-cavs.toml to tgl.toml
- tgl-h-cavs.toml to tgl-h.toml
Remove the IPC3/IPC4 switch added by commit 6f71808e3e
("xtensa-build-zephyr.py: add ipc4 build support for tgl")
This brings back consistency which is required for the .toml
split (#8490)
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The main branch hasn't supported IPC3 for tgl for a long time.
Follow-up to commit a17c2823d3 ("xtensa-build-zephyr: remove ipc
option")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Remove the rest of channels and rate attribute values from pipeline
instamces and remove rate attribute definition from
pipeline-common.conf. There was no channels attribute definition in
pipeline-common.conf, not to mention *_min and *_max attributes.
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
This commit removes all defined values for rate, rate_min, rate_max,
channels, channels_min, and channels_max, from all pipeline
definitions under include/pipelines/cavs. The commit also removes them
from the usage examples in the comments.
The removed pipeline level attribute values are obsolete.
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Added limit of a number of input modules provided in a command line to the
maximum number of supported modules (size of module array / MAX_MODULES)
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Make the HDMI_USE_CHAIN_DMA set to true by default as enabling it for every
configuration just does not scale.
The generic HDA topologies enabled this for all IPC4 platforms already.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
In practice all HDA links (on LNL SDW/SSP/DMIC also) can use ChainDMA, but
the flag is used to enable this only for display links.
Rename the flag to be precise about this.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Fix the pcm handle name and the params to fix playback/capture with
hybrid host-dsp pipeline.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
If the RODATA segment does not contain any data, its type is marked as
empty. Cleared the readonly flag because this segment also contains .data
sections.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
If a given output segment type did not contain any input section
(was empty), its size was incorrectly calculated as 1 and then rounded to
the page size (4096). This resulted in an unnecessary segment in a output
file.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Add instructions to build sof_ep and parser_ep first to avoid dependency
issue and race condition.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
By oversight, the error message did not use the file name passed as a
parameter to the module_write_whole_elf function.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
If more modules are provided in a command line than defined in a toml file,
the program outputs an error message. It frees the module structures
even though they have not been opened before. This resulted in an error
when trying to close a file that was not previously open. Added a check to
ensure that a file has been opened before trying to close it.
Error handling in the elf_open function has been simplified.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
In function test_run_src() the second argument "t" is not used
so it can be safely removed.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
From 48k input, the obs for 11025/22050/44100/88200/176400 setting
need take care, previous implementation left 5 words redundancy
for output, this change removed redundancy, since actual output
buffer size always use double obs size.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
22050Hz obs also need a separate setting, this was missed when first
create this file, now move it to the group with obs setting.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
This patch adds build of hda-generic development topologies to
test RTNR component with all s16/s24/s32 formats.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch allows to build topologies to use the RTNR
component. Two bytes control blobs are converted from
topology1 to IPC4 format.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
To indicate the SoundWire amp need to use 24 bit format.
I use a flag instead of a macro like $SDW_AMP_FMT to set valid_bit_depth
because bit_depth and valid_bit_depth may not be the same.
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Before the fix the comp->core in ipc_comp_new() is garbage
and the check for maximum core count fails. The pointer to
struct asrc should be passed instead of address of pointer.
Fixes: d9f9340e1a
("tplg_parser: split out testbench logic and partition
features per file.")
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The multi-core topology was created since multi-core feature had a few
bugs at that time so it was for validation test. Now this feature works
fine so merge it into nocodec topology then it will be tested by
github CI. And we don't need to maintain a dedicated multi-core topology.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Loadable libraries do not need to have a .bss section. After this change,
its absence will be ignored when generating a image of the loadable module.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
It was confirmed that the IPC4 version of Google RTC AEC
is not using the bytes control, so it can be safely removed
from topology.
This fixes topologies build error:
ALSA lib conf.c:838:(get_char_skip_comments)
Cannot access file include/components/google-rtc-aec/rtc-aec-blob.conf
Fixes: 64fcebbd64
("Tools: Topology2: Add nocodec topology to test google-rtc-aec")
Fixes: #8357
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This removes a lot of warning noise and may help spot other warnings
like `ALSA lib ops.c:48:(lookup_ops) wrong kcontrol ops value string ''`
and others.
Now that commit 1b1ec6c492 ("topology/cmake: skip all topologies when
alsatplg < 1.2.5") enforces alsatplg version >= 1.2.5, it is finally safe
to do this!
I compared the generated .tplg files before/after this commit and
they're bit for bit identical. Tested with alsatplg v2.6.1 from
Ubuntu 22.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This removes a lot of warning noise and may help spot other warnings
like `ALSA lib ops.c:48:(lookup_ops) wrong kcontrol ops value string ''`
and others.
Now that commit 1b1ec6c492 ("topology/cmake: skip all topologies when
alsatplg < 1.2.5") enforces alsatplg version >= 1.2.5, it is finally safe
to do this!
I compared the generated .tplg files before/after this commit and
they're bit for bit identical. Tested with both alsatplg v2.6.1 from
Ubuntu 22 and version 1.2.9 from the SOF docker container.
Note this is a much smaller commit than the reverted
commit f50b6fe0ad ("topologies: switch all .m4 files to codec_provider
and codec_consumer") because most topologies v1 have been removed from
the main branch. Most topologies v1 are now only in stable-v2.2 where
the warning spam is still a problem :-(
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The build of testbench fails at /* fallthrough */ with xt-clang
build for MTL since warnings are treated in tesbench build as
errors. The re-arrange of default and 'h' fixes also return
of -EINVAL in default case for unknown option.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Set correct TDM slot width to 32 bits.
The error has been discovered after commit
0ba64e98ec ("SAI: use topology params").
We start using the tdm_slot_width from topology,
rather than hardcoded in code.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
RTC_AEC module is using DP and rest of pipeline is LL and both can
run on different cores.
For the purpose to assign DP module individually on secondary core,
now add a new macro GOOGLE_AEC_DP_CORE_ID.
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
This pipeline PCM -> ASRC -> DAI is used only in testbench test
topologies usage. None of the normal topologies build in SOF
use it. Since testbench can't support without failure the DAI
timestamps, the asynchronous mode is disabled. This allows
to test ASRC objective audio quality similarly as normal SRC.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The same tests can be applied for ASRC in sychronous mode. This
patch allows to pass component name as last argument. Use it
this way:
src_test(32, 32, 44100, 48000, 0, 1, 'asrc');
or
src_test(32, 32, 44100, 48000, 0, 1, 'src');
src_test(32, 32, 44100, 48000, 0, 1);
To run ASRC or SRC. See "help src_test" output for all
test options.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Add cavs-mixin-mixin-mixout-eqiir-dts-ssp.conf to support EQ IIR + DTS
processing on rt5682
Co-developed-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>
In order to adopt more different playback pipelines, refer to
sof-hda-generic.conf and move playback pipeline in cavs-rt5682.conf to
cavs-mixin-mixout-ssp.conf.
Co-developed-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>