Commit Graph

2191 Commits

Author SHA1 Message Date
Michal Bukowski ae31a28741 rimage: mtl: add cadence module entry
Added entry allows to enable cadence codec module.

Signed-off-by: Michal Bukowski <michal.bukowski@intel.com>
2023-11-20 15:27:53 +00:00
Yong Zhi 8b1a01f976 topology2: cavs-rt5682: Add Deep buffer PCM on amps
Add deep buffer PCM35 on amps for sof-mtl-max98357a-rt5682 tplg.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-11-17 13:12:32 +00:00
Yong Zhi 6a0e9b1eb4 topology2: deep-buffer: Add second instance
Add 2nd deepbuff PCM as an option.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-11-17 13:12:32 +00:00
Baofeng Tian a451d6b69a Topology2: fix obs size for src converter from 48k
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>
2023-11-17 12:47:40 +02:00
Baofeng Tian 85a15e5a06 Topology2: fix 22khz obs setting
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>
2023-11-17 12:47:40 +02:00
Seppo Ingalsuo 2ab6fe528d Tools: Topology2: Add sof-hda-benchmark-rtnr16/24/32-<platform>
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>
2023-11-16 15:59:10 +02:00
Seppo Ingalsuo 0e787e60c4 Tools: Topology2: Add widget class RTNR
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>
2023-11-16 15:59:10 +02:00
maruthi machani 8862f8863a topology1: amd: topology support for soundwire
topology support for soundwire

Signed-off-by: maruthi machani <maruthi.machani@amd.corp-partner.google.com>
2023-11-15 14:30:31 +02:00
Bard Liao f56559c059 topology2: add sof-mtl-cs42l43-l0-cs35l56-l12.tplg
Add cs42l43 + cs35l56 topology for MTL.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao 488c488b01 topology2: add sof-tgl-cs42l43-l3-cs35l56-l01 support
Add topology2 support for cs42l43 + cs35l56.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao ba65fb61ed topology2: sdw-jack-generic: add SDW_JACK_FMT_24 flag
To indicate the SoundWire jack need to use 24 bit format.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao a83db6b428 topology2: sdw-jack-generic: cleanup: use tab instead of space
Use tab instead of space.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao ba98117818 topology2: sdw-amp-generic: add SDW_AMP_FMT_24 flag
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>
2023-11-15 14:29:00 +02:00
Bard Liao 2541e55f2f topology2: Use SAMPLE_TYPE_MSB_INTEGER for ALH copier
MSB_INTEGER is required for ALH copier.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Ranjani Sridharan 529277f3f2 topology2: mixout-gain-efx-mbdrc-dai-copier-playback: Use index in routes
The old notation is not very readable.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-11-13 16:17:41 +02:00
Ranjani Sridharan f23f1232a6 topology2: mixout-gain-efx-dai-copier-playback: Use index explicitly in routes
The old notation to leave out pipeline ID is not very readable.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-11-13 16:17:41 +02:00
Seppo Ingalsuo 9eae757947 Tools: Testbench: Fix ASRC component load
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>
2023-11-10 16:27:37 +00:00
Andrula Song 00e7bc0cc0 Audio: ASRC: convert ASRC to module API.
Convert ASRC to module API and support ASRC IPC3 test
with test bench.

Signed-off-by: Andrula Song <andrula.song@intel.com>
2023-11-10 17:44:58 +02:00
Rander Wang 547132bc5d topology2: merge multi-core test into nocodec topology
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>
2023-11-10 12:33:43 +02:00
Adrian Warecki cb64c68bcd rimage: manifest: Ignore lack of .bss section for a loadable modules
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>
2023-11-09 11:28:30 +02:00
Seppo Ingalsuo 304dfd792e Tools: Topology2: Remove bytes control from cavs-nocodec-rtcaec.conf
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>
2023-11-09 11:22:19 +02:00
Yong Zhi 4986e3135d topology2: cavs-mixin-mixout-ssp: Use macros for pipeline IDs
Use macros for pipeline IDs for better maintainability.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-11-09 11:21:47 +02:00
Marc Herbert 008815dd54 tools/test/topology: mass replace codec_master -> codec_provider
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>
2023-11-09 11:20:09 +02:00
Marc Herbert 884dad565b tools/topology1: mass replace codec_master -> codec_provider
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>
2023-11-09 11:20:09 +02:00
Seppo Ingalsuo ad655446fd Tools: Testbench: Remove -Wl,-EL to avoid build fail with xt-clang
The linker option to indicate little endian is unused and the
warning causes build fail:

clang-10clang-10: : errorerror: : -Wl,-EL: 'linker' input unused
[-Werror,-Wunused-command-line-argument]-Wl,-EL: 'linker' input unused
[-Werror,-Wunused-command-line-argument]

clang-10: error: -Wl,-EL: 'linker' input unused
[-Werror,-Wunused-command-line-argument]
clang-10: error: -Wl,-EL: 'linker' input unused
[-Werror,-Wunused-command-line-argument]
gmake[2]: *** [CMakeFiles/testbench.dir/build.make:76:
CMakeFiles/testbench.dir/testbench.c.o] Error 1

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-08 16:39:29 +00:00
Seppo Ingalsuo bb5d82b1fe Tools: tplg_parser: Remove -Wl,-EL to avoid build fail with xt-clang
The linker option to indicate little-endian is not needed. It causes
build fail:

clang-10: errorclang-10: : -Wl,-EL: 'linker' input unused
[-Werror,-Wunused-command-line-argument]
error: -Wl,-EL: 'linker' input unused
[-Werror,-Wunused-command-line-argument]
clang-10: error: -Wl,-EL: 'linker' input unused
[-Werror,-Wunused-command-line-argument]
clang-10: clang-10error: : error: -Wl,-EL: 'linker' input unused
[-Werror,-Wunused-command-line-argument]
-Wl,-EL: 'linker' input unused [-Werror,-Wunused-command-line-argument]
gmake[5]: *** [CMakeFiles/sof_tplg_parser.dir/build.make:90:
CMakeFiles/sof_tplg_parser.dir/process.c.o] Error 1

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-08 16:39:29 +00:00
Seppo Ingalsuo 3f2096c6b9 Tools: Testbench: Avoid warning about fallthrough and fix return code
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>
2023-11-08 16:39:29 +00:00
Iuliana Prodan b9bd2303bd topology: imx: fix tdm slot width value
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>
2023-11-08 15:02:19 +01:00
Yong Zhi 49377e8c9e topology2: google-rtc-aec: expose DP module core_id for overriding
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>
2023-11-07 14:48:38 +00:00
Seppo Ingalsuo a6d65ee6dc Tools: Topology1: Change ASRC mode to synchronous in pipeline macro
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>
2023-11-03 16:59:59 +00:00
Seppo Ingalsuo 1b9681e00f Tools: Test: Audio: Add possibility to test ASRC with src_test.m
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>
2023-11-03 16:59:59 +00:00
Baofeng Tian d2fccbdf33 audio: copier: move copier generic header file to copier folder
This header file is referred by external modules, add relative
path for external module usage.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-11-03 18:56:13 +02:00
Joe Cheng 244df9feda topology2: dts: add DTS playback pipeline
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>
2023-11-03 18:33:00 +02:00
Joe Cheng 04130acffc topology2: dts: move playback pipeline to independent topology
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>
2023-11-03 18:33:00 +02:00
Joe Cheng 473c7a798c topology2 : dts : add DTS component and pipeline
This commit adds DTS componenet and pipeline for topology2.
1. DTS component
2. A new pipeline to support EQ IIR + DTS processing

dts_spk.conf includes the parameters for DTS SDK V1.1.3

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>
2023-11-03 18:33:00 +02:00
Mac Chiang 0e37018786 topology2: sof-mtl-rt713-rt1316: fix HDMI_IDs due to dai id mismatch
In non sdw-dmic case, dai incremental id without it, so correct
HDMI1/2/3_ID sequence from default 5,6,7 to 4,5,6.

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2023-11-03 16:32:10 +00:00
Seppo Ingalsuo b90ae24a88 Tools: Tune: TDFB: Use more silent command line options
These command line options for Octave and Matlab are the
most silent with no graphical plot windows opening during
batch job.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-03 16:20:25 +00:00
Seppo Ingalsuo 66e5c2cead Tools: Tune: TDFB: Add howto instructions to generated tplg blobs
Set field export_howto to instruction that was used to create
the blob. The tplg2 .conf and tplg1 .m4 files will contain the
command in the beginning of file.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-03 16:20:25 +00:00
Seppo Ingalsuo 16975a591b Tools: Topology2: Add sof-hda-benchmark-aria32-tgl build
This patch adds the aria test topologies build. Aria supports
only s32 format so the s16 and s24 versions build is left
out.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-01 21:08:59 +02:00
Seppo Ingalsuo 6d6637d608 Tools: Topology2: Add sof-hda-benchmark-gain16/24/32-tgl build
This patch adds test topologies build for gain component. Testing
of gain can be done with all supported s16/s24/s32 source and sink
formats. The topologies normally use only the s32 format
internally.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-01 21:08:59 +02:00
Seppo Ingalsuo 98e687edb4 Tools: Topology2: Add sof-hda-benchmark-multiband_drc16/24/32-tgl build
This patch adds the multiband-DRC test topologies build.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-01 21:08:59 +02:00
Seppo Ingalsuo 1e5e7edb26 Tools: Topology2: Add sof-hda-benchmark topologies for MTL
The create of component benchmark topologies is moved to
other included file from CMakeLists.txt.

The adding of new components with custom parameters for
multiple formats and platforms is simplified with nested
foreach loops. The previous topologies for TGL are now
built also for MTL.

Due to use of "IN ZIP_LISTS" with foreach, cmake requirement
is bumped to 3.17 for topology2.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-01 21:08:59 +02:00
Seppo Ingalsuo 2d27374086 Tools: Topology2: Include controls to multiband_drc class
The includes to define bytes and mixer controls classes are
needed in case no other class definition has included these.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-01 21:08:59 +02:00
Seppo Ingalsuo 2831afe345 Tools: Topology2: Easier controls create with bench_comp_generate.sh
This patch adds to benchmark topologies template .conf files
generator commented out control examples types for easier
ALSA controls create.

The controls include files are renamed since they may
contain all controls types and not just bytes.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-01 21:08:59 +02:00
Ranjani Sridharan d294036fd5 topology2: google-rtc-aec: adjust the IBS/OBS size based on process needs
Example: if a module has 2 input pins, one 16000/16/2, second 48000/16/2 and
one output pin 48000/32/4 and is designed to process 10ms data chunks:

in pin1 IBS should be 16(samples/1ms) * 2 bytes * 2 * 10(ms) = 640
in pin2 IBS should be 48(samples/1ms) * 2 bytes * 2 * 10(ms) = 1920
out pin1 OBS should be 48(samples/1ms) * 4 bytes * 4 * 10(ms) = 7680

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-11-01 20:38:52 +02:00
Yong Zhi e62e333e50 rimage: mtl: Use DP scheduler for AEC module
Change domain_types to DP, and allow it to run all 3 cores.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-10-31 20:35:12 +02:00
Chao Song e73cdf6805 topology2: Add sof-mtl-rt722-l0 support
This patch adds sof-mtl-rt722-l0.tplg, which is used
to support MTL RVP + RT722 EVB combination.

Headphone, speaker and DMIC functions are verified
with this topology.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
2023-10-31 20:30:41 +02:00
Adrian Bonislawski 86497b46bf rimage: mtl/lnl: fix key slot setup based on imr type
Clean cherry-picks of two commits from separate rimage repo
https://github.com/thesofproject/rimage/commits/stable-v2.7

This will properly setup partition_usage field
and remove fixed 0x23 value from MTL toml

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
(cherry picked from commit fbea59358d06ffa86645cdf4ce0996e352742eb5)

Second, squashed LNL commit:

config/lnl.toml: drop now invalid signed_pkg.partition_usage

Fixes commit fbea59358d06 ("rimage: mtl: fix key slot setup based on imr
type") which broke LNL compilation like this:

```
error: 1 unparsed keys left in 'signed_pkg'
error: key 'signed_pkg' parsing error
```

This commit does not change the final image (compared to before rimage
commit fbea59358d06) because the default value is now 0x20 + IMR type.

Fixes are normally submitted to the main branch first and then cherry
picked to stable branches. However MTL fbea59358d06 has been made in
stable-v2.7 first so the LNL change was also in stable-v2.7 first for
consistency.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
(cherry picked from commit 469102a8f6052ce6a374b870ea945a84d04c3b1a)
2023-10-31 15:05:50 +00:00
Adrian Warecki 3cb13e7c74 rimage: module: Fix section order in output image
Fixed the order in which sections are placed in the output firmware image
for platforms using a simple manifest.

Fixes: #8336

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-10-31 13:59:55 +02:00
Chao Song 165e68fdaf topology2: Add sof-lnl-rt711-l0-rt1316-l23-rt714-l1 support
This patch adds sof-lnl-rt711-l0-rt1316-l23-rt714-l1.tplg,
which is used to support LNL RVP + AIOC4.1 codec board
combination.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
2023-10-30 20:35:56 +02:00