Commit Graph

1469 Commits

Author SHA1 Message Date
Iuliana Prodan a6700afea1 topology1: imx8ulp: overwrite CHANNELS_MIN
On 8ULP SAI is connected to BT which supports
only 1 channel for both playback and record.

Fixes: aaff352314 ('topology1: pipe-volume-capture.m4: Set minimum number of channels to 2')

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-02-12 20:07:47 +02:00
Brent Lu 5c3a1caec3 topology2: dmic-generic: rename volume switch
The volume switch of gain widget is renamed as 'Dmic0 Capture Volume'
for backward compatibility.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2024-02-08 16:58:21 +00:00
Brent Lu 33e23766ff topology2: dmic-generic: add switch for LED control
Add a mute switch to gain widget for DMIC. Also register this switch
as MIC mute LED mixer control on Linux side.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2024-02-08 16:58:21 +00:00
Brent Lu b2d1f09da5 topology2: gain: add mixer switch for mute control
Add a switch to gain widget for mute control. It could also be used
as MIC/SPK mute LED control purpose.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2024-02-08 16:58:21 +00:00
Ranjani Sridharan a5bdcce1e1 topology2: Add topology for testing SOF plugin
The topology uses passthrough pipelines for playback/capture and
supports only 48k, 2ch, 16bit format for now.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2024-02-05 18:16:40 +02:00
Andrula Song 193dec2c9f Topology: Topology2: Add sof-hda-benchmark-asrc32/24/16-<platform>
This patch adds build of hda-generic development topologies to
test ASRC component with s32/24/16 format.

Signed-off-by: Andrula Song <andrula.song@intel.com>
2024-01-29 15:17:24 +00:00
Balamurugan C 7002215a8d topology2: mtl: Generate topology for No headset codec
Adding make file changes to generate the topology file for the products
which doesn't have no ssp-based audio codec but need to support
HDMI audio playback and HDMI-in capture via I2S.

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
2024-01-29 11:52:21 +02:00
Balamurugan C f29230698a topology2: mtl: Override default HDMI DAI link id's
override the default HDMI DAI link id's by using make
define parameters instead of fixed in file.

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
2024-01-29 11:52:21 +02:00
Balamurugan C b9132421d3 topology2: mtl: Add headset codec macro
Adding HEADSET_CODEC macro and guarded the SSP configuration handling
under this macro.By this changes we can generate the topology
configuration for the products which has no headset codec.

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
2024-01-29 11:52:21 +02:00
Bard Liao 897cee1e18 fixup! topology2: Use SAMPLE_TYPE_MSB_INTEGER for ALH copier
Some ALH DAI copier missed SAMPLE_TYPE_MSB_INTEGER setting.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2024-01-26 13:37:28 +00:00
Maciej Strozek eea7b51fd6 topology2: cavs-cs42l43: Add topology for cs42l43/cs35l56 on MTL
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>
2024-01-26 01:10:26 +02:00
Pierre-Louis Bossart 6a2eba11dd topology2: enable HDMI for all MTL topologies
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>
2024-01-25 18:09:29 +02:00
Peter Ujfalusi c27eda7edb topology2: production: cav2.5: Add sof-adl-rt711-l0-rt1316-l13-rt714-l2
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>
2024-01-24 16:46:01 +00:00
Peter Ujfalusi 10e87fd8f1 topology2: production: cav2.5: Add sof-adl-rt711-l0-rt1308-l12-rt715-l3
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>
2024-01-24 16:46:01 +00:00
Peter Ujfalusi d0232e7286 topology2: production: cav2.5: Remove NHLT blob from SDW DMIC topologies
NHLT blob is not needed in for DMIC on SDW bus.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2024-01-24 16:46:01 +00:00
Peter Ujfalusi b05eded22d topology2: Tidy up the production target name as topology2_prod
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>
2024-01-24 15:13:11 +00:00
Peter Ujfalusi 65e4c1f8b5 topology2: Merge avs-tplg and sof-ace-tplg under production directory
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>
2024-01-22 10:38:49 +08:00
Chao Song 16d788efed Topology2: Add sof-lnl-rt722-l0
This patch adds the topology for LNL RVP with rt722
multiple function codec.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
2024-01-11 12:38:28 +00:00
Andrula Song 3a78701fb0 Tools: Topology2: Add sof-hda-benchmark-src_lite16/24/32-<platform>
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>
2024-01-09 15:09:37 +00:00
Andrula Song 04a0553d67 Tools: Topology2: Add widget class SRC LITE
This patch allows to build topologies to use the SRC LITE
component.

Signed-off-by: Andrula Song <andrula.song@intel.com>
2024-01-09 15:09:37 +00:00
Peter Ujfalusi 4bb48758ad topology2: Remove redundant DEEPBUFFER_FW_DMA_MS=100 settings
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>
2024-01-08 14:19:50 +00:00
Peter Ujfalusi 80f283de0c topology2: Mark DeepBuffer D0I3 compatible by default
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>
2024-01-08 14:19:50 +00:00
Andrula Song dae9214e37 Topology: Topology2: Add sof-hda-benchmark-src24/16-<platform>
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>
2024-01-08 10:47:30 +02:00
Andrula Song 344778384a Tools: Topology2: Add more specific src format .conf files
Add more s24 and s16 format src .conf files. These files
have the similar function as s32 files.

Signed-off-by: Andrula Song <andrula.song@intel.com>
2024-01-08 10:47:30 +02:00
Chao Song 874eda7ca8 Topology2: Add sof-lnl-rt712-l2-rt1712-l3 topology
This patch adds the topology for LNL RVP with rt712
multiple function codec.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
2024-01-05 13:15:49 +02:00
Andrula Song 1c33c4e1b7 Topology: Topology2: Add sof-hda-benchmark-src32-<platform>
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>
2024-01-04 15:31:26 +00:00
Yong Zhi 1f3cf75a1b topology2: cavs-rt5682: Assign RTC_AEC to secondary core
Run RTC_AEC module on core 2 to balance workloads.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2024-01-04 15:27:16 +02:00
Kai Vehmanen a9bd8245d2 topology2: cavs-nocodec-bt: fix PCM0 and PCM1 capabilities
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>
2023-12-22 11:36:39 +02:00
Seppo Ingalsuo dabf0a672e Tools: Topology2: Add switch control to topologies with DRC
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>
2023-12-21 13:12:42 +00:00
Andrula Song 7ec22d80ea Tools: Topology: Fix the topology2 ASRC UUID
Correcting the UUID in asrc.conf to match with firmware.

Signed-off-by: Andrula Song <andrula.song@intel.com>
2023-12-20 14:58:58 +00:00
Seppo Ingalsuo 895450ec6f Tools: Topology2: Update comments in DRC configuration blobs
Add descriptive comments how these blobs for DRC were
created.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-12-19 17:18:44 +00:00
Seppo Ingalsuo b2b6f099d2 Tools: Topology2: DRC: Add blob for speaker processing
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>
2023-12-19 17:18:44 +00:00
Seppo Ingalsuo 6eed29c74f Tools: Topology1: Add speaker DRC blob for testbench run
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>
2023-12-19 17:18:44 +00:00
Balamurugan C fc860826a8 topology2:cavs-es83x6: Add support to Es8326 codec + HDMI-in capture
Add Es8326 codec support and HDMI-in capture via I2S.

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
2023-12-19 17:03:57 +00:00
Seppo Ingalsuo e5da161264 Tools: Topology2: Add sof-hda-benchmark-rtnr16/24/32-<platform>
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>
2023-12-19 17:41:02 +02:00
Seppo Ingalsuo 8df176a7bb Tools: Topology2: Add widget class IGO NR
This patch allows to build topologies to use the IGO NR
component.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-12-19 17:41:02 +02:00
Laurentiu Mihalcea aaff352314 topology1: pipe-volume-capture.m4: Set minimum number of channels to 2
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>
2023-12-13 15:26:16 +02:00
Jyri Sarha f064c029cc topology2: pipeline: Remove rate attribute and rate and channels values
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>
2023-12-12 20:18:02 +02:00
Jyri Sarha d6999c590e topology2: pipelines/cavs: Remove channels and rate pipeline attribute values
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>
2023-12-12 20:18:02 +02:00
Yong Zhi a108c5e940 topology2: Remove pcm cap attributes
Remove the attributes that do not belong to Pipeline class.
There are no changes to compiled binary.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-12-11 12:13:21 +02:00
Yong Zhi cdd1c91608 topology2: google-rtc-aec: Add Byte control
Add binary controls for AEC tuning data with
max size set to 2048.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-12-08 15:29:31 +02:00
Peter Ujfalusi cff6a6b6f3 topology2: Enable ChainDMA for HDMI links unconditionally
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>
2023-12-05 11:11:39 +02:00
Peter Ujfalusi cf473b5aa7 topology2: Rename USE_CHAIN_DMA to HDMI_USE_CHAIN_DMA
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>
2023-12-05 11:11:39 +02:00
Mac Chiang 872d9fd199 topology2: sof-mtl-rt5650: enable dts playback
enable dts pipeline on rt5650 speaker(I2S0) and headphone(I2S1).

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2023-12-04 10:41:40 +02:00
Curtis Malainey 285c090a10 topology: Add support for buffer flags
Flags have been a part of IPC3 for ages, add support for them in the topology.

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
2023-11-30 10:16:59 +02:00
barry.jan 5cf1c9c0d6 topology: Add Waves codec to MT8188 topology
Modify sof-mt8188-mt6359 topology so Waves codec can be added
to playback in case 'WAVES' is defined.

Signed-off-by: barry.jan <barry.jan@waves.com>
2023-11-29 16:33:19 +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