Commit Graph

1980 Commits

Author SHA1 Message Date
Yong Zhi e23857b641 topology2: nocodec-multicore: test multi-stream capture
Enable more complex pipelines for multi-core use cases.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-07-11 19:30:06 +01:00
Mac Chiang 1fadc21187 topology2: cavs-rt5682: add sof-mtl-rt1019-rt5682 support
Due to sof_mtl_rt1019_rt5682 machine driver without BT_OFFLAD
bit and support 3 HDMI devices, so make the BT_OFFLOAD option
and subsequentially mapping SPK_ID from 7 to 6.

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2023-07-10 15:07:56 +01:00
Mac Chiang 1e6f4e0618 topology2: cavs-rt5682: make BT offload as option
Consider the variant projects with/without bt offload feature
so include BT_OFFLOAD pipelines as an option if needed

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2023-07-10 15:07:56 +01:00
Pierre-Louis Bossart 3029a0cc38 topology2: cavs-sdw: fix bad index in passthrough mode
When PASSTHROUGH is true, the topology generation throws this error:

ALSA lib dapm.c:247:(tplg_build_routes) undefined source widget/stream
'host-copier.0.playback'

using the pcm_id 2 used for the host copier fixes the issue.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2023-07-07 12:11:16 +01:00
Bard Liao b267012f22 Topology2: sdw-amp-generic: add missing num_input_pins
num_input_pins was missing in passthrough mode.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-07-06 10:58:32 -07:00
Seppo Ingalsuo 2fb0c1d811 Tools: Topology2: Add a development HDA generic MCPS benchmark topology
This patch builds new development topologies
sof-hda-benchmark-generic-<tgl/mtl/lnl>.tplg to evaluate performance
of a set of playback components.

The topology for PCM0P playback is

host-copier.0 --> gain.1.1 --> mixin.1.1 -->
	mixout.2.1 --> aria.2.1 --> gain.2.1  --> mixin
	mixout.3.1 --> dai-copier.HDA

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-07-04 16:09:57 +01:00
Jaska Uimonen 8380946137 topology1: test topology for tgl nocodec mux
Add test topology for muxing 2 pipelines into 1 with SSP dai and
capturing the result from loopback.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2023-07-04 15:37:21 +01:00
MARUTHI MACHANI 388075ec82 topology1:amd: comments update
topology comments update

Signed-off-by: MARUTHI MACHANI <maruthi.machani@amd.com>
2023-07-04 15:18:52 +01:00
MARUTHI MACHANI 3fa5085a4e topology1:amd: topology changes to support virtual playback passthrough for mux
Topology changes to support virtual playback passthrough for mux

Signed-off-by: MARUTHI MACHANI <maruthi.machani@amd.com>
2023-07-04 15:18:52 +01:00
Bard Liao a6fa09cca7 Topology2: add sof-tgl-rt711-rt1308-rt715 topology
Add sof-tgl-rt711-rt1308-rt715 topology for topology2.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-07-04 15:18:27 +01:00
Bard Liao 4fa2ad4261 Topology2: sdw-amp-generic: add 2nd amp feedback when SDW_AMP_FEEDBACK
is true

Currently, we add the 2nd sdw amp feedback unconditionally. It will lead
to an issue when aggregated apms don't support feedback function.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-07-04 15:18:27 +01:00
Bard Liao cc3b75665f Topology2: hdmi: use macro to set HDMI BE name
HDMI BE name may not be iDispx.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-07-04 15:13:56 +01:00
Ranjani Sridharan b1ce311540 topology2: pipelines: dai-copier-eqiir-module-copier-capture: Replace audio_format object
Use the input_audio_format/output_audio_format objects explicitly.
Also, add the 4ch audio format in the class definition as this is only
instantiated once in dmic-generic.conf and needs support for both
formats.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-07-04 15:10:35 +01:00
Ranjani Sridharan 511f680b02 topology2: pipelines: io-gateway: Replace audio_format object
Use the input_audio_format/output_audio_format objects explicitly.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-07-04 15:10:35 +01:00
Ranjani Sridharan 914b855d72 topology2: components: mixout: Replace audio_format object
Use the input_audio_format/output_audio_format objects explicitly.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-07-04 15:10:35 +01:00
Ranjani Sridharan 7ad6659b9e topology2: components: mixin: Replace audio_format object
Use the input_audio_format/output_audio_format objects explicitly.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-07-04 15:10:35 +01:00
Seppo Ingalsuo 7458312a76 Tools: Testbench: Remove unnecessary scheduling component find
The pcm_dev is no more used in the code. It also causes a
problem with "error: ipc get comp" with some topologies, where
p->sched_id is missing. This fix helps testbech to parse a
topology like

pcm0p --> buf2.0 --> muxdemux --> buf1.0 --> ssp0.out
                        ^
pcm1p --> buf3.0 -------|

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-07-03 17:13:45 +01:00
Jyri Sarha 593563b69e topology2: cavs-mixin-mixout-efx-hda.conf: Uppercase IIR and FIR
Make these last IIR and FIR acronyms in the kcontrol names uppercase.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-07-03 16:13:37 +01:00
Jyri Sarha 50f5c8fbdc topology2: Rename remaining non mixer kcontrols to follow new naming scheme
Rename all remaining kcontrols to follow the new naming scheme that is
already used for all mixers.

This commit changes kcontrol names as follows:

cavs-nocodec.conf:
'smart_amp_init' -> 'Main Playback and Port0 smart_amp_init'

cavs-mixin-mixout-hda.conf:
'4 Main capture Iir Eq' -> 'Analog Capture IIR Eq'

dmic-generic.conf:
'DMIC0 capture Iir Eq' -> 'DMIC0 Capture IIR Eq'

sdw-jack-generic.conf:
'4 Main capture Iir Eq' -> 'Jack In Capture IIR Eq'

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-06-30 13:24:56 +03:00
Jyri Sarha a3814c58b9 topology2: sdw-jack-generic.conf: Rename mixers
Rename mixers according to the new naming convention by referring to
the associated PCM name and the position in the topology. Create
defines for PCM names so the name is only in one place. Adds a define
for the capture PCM too. The commit also updates the PCM names while
adding the defines.

This produces following changes, on PCM names:
'Jack in' -> 'Jack In'
'Jack out' -> 'Jack Out'

and on mixer names:
'1 Playback Volume 0' -> 'Pre Mixer Jack Out Playback Volume'
'2 Main Playback Volume' -> 'Post Mixer Jack Out Playback Volume'

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-06-28 17:17:15 +03:00
Jyri Sarha 2af91434b5 topology2: cavs-sdw-src-gain-mixin.conf: Rename mixers
Rename mixers according to the new naming convention by referring to
the associated PCM name and the position in the topology. Create
defines for PCM names so the name is only in one place. The commit
also updates the PCM names while adding the defines.

This produces following changes, on PCM names:
'Jack in' -> 'Jack In'
'Jack Out' -> 'Jack Out'

and on mixer names:
'Src Playback Volume' -> 'Pre Mixer Jack Out Playback Volume'
'Main Playback Volume' -> 'Post Mixer Jack Out Playback Volume'

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-06-28 17:17:15 +03:00
Jyri Sarha bda1bcd5bc topology2: cavs-rt5682.conf: Rename mixers
Rename mixers according to the new naming convention by referring to
the associated PCM name and the position in the topology. Create defines
for PCM names so the name is only in one place.

This produces following changes:

'Playback Volume 1' -> 'Pre Mixer Headset Playback Volume'
'Playback Volume 3' -> 'Pre Mixer Speaker Playback Volume'
'Main Playback Volume 2' -> 'Post Mixer Headset Playback Volume'
'Main Playback Volume 4' -> 'Post Mixer Speaker Playback Volume'

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-06-28 17:17:15 +03:00
Jyri Sarha 2cef521c36 topology2: cavs-nocodec-multicore.conf: Rename playback volumes
Rename SSP0, SSP1, and SSP2 playback volumes according to PCM names
they are connected to. Define the PCM names as variables so the name
can be changed in a single place.

This is how the change will look like:

'gain.1.1 Playback Volume 1' to
'gain.1.1 Pre Mixer Port0 Playback Volume'

'gain.14.1 Main Playback Volume 14' to
'gain.14.1 Post Mixer Port0 Playback Volume'

'gain.3.1 Playback Volume 3' to
'gain.3.1 Pre Mixer Port1 Playback Volume'

'gain.4.1 Main Playback Volume 4' to
'gain.4.1 Post Mixer Port1 Playback Volume'

'gain.5.1 Playback Volume 5' to
'gain.5.1 Pre Mixer Port2 Playback Volume'

'gain.6.1 Main Playback Volume 6' to
'gain.6.1 Post Mixer Port2 Playback Volume'

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-06-28 12:33:10 +03:00
Jyri Sarha a0b1a391b8 topology2: cavs-mixin-mixout-efx-hda.conf: Rename Iir and Fir Eqs
Rename mixin and mixout EFX Analog Playback Eqs to follow the same
naming scheme as the mixers.

As a result of this commit Eqs are renamed in sof-hda-efx-generic.tplg
as follows:

'eqfir.2.1 2 Main playback Fir Eq' to
'eqfir.2.1 Post Mixer Analog Playback Fir Eq'

and

'eqiir.2.1 2 Main playback Iir Eq' to
'eqiir.2.1 Post Mixer Analog Playback Iir Eq'

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-06-28 12:33:10 +03:00
Jyri Sarha ecff8a1d3d topology2: cavs-mixin-mixout-efx-hda.conf: Improve mixer names
Rename mixin and mixout EFX Analog Playback volumes. Rewrite the names
of the mixers to better reflect their position in the topology.

As a result of this commit mixers are renamed in sof-hda-efx-generic.tplg
as follows:

'gain.1.1 1 2nd Playback Volume' to 'gain.1.1 Pre Mixer Analog Playback Volume'

and

'gain.2.1 2 Main Playback Volume' to
'gain.2.1 Post Mixer Analog Playback Volume'

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-06-28 12:33:10 +03:00
Uday M Bhat 3de4a6e5d7 topology2: cavs-sdw : Update BT offload SSP for MTL chromebook
For MTL chromebook, SSP 1 is used for BT offload with
cavs-sdw configuration

Co-developed-by: Yong Zhi <yong.zhi@intel.com>
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Co-developed-by: Jairaj Arava <jairaj.arava@intel.com>
Signed-off-by: Jairaj Arava <jairaj.arava@intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Uday M Bhat <uday.m.bhat@intel.com>
2023-06-27 13:33:35 +03:00
Balamurugan C 81f582279c topology1: adl: add support for Nocodec amp and HDMI-in capture.
Adding support for the alderlake products which doesn't have no ssp
amplifier but need to support HDMI audio playback and HDMI-in capture
via I2S

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
2023-06-21 12:14:03 +03:00
Balamurugan C 310b10c055 topology1: tgl: add support for Nocodec amp and HDMI-in capture.
Adding support for the product which doesn't have no ssp amplifier
but need to support HDMI audio playback and HDMI-in capture via I2S.

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
2023-06-21 12:14:03 +03:00
Balamurugan C d0dbfd62ca topology1: add support for rt1308 ssp amp + HDMI-in capture.
Adding support for rt1308 ssp amplifier and HDMI-in capture via I2S.

Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
2023-06-21 12:14:03 +03:00
Ranjani Sridharan 584e2f62e5 topology2: cavs-nocodec-multicore: Replace audio_format objects
Use the input_audio_format/output_audio_format objects instead.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-21 12:10:02 +03:00
Ranjani Sridharan 4a64defa94 topology2: cavs-rt5682: Replace audio_format objects
Use the input_audio_format/output_audio_format objects instead.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-21 12:10:02 +03:00
Ranjani Sridharan bdd3bf2409 topology2: cavs-nocodec-bt: Replace audio_format objects
Use the input_audio_format/output_audio_format objects instead.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-21 12:10:02 +03:00
Yong Zhi 83ff81984a topology2: deepbuffer-playback: increase default buffer_size_max
buffer_size_max of PCM cap for deepbuf is configured for 65536.
Quadruple the buffer_size/period_size to allow aplay to use larger
buffer size.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-06-20 14:09:33 +03:00
Marcin Szkudlinski 589df2aea4 buffer: don't access stream internals
add more functions to audio_stream internals

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-06-19 16:26:08 +02:00
Yong Zhi 77e3e92157 topology2: cavs-rt5682: Add 2ch DMIC topology
Rex SKU1 variant has only 2xDMIC enabled on PDM1, use 2xch
capture for power saving.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-06-19 10:18:12 +03:00
Jaska Uimonen f0f5bddd7b topology2: fix dai index in nocodec multicore
Dai index in one copier is set to 1 even though it should be 0, thus
change it.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2023-06-16 18:24:37 +03:00
Jaska Uimonen f5df5097c8 topology2: fix nhlt debug binary names
Some topologies have the same file name specified as nhlt debug output
so they will override others. Change the names to be unique.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2023-06-16 18:24:37 +03:00
Ranjani Sridharan 75e8f4b63c topology2: cavs-nocodec: Introduce macros for PCM IDs
And fix the erroneous PCM ID for SSP0 capture.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-15 19:50:03 +03:00
Bard Liao f0b44b4854 Topology2: sdw-jack-generic: add 24 bit format support for sdw jack
Somehow s24_le format is missed.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-06-15 16:35:03 +03:00
Yong Zhi b75a94bfd3 topology2: cavs-nocodec: run DMIC pipelines on core1
There is pinmux on MTL platform to optionally enable DMIC,
add this config to the build and run the pipeline on core 1.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-06-15 11:10:45 +03:00
Ranjani Sridharan 561f4b036c topology2: sdw-jack-generic: Fix the number of input pins
This was missed earlier.

Fixes: f8ad12734d ("topology2: cavs-sdw: Add option for passthrough pipelines")
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-14 21:45:23 +03:00
Yong Zhi d3f8bdc304 topology2: add sof-mtl-cs42l42-l0-max98363-l2-4ch support
cs42l42 headset codec on link0 & 2xmax98363 on link 2.

Co-developed-by: Uday M Bhat <uday.m.bhat@intel.com>
Co-developed-by: Jairaj Arava <jairaj.arava@intel.com>
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-06-13 18:24:13 +03:00
Ranjani Sridharan 8d5e624d03 topology2: intel: hdmi-generic: Replace audio_format objects
Use the input_audio_format and output_audio_format objects instead.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-13 11:16:10 +03:00
Ranjani Sridharan 8cb7bf1baf topology2: cavs-mixin-mixout: Replace audio_format instance
Use the input_audio_format and output_audio_format objects instead
and fix the number of input/output formats to 1.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-13 11:16:10 +03:00
Bard Liao 8ef4d51e68 topology2: sdw-jack-generic: add SDW_JACK_CAPTURE_CH macro
Adding SDW_JACK_CAPTURE_CH macro to specify sdw jack channels.
The default value is 2.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-06-12 10:12:36 +03:00
Bard Liao f6f57fe82b Topology2: sdw-jack-generic: add 1 ch format support
Some codecs like cs42l42 support 1 channel capture only.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-06-12 10:12:36 +03:00
Mengdong Lin a5c0c49707 topology2: add development tplg to test playback with 2 cores
This is to allow CI to test a simple multicore playback case on
MTL/TGL/ADL: SSP0 playback on core 0 and SSP2 playback on core 1.

Capture uses core 0 only atm. More multicore usage will be
introduced later.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
2023-06-12 10:09:00 +03:00
Ranjani Sridharan 1da18c2caa topology2: cavs-sdw: Build passthrough LNL FPGA topology
With RT711 on link 0

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-07 18:17:20 +03:00
Ranjani Sridharan f8ad12734d topology2: cavs-sdw: Add option for passthrough pipelines
Add a compile time option to build SDW topologies with passthrough
pipelines.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-06-07 18:17:20 +03:00
Bard Liao 6863eda168 topology2: add sof-mtl-rt712-l0-rt1712-l3.tplg
For MTL + rt712

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-06-06 18:06:10 +03:00