Commit Graph

282 Commits

Author SHA1 Message Date
Seppo Ingalsuo 4a2d69b50b Tools: Topology: Updated TDFB macro files
The tdfb_controls.m4 is changed for better 15 degree control enum
spacing for beam direction. The file is with this change dedicated
for line arrays with physical limitation to -90 to +90 degrees that
is just achievable with 16 max. enum values.

The new tdfb_controls360.m4 uses the previous 30 degree spacing for
360 degrees arrays such as circular. The pipeline macros for 360
degrees are added to pipelines macros. The difference is only include
of 360 degrees controls version.

The topology development CMakeList.txt is changed to build topologies
with TDFB with single dual mono -90 to +90 degree angle steerable
beam. The stereo dual beam setup files are preserved and updated but
currently used only for testbench test for more complex configuration.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2022-02-08 09:14:20 +00:00
Alibek Omarov bb0641c789 topology1: Add sample topology for i.MX8MP boards with wm8904 codec
Tested to work on Variscite Symphony-Board v1.3 with VAR-SOM-MX8M-PLUS

Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
2022-02-04 11:03:07 +00:00
Lionel Koenig 52358064fe topology: Run spk pipelines on same core as AEC
In order to avoid inter core communication while running
GOOGLE_RTC_AUDIO_PROCESSING, this change ensure that the speaker
processing and the amplifier feedbacks are running on the same core as
the AEC.

Signed-off-by: Lionel Koenig <lionelk@google.com>
2022-02-04 10:04:30 +00:00
Zhang Peng bcbab9e1c7 topology: Add sof-imx8ulp-9x9-btsco.m4 for imx8ulp
sof-imx8ulp-9x9-btsco.m4 is used to generate the topology
file used on imx8ulp 9x9 board.

Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2022-01-31 11:16:23 +00:00
Li-Yu Yu 46da7bd9d1 topology1: mt8195: Add topology with DTS
Add CMake build definition for
sof-mt8195-mt6359-rt1019-rt5682-dts.tplg.

Signed-off-by: Li-Yu Yu <aaronyu@google.com>
2022-01-26 14:12:53 +00:00
Lionel Koenig c48a5281a0 topology1: google-aec topology
Add topology to include google-rtc-audio-processing to a main topology.

Signed-off-by: Lionel Koenig <lionelk@google.com>
2022-01-26 13:48:00 +00:00
Ranjani Sridharan bfd5e61768 topology1: remove setup config info from all codec_adapter topologies
Remove the setup config info from all initial config data in the
codec_adapter kcontrol's. This is no longer needed.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2022-01-21 12:55:38 +00:00
Liam Girdwood 0df9dc1398 Revert "topology1: remove setup config info from all codec_adapter topologies"
This reverts commit 5062a8bf79.
2022-01-21 12:03:53 +00:00
Ranjani Sridharan 5062a8bf79 topology1: remove setup config info from all codec_adapter topologies
Remove the setup config info from all initial config data in the
codec_adapter kcontrol's. This is no longer needed.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2022-01-21 11:36:50 +00:00
Brent Lu 113a49d253 topology: sof-adl-rt5682: add new topology
Add support for boards without speaker amplifier. Just simply remove
all speaker related components and configuration.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2022-01-18 16:59:35 +00:00
Lionel Koenig 07a612258e topology: Ensure PCM for detect pipeline
detect pipelines require PCM_ID to be define which is the case only
when they get inserted using PIPELINE_PCM_ADD.

Note that PIPELINE_PCM_ADD and PIPELINE_ADD have different signature.

Signed-off-by: Lionel Koenig <lionelk@google.com>
2022-01-17 14:41:04 +01:00
Lionel Koenig 7162534498 topology: define PIPELINE_FORMAT from DAI_ADD
Pipeline extects PIPELINE_FORMAT to be defined. When including a
pipeline using DAI_ADD, DAI_FORMAT is defined but no PIPELINE_FORMAT.
Prior c687815, the last previously defined PIPELINE_FORMAT was used.
This change ensure the requested DAI_FORMAT is used in the pipeline.

This addresses bug #5193.

Signed-off-by: Lionel Koenig <lionelk@google.com>
2022-01-17 14:41:04 +01:00
Pierre-Louis Bossart 6b8b1cee16 topology: add all possible permutations for ES8336-based platforms
So far we support apl, glk, cml, jsl, tgl.

SSP0 or SSP2 can be used.

DMICS may or may not be present, the simplifying assumption is that we
have 0, 2 or 4channels.

the existing topology names are kept but will not be used with kernel
updates, the -ssp<N> and -dmic<N> ch suffixes will be added based on
NHLT information to avoid a need to override topology files.

A better solution would be a DAI index that can be overridden in a
topology file, but we have no interface to do so at the moment, so
brute-force combinatorial handling of all possible solutions it is.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2022-01-13 14:18:43 +00:00
Lionel Koenig c687815185 topology1: Undefine after in DAI & PIPELINE macros
In order to ease comprehension and avoid side-effect of constants being
defined after calling a macro, this change undefined the locally define
constants for pipelines and dai macros.

Signed-off-by: Lionel Koenig <lionelk@google.com>
2022-01-11 15:57:41 +00:00
Marc Herbert f50b6fe0ad topologies: switch all .m4 files to codec_provider and codec_consumer
All .tplg output files have been compared and are strictly identical
after the change.

The deprecation warnings were added more than one year ago in
https://github.com/alsa-project/alsa-lib/commits//706192341d1d0bbb906

Now that we just upgraded our Docker image to ALSA 1.2.6
(https://hub.docker.com/r/thesofproject/sof/tags) so #5153 can enable
topology v2, the volume of warnings has became unbearable.  For instance
good luck trying to find the actual error messages for the build
failures of #5155 - they're totally drowned in these deprecation
warnings.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-01-10 11:52:26 +00:00
YC Hung e7f6430004 topology1: mt8195: support 1ms pipeline capture period
1.Default support 1ms period capture pipeline to update host position
  more precisely.
2.Revise pipeline 1 to playback and pipeline 4 to capture in comment.

Signed-off-by: YC Hung <yc.hung@mediatek.com>
2022-01-10 11:48:08 +00:00
Lionel Koenig 9ee413bf46 comp: Add initial Google AEC
Introduce a new component to perform acoustic echo cancellation
on capture path using a buffer from the playback as a reference.

1. Put the google_rtc_audio_processing at
$SOF_REPO/third_party_libraries
  - libgoogle_rtc_audio_processing.a
  - libgoogle_rtc_audio_processing_tuning.a
  - libc++.a (Corresponding stdlibc++)
  - libc++abi.a
2. Put the header in $SOF_REPO/third_party_includes
  - google_rtc_audio_processing.h

3. Build firmware and tool with xcc

4. To verify it works:
  - aplay some speech
  - At the same time arecord the mic which uses AEC
  The mic signal should not exhibit any echo from the playback.

Signed-off-by: Lionel Koenig <lionelk@google.com>
2022-01-04 15:24:18 -08:00
YC Hung 606cd44bc8 topology1: mt8195: support 1ms pipeline playback period
1. Default support 1ms period playback pipeline to update host position
more precisely.
2. Revise pcm node number description

Signed-off-by: YC Hung <yc.hung@mediatek.com>
2022-01-03 21:38:43 +00:00
Brent Lu 03adf55bed topology: sof-adl-max98357a-rt5682-4ch: add new topology
Add support for four max98357a speaker amplifiers running in TDM mode
which format is 8 slots with 32 bit slot/sample width on ADL boards.
The only difference between this one and sof-adl-max98360a-rt5682-4ch
is the SSP port for speaker amplifiers; this one is using SSP2 while
max98360a's topology is using SSP1.

This topology implements a 4-channel pipeline directly to speaker
amplifiers so audio effects need to be done in user space.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-12-27 20:53:31 +00:00
Mark Barton 37ce03fbd9 topology1: mt8195: Remove DTS-specific workaround for period
In a previous commit DTS changed the period of this topology to 1000 when `DTS` was defined. This
commit removes this behaviour as DTS codec now supports the original period for this topology

 Signed-off-by: Mark Barton <mark.barton@xperi.com>
2021-12-25 20:41:25 +00:00
Lionel Koenig 996a067632 topology: Ensure buffers get allocated on 0.
Ensure all buffers got allocated by core 0

Signed-off-by: Lionel Koenig <lionelk@google.com>
2021-12-22 21:34:38 +00:00
Seppo Ingalsuo 0d296ce7d1 Tools: Tune: Make example FIR response long for large IPC test
The loudness EQ is changed to 250 taps to create large IPC
message type. It also improves subjective quality of this
effect with better bass response. The earlier version was
made very short to fit the that time IPC size limit.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2021-12-20 22:33:06 +00:00
Pierre-Louis Bossart 0bef266966 topology1: sof-hda-generic: use mixer-based pipelines for analog playback
Convert playback pipeline on analog output to have a mixer so adding a
deep-buffer pipeline will be simpler.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Pierre-Louis Bossart 02041297ac topology: sof-hda-generic: prepare addition of deep-buffer support
Just move of definitions, no functionality change

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Pierre-Louis Bossart 29e46af073 topology1: pipe-eq-iir-eq-fir-volume-playback: remove duplicate volume
The same volume information is present twice, remove the one that
seems out of place in the pipeline.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Pierre-Louis Bossart cfb3ac5b00 topology1: add pipe-mixer-eq-iir-eq-fir-volume-dai-playback.m4
mix/merge of parts coming from pipe-mixer-volume-dai-playback.m4 and
pipe-eq-iir-eq-fir-volume-playback.m4

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Pierre-Louis Bossart 43dacdc016 topology1: soundwire: split headphone pipe in host- and dai-parts
Prepare for the introduction of deep buffer support

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Pierre-Louis Bossart 9f4af6b013 topology1: soundwire: fix misleading comment on ALH buffer format
All platforms use s24le for ALH, fix misleading comment.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Pierre-Louis Bossart e8b8854e3a topology1: soundwire: move cnl-rt5682 to development directory
This topology was used initially on UpExtreme but isn't shipped in any
commercial device.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Pierre-Louis Bossart fb03464dd5 topology1: fix comments in pipe-mixer-volume-dai-playback.m4
buffer information and formatting was incorrect

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Pierre-Louis Bossart fad16d8330 topology1: rename pipe-mixer-dai-playback to pipe-mixer-volume-dai-playback
To include deep buffer for HDaudio topologies, we need the ability to
replace volume by some other component (e.g. eq-iir-eq-fir-volume)

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-12-16 11:13:59 +00:00
Marc Herbert 4538a07b02 topology: new add_alsatplg_command() CMake macro to reduce duplication
Less copy/paste/diverge => more maintenance.

Zero visible change, pure copy/paste reduction.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-14 10:39:14 +00:00
balapati 926fc9ad7d topology1: Add sof-rn-rt5682-max98360, sof-rn-rt5682-rt1019
Add topology support for max98360,rt1019 speaker amplifiers
for amd renoir platform.

Signed-off-by: balapati <balakishore.pati@amd.com>
2021-12-13 11:38:06 +00:00
Brent Lu 25f61384f9 topology: sof-adl-max98360a-rt5682-2way: rename macro
The macro 2_WAY_SPK is renamed 2CH_2WAY to specify it's a L/R 2-way
system.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-12-13 11:33:33 +00:00
Brent Lu 6c13aad711 topology: sof-adl-max98360a-rt5682-4ch: add new topology
Add support for four max98360a speaker amplifiers running in TDM mode
which format is 8 slots with 32 bit slot/sample width on ADL boards.

This topology implements a 4-channel pipeline directly to speaker
amplifiers so audio effects need to be done in user space.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-12-13 11:33:33 +00:00
Marc Herbert 07c63c1f99 topology1: build the production topologies one level down
Move generated *.conf and *.tplg v1 files down from:

  build_tools/topology/topology1/*.{conf,tplg}

_to:

  build_tools/topology/topology1/production/*.{conf,tplg}

... then copy/"install" the production/* subdirectory two levels up.

This fixes the race condition #5067 that also copied a random number of
development/ and dsp_enhancement/ topologies, sometimes even truncating
these.

In other words, this commit REMOVES the following two copies:

build_tools/topology/development/       # randomly corrupted copy, removed
build_tools/topology/dsp_enhancement/   # randomly corrupted copy, removed

build_tools/topology/topology1/development/    # real build dir, unchanged
build_tools/topology/topology1/dsp_enhancement # real build dir, unchanged

Production topologies are copied only to help with the v1->v2
transition. That duplication makes the build directory confusing enough,
no need to extend that copy to development topologies. A single instance
of development topologies in the build directory is enough.

This removal may break some CI script(s): this is perfect because such
CI script(s) were copying randomly corrupted data.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-13 10:57:20 +00:00
Ranjani Sridharan 3e1c160e50 topology1: fix errors due to newline in list generator
The recent changes to the string parser in alsa-lib cause the topology
builds to break for some topologies. Avoid adding a newline for the bytes
data for the MUXDEMUX config by introducing a new macro for creating lists
without new lines between items.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-12-08 21:13:23 +00:00
Ranjani Sridharan db041556ce topology1: sof-cml-src-rt5682: remove extra space after values
The string parser in alsa-lib is sensitive to these now. So fix it.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-12-08 21:13:23 +00:00
Zhang Peng 350fc6c66d topology: 8ulp: Change sample rate to 8K
As changed SAI to 8Khz, then modify tplg file to
match this.

Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2021-12-08 10:51:07 +02:00
Yong Zhi 47b159fca3 topology: set default values for C_CONTROLBYTES string members
When the string fields left empty, the alsa topology parser treats
SND_CONFIG_TYPE_STRING type config as -EINVAL, so set defauls values.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2021-12-03 10:39:35 +00:00
Brent Lu f41010d386 topology: sof-adl-max98360a-rt5682-2way: add new topology
Add support for four max98360a speaker amplifiers running in TDM mode
which format is 8 slots with 32 bit slot/sample width on ADL boards.

To implement the 2-way woofer/tweeter speaker function in SOF, there
is a demux to create 4-channel audio data with EQ on each channel for
band-split function.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-11-25 16:41:37 +00:00
Brent Lu e2bb2602e1 pipe-demux-eq-iir-playback: support eq coef customization
Topology file could use PIPELINE_FILTER1 macro to include a m4 file
with eq coefficient. If macro is not defined, eq_iir_coef_bandsplit.m4
will be included.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-11-25 16:41:37 +00:00
Brent Lu 8ed1e90b5c topology: pipe-demux-eq-iir-playback: change slot mapping
Change the default slot mapping from L_lo-L_hi-R_lo-R_hi to
L_lo-R_lo-L_hi-R_hi so slot 0/1 is for woofer and slot 2/3 is for
tweeter.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-11-25 16:41:37 +00:00
Brent Lu 771c2bb318 topology: pipe-demux-eq-iir-playback: remove macro 'matrix1
The demux routing matrix and config are removed for two reasons: 1.
the config 'demux_priv_1' is hardcoded for pipeline 1 only. 2. other
m4 file with demux compoenet like pipe-volume-demux-playback has the
matrix and config defined in the topology file.

The topology which implement this pipeline should define the routing
matrx and config named as 'demux_priv_<pipeline id>' before including
this m4 file.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-11-25 16:41:37 +00:00
Ming Jen Tai d959089d8e Modify RTNR to work with KWD on TGL and ADL.
Modify RTNR to work with KWD on TGL and ADL.
Remove unused RTNR 16kHz topology.
Add RTNR support to max98390 on ADL.

Signed-off-by: Ming Jen Tai <mingjen_tai@realtek.com>
2021-11-23 13:22:11 +00:00
Ming Jen Tai dda9d0f9fc Add RTNR support in intel-generic-dmic-kwd.m4.
Signed-off-by: Ming Jen Tai <mingjen_tai@realtek.com>
2021-11-23 09:57:10 +00:00
Guennadi Liakhovetski 9a6569d48c topology: nocodec: fix graph drawing
No functional change, only fix an ASCII-art topology representation
in a comment.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2021-11-17 13:51:01 +00:00
Keyon Jie 0ced257b36 topology1: sof-tgl-nocodec: change to support multi-core
Add multi-core coverage for tgl-nocodec platforms, the initial DSP core
assignment as below:

DMIC48k: Core 1
SSP0: Core 2
SSP1: Core 3
DMIC16k, SSP2: Core0

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2021-11-17 21:48:59 +08:00
Keyon Jie 8434f81d94 topology1: sof-adl-nocodec: change to support multi-core
Add multi-core coverage for adl-nocodec platforms, the initial DSP core
assignment as below:

DMIC48k: Core 1
SSP0: Core 2
SSP1: Core 3
DMIC16k, SSP2: Core0

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2021-11-17 21:48:59 +08:00
Mac Chiang b29636b936 topology: add nau8825 headphone variant boards support on ADL
sof-adl-nau8825.tplg:
    headphone connects SSP0 link.
    bluetooth offload uses SSP2 link.

With nau8825 headphone, enabled MCLK/BCLK early start.
Add smart amp and dumb speakers support separately.

sof-adl-max98373-nau8825.tplg:
sof-adl-max98360a-nau8825.tplg:
    headphone connects SSP0 link.
    speakers connects SSP1 link.
    bluetooth offload uses SSP2 link.

sof-adl-rt1019-nau8825.tplg:
    headphone connects SSP0 link.
    speakers connects SSP2 link.

Co-developed-by: David Lin <CTLIN0@nuvoton.com>
Signed-off-by: David Lin <CTLIN0@nuvoton.com>
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2021-11-15 22:26:18 +00:00
Jairaj Arava c5c0c1701e topology: sof-tgl-max98373-rt5682: add flag for Bluetooth audio offload
This patch adds flag to choose Bluetooth audio offload support

Signed-off-by: Jairaj Arava <jairaj.arava@intel.com>
2021-11-12 16:58:10 +00:00
Kai Vehmanen 601cbc061d topology1: sof-cavs-nocodec: fix documentation
Fix the documentation to match actual topology definition. The comments
did not include addition of mixers nor the capture PCMs. Also many
comments reflect a fixed core id that is no longer accurate.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2021-11-08 13:29:13 +00:00
Mark Barton ff3dec2f41 audio: codec_adapter: Add DTS Codec to mt8195 topology
The DTS Codec can be conditionally added to the sof-mt8195-mt6359-rt1019-rt5682 topology on those pipelines intended for headphone and speaker output.

To enable processing and configure settings, additional bytes must be sent to the control via ALSA TLV. The intention is that endusers will use ALSA UCM to achieve this.

Signed-off-by: Mark Barton <mark.barton@xperi.com>
2021-11-02 14:06:49 -07:00
Daniel Baluta b0bb21dc0e topology1: Fix codec adapter pipeline
Commit 771db86de2 ("topology1: codec_adapter: Add 'codec_adapter' pipeline configuration")
in an attempt to support PCM + compr mixer scenarios broke simple codec adapter
pipelines.

So, similar with PCM case (see sof/pipe-host-volume-playback.m4 vs
sof/pipe-volume-playback.m4) we introduce two separate configuration
files.

One for Passthrough codec-adapter pipeline and one standalone Host +
codec-adapter pipeline that can be independently scheduled in a scenario
with a mixer for example.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-10-29 22:38:30 +01:00
Daniel Baluta 5ef33e6310 topology: Add simple host codec adapter playback pipeline
As opposed to pipe-codec-adapter-playback this has its own scheduling
task and can be used in more complex scenarios.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-10-29 22:38:30 +01:00
Gongjun Song d54c0385cf topology1: Add sof-adl-rt711-l2-rt1316-l01-rt714-l3
Support SKU 0B29 product, the audio hardware configuration is rt711
on link2, two rt1316s on link0 and link1, rt714 on link3.

Signed-off-by: Gongjun Song <gongjun.song@intel.com>
2021-10-29 15:01:05 +08:00
Gongjun Song d40ab8c853 topology1: Add sof-adl-rt1316-l2-mono-rt714-l3
Support SKU 0B13 product, the audio hardware configuration is rt1316
on link2 and rt714 on link3.

Signed-off-by: Gongjun Song <gongjun.song@intel.com>
2021-10-29 15:01:05 +08:00
Gongjun Song 102793970a topology1: Add sof-adl-rt1316-l12-rt714-l0
Support SKU 0AF3 product. The audio hardware configuration is two
rt1316s on link1 and link2, and rt714 on link0.

Signed-off-by: Gongjun Song <gongjun.song@intel.com>
2021-10-29 15:01:05 +08:00
Mac Chiang e839650271 topology: add max98390 2/4 codecs and bt_offload support
This patch adds support for three configurations:

SSP1 connects max98390 2/4 speakers
SSP2 connects max98390 2 speakers

The SSP TDM configuration uses 4 slots for playback and
4 slots for the echo reference capture - regardless of the number of speakers.

UCM files in userspace specify which channels needs to be used on the specific platform.
There is no information reported by the topology/firmware related to valid channels.

Max98390 uses following channels mapping for playback and EchoRef capture
Chan 0 = Left
Chan 1 = Right
Chan 2 = Tweeter Left
Chan 3 = Tweeter Right
(Chan 0 and 1 with regular speakers;Chan 2 and 3 with tweeter speakers)

Addition:
  Add SSP2 BT_OFFLOAD support

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2021-10-26 21:01:25 +01:00
Brent Lu b365447dc6 topology: sof-jsl-rt5682: add SSP_CC_BCLK_ES flag to codec DAI
Add support for cs42l42 with max98360a running on JSL boards. The
cs42l42 needs to enable bclk earlier in prepare stage and disable bclk
at hw_free statge so we add the SSP_CC_BCLK_ES flag for it.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-10-26 20:24:47 +01:00
Daniel Baluta 955c7c9009 topology1: imx8: Add mixing PCM and Compr stream topology
This topologies are for i.MX8QXP/i.MX8QM, i.MX8MP demonstrating
mixing for 1 PCM stream and 1 Compr stream.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-10-21 15:53:11 +01:00
Ming Jen Tai bf1e3b7f5b Support both 48kHz and 16kHz recording
Add 48kHz recording support to RTNR
Signed-off-by: Ming Jen Tai <mingjen_tai@realtek.com>
2021-10-19 13:40:12 +01:00
Brent Lu b50afe03cd topology: sof-tgl-max98357a-rt5682: add support for max98360a
Add support for max98360a running on ADL boards. We choose SSP1 for
speaker amplifier for BT offload compatibility. Also increase the
sample depth to 32 bits for more dynamic range and avoid using m/n
counter.

We add the flag SSP_CC_BCLK_ES to SSP0 for the compatibility with
CS42L42 in the future.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-10-13 14:54:22 +01:00
Ajit Kumar Pandey d4254be1ad topology: topology1: Add initial topology for AMD Renoir
Add m4 and headers to support basic topology with passthrough
pipeline for ACPSP and DMIC use cases support on renoir platform.

Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>
Signed-off-by: balapati <balakishore.pati@amd.com>
2021-10-07 15:06:55 +01:00
Kai Vehmanen 40484a87f2 topology1: correct misleading comments for priority/core
Comments for calls to PIPELINE_PCM_ADD and DAI_ADD describe parameters
in the same order they are passed to the macros. The only exception is
order of "priority" and "core", and this can be very misleading. In
most cases the actual current values for the two parameters are 0,
making it even easier to make a mistake when modifying them.

Fix the order in the comments to match the actual order in which the
parameters should be passed to PIPELINE_PCM_ADD and DAI_ADD.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2021-10-05 15:11:22 +01:00
Kai Vehmanen 9dfd2bd493 topology: intel: use 38.4Mhz MCLK for all Bluetooth use-cases
Updated guidance for BT hardware is to use 38.4Mhz MCLK for both
SCO and A2DP mode. This applies for all Intel platforms supporting
Bluetooth offload.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2021-10-05 15:05:25 +01:00
Daniel Baluta 771db86de2 topology1: codec_adapter: Add 'codec_adapter' pipeline configuration
This adds 'codec_adapter' pipeline configuration  allowing this
pipeline to be part of a more complex topology.

Important configuration here is the 'scheduler' widget. Without this,
'codec_adapter' would work in a more complex topology. This is because
each individual pipeline needs to have a 'scheduling' component.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-09-30 15:45:50 +01:00
Pierre-Louis Bossart 425743e772 topology1: add missing Dell SKU 0A45 topology
Same as before but with newer SDCA codecs.

Matching kernel PR: https://github.com/thesofproject/linux/pull/3162

BugLink: https://github.com/thesofproject/linux/issues/3161
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-09-29 10:58:21 +01:00
Ming Jen Tai e4e23d47ec Integrate RTNR into sof-adl-max98357a-rt5682
Signed-off-by: Ming Jen Tai <mingjen_tai@realtek.com>
2021-09-23 13:50:35 +01:00
Libin Yang 714518f5e9 topology1: fix a typo of a tplg name in CMakefile
sof-adl-rt1316-l2-mono-rt714-link0 should be
sof-adl-rt1316-l2-mono-rt714-l0

Signed-off-by: Libin Yang <libin.yang@intel.com>
2021-09-15 14:28:34 +01:00
Zhang Keqiao f6bc279da6 topology1: add a test topology sof-adl-nocodec-ci build support
We plan to test the CI test topology on ADL-P nocodec device, so
add the topology build support in cmake list.

Signed-off-by: Zhang Keqiao <keqiao.zhang@intel.com>
2021-09-13 15:44:52 +01:00
Pierre-Louis Bossart 8fc5247289 topology: move IMX and MTK topologies out of Intel list
Not sure why they were intertwined, let's separate them out to avoid
git conflicts with integration.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-09-08 20:19:41 +01:00
Pierre-Louis Bossart 24ad7ea0fa topology: sof-glk-es8336: initial support
This topology is used on GLK and TGL. variations include:
- DMIC supported on TGL and not on GLK
- TGL uses SSP0 instead of SSP2

APL support was added only based on user reports. This assumes the
same topology as GLK but was not tested.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-09-08 20:19:41 +01:00
Allen-KH Cheng 7eda2d509e topology1: add sof-mt8195-mt6359-rt1019-rt5682 topology
Add sof-mt8195-mt6359-rt1019-rt5682 topology

Signed-off-by: YC Hung <yc.hung@mediatek.com>
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
2021-09-07 13:33:01 +01:00
Allen-KH Cheng 3342311c8e topology1: add afe config
Add afe config for mt8195

Signed-off-by: YC Hung <yc.hung@mediatek.com>
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
2021-09-07 13:33:01 +01:00
Allen-KH Cheng 5ae624cf4e topology1: add afe tokens
Add afe tokens for mt8195

Signed-off-by: YC Hung <yc.hung@mediatek.com>
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
2021-09-07 13:33:01 +01:00
Allen-KH Cheng e9ae9e07ca topology1: add afe.m4
Add afe.m4 for afe related define

Signed-off-by: YC Hung <yc.hung@mediatek.com>
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
2021-09-07 13:33:01 +01:00
Allen-KH Cheng 16975ced60 topology1: add sof-mt8195-mt6359-rt1019-rt5682.m4
Add sof-mt8195-mt6359-rt1019-rt5682.m4 for mt8195

Signed-off-by: YC Hung <yc.hung@mediatek.com>
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
2021-09-07 13:33:01 +01:00
Allen-KH Cheng afc39d10a5 topology1: add mt8195.m4
Add mt8195 pipelines and components

Signed-off-by: YC Hung <yc.hung@mediatek.com>
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
2021-09-07 13:33:01 +01:00
Seppo Ingalsuo 23c7e4739c Topology: Add development example of demux and EQ band-split pipeline
This patch adds topologies sof-apl-nocodec-demux-eq-2ch4ch.tplg and
sof-apl-nocodec-demux-eq-4ch4ch.tplg. Playback of 2ch creates 4ch
output in format L_lo, L_hi, R_lo, and R_hi. An example band-split
at 2 kHz is configured for EQ processing. The low band contains
an additional 80 Hz high-pass.

The pipeline was tested in UP2 device. The nocodec topology enables
an useful SPP loopback mode. The capture PCM is connected to DAI
loopback so this pipeline can be tested with simultaneous 2ch aplay
and 4ch arecord.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2021-08-26 09:57:35 +01:00
Pin-chih Lin 541e070eec multiband_drc: Add switch control for enabling DRC
Add mixer type control switch for enabling/disabling DRC.

Signed-off-by: Pin-chih Lin <johnylin@google.com>
2021-08-24 17:46:09 +01:00
Ming Jen Tai d3381eaa13 Integrate RTNR into sof-tgl-max98357a-rt5682.m4
Signed-off-by: Ming Jen Tai <mingjen_tai@realtek.com>
2021-08-24 17:41:38 +01:00
Yong Zhi 0570315cd9 topology: pipe-volume-demux-playback: fix pipeline comments
Update the comments to match the P_GRAPH definition.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2021-08-23 13:25:37 +01:00
Fred Oh ce97fc7128 topology1: sof-tgl-sdw-max98373-rt5682: use a mockup of the smart amp
Remove 3rd party library dependency.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2021-08-18 13:10:45 +01:00
Ming Jen Tai bbc5209c4f Support RTNR on Tigerlake platform
This PR adds RTNR Noise Reduction/Suppression(NR/NS) component by
Realtek Semiconductor Corp. This feature links to proprietary libraries.
Please contact antz0525@realtek.com for any question about the library.

Signed-off-by: Ming Jen Tai <mingjen_tai@realtek.com>
2021-08-17 16:18:21 +01:00
Yong Zhi 93e572050c topology1: tgl-max98357a-rt5682 fix ENDPOINT_NAME macro side effect
Without enclosing ENDPOINT_NAME with `', the generated tplg has
pcm id 0 named to "Headphones" instead of "Speakers".

$ ./tplgtool.py ~/work/sof/tools/build_tools/topology/sof-tgl-max98357a-rt5682.tplg
pcm=Headphones;id=0;type=playback;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;
pcm=Headset;id=1;type=both;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;
pcm=HDMI1;id=2;type=playback;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;
pcm=HDMI2;id=3;type=playback;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;
pcm=HDMI3;id=4;type=playback;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;
pcm=HDMI4;id=5;type=playback;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;
pcm=EchoRef;id=6;type=capture;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;
pcm=DMIC;id=99;type=capture;fmt=S32_LE;rate_min=48000;rate_max=48000;ch_min=4;ch_max=4;
pcm=DMIC16kHz;id=100;type=capture;fmt=S16_LE;rate_min=16000;rate_max=16000;ch_min=2;ch_max=2;

$ grep Headphones topology/sof-tgl-max98357a-rt5682.conf -n -B5

7071-# PCM Low Latency, id 0
7072:SectionPCM."Headphones" {
7073-
7074-	# used for binding to the PCM
7075-	id "0"
7076-
7077:	dai."Headphones 0" {
7078-		id "0"
7079-	}

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2021-08-16 09:05:01 +01:00
Vamshi Krishna Gopal 6713cace35 topology: sof-tgl-max9357a-rt5682: add support for ADL
For speakers SSP2 link is used.
For Headset SSP0 link is used.
Adding required macros to select SSP and Platform.

Signed-off-by: Vamshi Krishna Gopal <vamshi.krishna.gopal@intel.com>
2021-08-13 17:45:41 +01:00
Oleh Titov 691c4e0587 topology: Add Waves codec to JSL topology
Modify sof-jsl-rt5682 topology so Waves codec can be added
to playback in case 'WAVES' is defined.
Small refactoring

Signed-off-by: Oleh Titov <Otitov@waves.com>
2021-08-12 14:51:38 +01:00
Kai Vehmanen c8b759a806 topology1: fix error in LOCAL_CHANNELS_MIN definition
The patch to fix CHANNELS_MIN side effects had a bug in which caused
LOCAL_CHANNELS_MIN to slip into conf output. Example from
sof-adl-sdw-max98373-rt5682:

---cut--
SectionPCMCapabilities."Passthrough Capture 14" {
»       formats "S16_LE"
»       rate_min "8000"
»       rate_max "16000"
»       channels_min "LOCAL_CHANNELS_MIN"
--cut--

Fixes: 659266685b ("topology: remove side effects from macro definitions")
BugLink: https://github.com/thesofproject/sof/issues/4621
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2021-08-12 10:40:57 +03:00
Iuliana Prodan bee27fe258 topology1: i.MX: Add topology with DRC component
Dynamic range compression (DRC) or simply compression is an
audio signal processing operation that reduces the volume of
loud sounds or amplifies quiet sounds, thus reducing or
compressing an audio signal's dynamic range.

This enables the DRC component for i.MX8QM/i.MX8QXP/i.MX8MP
with wm8960 codec.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2021-08-11 13:47:54 +03:00
Bud Liviu-Alexandru 659266685b topology: remove side effects from macro definitions
This commit fixes the issue mentioned in #4583.

A temporary definition is introduced that takes it's value from
"CHANNELS_MIN" if it is already defined, otherwise it is set to
a default value. This temporary is used instead of "CHANNELS_MIN"
for the rest of the file. This avoids having the macro defined in
files where it shouldn't be.

In order to be completely sure it avoids side effects this temporary
is undefined after it is no longer needed.

Signed-off-by: Bud Liviu-Alexandru <budliviu@gmail.com>
2021-08-09 21:28:40 +01:00
Ranjani Sridharan 5a42c023d2 topology1: make all cavs nocodec topologies dynamic
All cAVS platforms can use dynamic pipelines with nocodec topology.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-08-05 22:45:35 +01:00
Daniel Baluta 0d14a64ea6 topology1: i.MX: Add topology to demonstrate EQ FIR component
This enables EQ component using FIR filter for i.MX8QM/i.MX8QXP/i.MX8MP.

Usage:

   $  amixer -Dhw:1 controls | grep EQ
    numid=44,iface=MIXER,name='EQFIR1.0 eqfir_coef_1'

  $ ./sof-ctl -Dhw:1 -n 44 -s sof/tools/ctl/eq_fir_loudness.txt

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-08-03 13:34:11 +01:00
Daniel Baluta ffe4d594ae topology1: pipe-eq-fir-volume: Fix ControlBytes section name
ControlBytes section name is given by DEF_EQFIR_COEF macro.
Otherwise, using pipe-eq-fir-volume-playback.m4 in a topology results in
a compilation error.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-08-03 13:34:11 +01:00
Daniel Baluta c26dfff3bf topology1: imx8ulp: Set min_channels to 1
On i.MX8ULP SAI5 is connected to BT interface that only supports 1
channel.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-08-03 11:44:19 +03:00
Daniel Baluta e2fc7082e1 topology1: Add CHANNELS_MIN macro for playback pipeline
Add macro to allow configuration of min channels in PCM_CAPABILITIES.
The default behavior is not changed.

So far min channels was hardcoded to 2 for pipe-volume-playback but we
need mono for i.MX8ULP configuration.

Notice that we need to use the local macro TCHANNELS_MIN because we
don't want to modify the value of CHANNELS_MIN macro outside
of sof/pipe-volume-playback.m4 file.

Doing so will cause unpredictable behavior for next pipeline
definitions.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-08-02 22:08:07 +01:00
Zhang Peng ac3c5eb76f topology: Add sof-imx8ulp-btsco.m4 for imx8ulp
IMX8ULP pipeline is HOST-->VOLUME-->DAI(sai)-->CODEC(bluetooth).

Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2021-08-02 21:42:31 +01:00
Daniel Baluta 53718867df topology: imx8mp: Add compress decoding pipeline for i.MX8MP with aac/mp3 codecs
Add topology to support compress playback for MP3/AAC
on i.MX8MP with wm8960 codec.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-07-29 16:07:28 +03:00
Daniel Baluta 64be6a6578 topology: imx8: Add compress decoding pipeline for i.MX8/i.MX8X with aac/mp3 codecs
Add topology to support compress playback for MP3/AAC on i.MX8/i.MX8X
with wm8960 codec.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-07-29 16:07:28 +03:00
Ranjani Sridharan 764a065193 topology1: sof-cavs-nocodec: Add deep buffer playback pipeline
on SSP5 for BXT and SSP0 for all others.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-07-23 08:34:36 +01:00
Ranjani Sridharan 56d1fe652c topology1: sof-cavs-nocodec: convert all playback pipelines to mixer-based pipelines
Convert all playback pipelines to have a mixer so adding a deep-buffer
pipeline will be simpler.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-07-23 08:34:36 +01:00
Ranjani Sridharan 808c4512c5 Revert "topology: cavs-nocodec: Add deepbuffer pipeline to SSP0 and SSP2"
This reverts commit a10b5dcf85.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-07-23 08:34:36 +01:00
Ranjani Sridharan 463c4afd10 Revert "topology1: sof-cavs-nocodec: Add the deep buffer PCMs"
This reverts commit 6516a8c89b.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-07-23 08:34:36 +01:00
Daniel Baluta 52bc39fe73 topology: i.MX: Add topology to demonstrate EQ component
This enables EQ component with IIR filter for i.MX8QM/i.MX8QXP/i.MX8MP
with wm8960 codec.

Users can try various configurations for EQ parameters using sof-ctl tool:

$  amixer -Dhw:1 controls | grep EQ
numid=44,iface=MIXER,name='EQIIR1.0 eqiir_coef_1'

$ ./sof-ctl -Dhw:1 -n 44 -s sof/tools/ctl/eq_iir_bassboost.txt

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2021-07-22 17:07:23 +01:00
Ranjani Sridharan 6516a8c89b topology1: sof-cavs-nocodec: Add the deep buffer PCMs
We weren't really testing these yet without the PCM devices.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-07-21 10:23:10 +01:00
Pierre-Louis Bossart d1abc88153 topology: add development version for Volteer tests
Add support for reuse of sof-tgl-rt711-rt1308 on Google Volteer. This
is not intended for production but removes both hotwording and
smart-amp support - this simpler topology is intended for
SoundWire/DMIC tests only.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-07-19 09:40:52 +01:00
Pierre-Louis Bossart f3840a70c3 topology1: tweak sof-tgl-rt711-rt1308 to test on Google Volteer
The topologies used for sof-tgl-rt711-rt1308 and
sof-tgl-max98357a-rt5682 are almost equivalent.

Conditionally add support for the amplifier reference dailink and BT
offload, so that this topology can be used as is on Google
Volteer. This will help root-cause suspend/resume issues we see only
on TGL_RVP_SDW

Related kernel PR: https://github.com/thesofproject/linux/pull/3006

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-07-19 09:40:52 +01:00
Seppo Ingalsuo 0fa9f7d892 Topology: Updated TDFB related topology files with beam controls
This patch contains updates to add beam on/off and direction controls.
The common m4 tasks to add controls are placed to include files
tdfb_controls.m4, tdfb_defines.m4, tdfb_undefines.m4.

The single beam examples are replaced by blobs with 0, +/-30, and +/-90
degree angled beams. The Arrays are 50m, 68mm spaced for typical
notebook microphones. The 28mm example is for four microphones. A four
microphones for notebook with microphones at 0, 36, 146, and 182mm
line locations.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2021-07-14 15:59:24 +01:00
Ranjani Sridharan a10b5dcf85 topology: cavs-nocodec: Add deepbuffer pipeline to SSP0 and SSP2
Add a deepbuffer pipelines connected to the the mixer-dai
pipeline for SSP0 and SSP2. The pipeline deadlines are left at
1ms for now and will be changed later after the mixer pipelines
are validated.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-07-13 16:00:11 +01:00
Iris Wu be3dff2780 topology1: sof-tgl-nocodec-ci: use volume capture for PCM0
capture

S32_LE without PGA is not supported in alsabat, switch to use
pipe-volume-capture and unblock the CI alsabat test case.

Signed-off-by: Iris Wu <xiaoyun.wu@intel.com>
2021-07-08 22:28:44 +01:00
Pierre-Louis Bossart 019c1505b1 topology: cavs-nocodec: use s24le for DAIs for all platforms
The use of s32le did not expose any problems on APL, but alsa-bat was
previously reported as failing on JSL. Now that this test was extended
to CML_NOCODEC, we see the same issue. Manual tests with s24le show no
issues.

Let's just use s24le across the board and move on.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-07-06 18:28:21 +01:00
Brent Lu ad7f0e52b8 topology: sof-glk-da7219/cs42l42: enable bclk control
Enable the bclk clock control for SSP2.

Note that this impacts existing GLK-based chromebooks as well as newer
hardware.

Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-07-06 17:12:30 +01:00
Bard Liao fffa38db2a topology: sof-cavs-nocodec: enable MCLK/BCLK early start
Set clks_control to (SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_ES |
SOF_DAI_INTEL_SSP_CLKCTRL_BCLK_ES) to enable MCLK/BCLK early start
feature.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-07-06 17:12:30 +01:00
Brent Lu 16878e387e topology: ssp: mclk/bclk clock control
Define the SSP_CC_MCLK/BCLK_ES bit to be used in SSP_CONFIG_DATA macro
to enable mclk/bclk on hw_params and disable malk/bclk on hw_free.

Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-07-06 17:12:30 +01:00
Pierre-Louis Bossart a0f789dfc6 topology: cavs-nocodec: temporarily fix jsl-nocodec issues with s24le
For some reason s32le does not work for DAI definitions on JSL-NOCODEC
platforms. alsa-bat tests fail, but they work fine on APL, CNL,
TGL. This is likely to be an ICL platform issue. The root cause is
still TBD

Use s24le for now to unlock Intel daily tests.
All other platforms remain with s32le.

BugLink: https://github.com/thesofproject/sof/issues/4427
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-07-01 13:31:57 -05:00
Zhang Keqiao 130bffa6a9 topology: add tgl-h nocodec topology build
add the TGL-H nocodec topology for zephyr test.

Signed-off-by: Zhang Keqiao <keqiao.zhang@intel.com>
2021-06-29 22:51:10 +01:00
Brent Lu 8c863f43af topology: sof-glk-cs42l42: using 24-bit sample depth on SSP2
Changing sample depth of SSP2 to 24 bits for better dynamic range.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2021-06-29 22:41:08 +01:00
Pierre-Louis Bossart 2d70f100c7 topology: use cAVS nocodec support for APL/GLK
Move the existing sof-apl-nocodec to the development folder, in case
SOF CI still wants to use it.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart b5b0b2c4f2 topology: use same file for all cavs 1.8+ nocodec topologies
The beginning of the end of insanity?

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart fdd8ec03b5 topology: sof-cnl-nocodec: prepare for different multicore configurations
Not all devices have 4 cores, some only have 2 and even APL/GLK is
currently limited to a single core.

For now we still use a single core for all topologies, we will enable
multi-core in a follow-up patch.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart 4050ff6c31 topology: intel-generic-dmic: add macro for DMIC_CORE_ID
Add macros to quickly enable multi-core with DMICs

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart c952c048b2 topology: sof-cnl-nocodec: change SSP index for APL
Prepare for use on APL to use SSP0,1, 5, all other platforms use SSP0,1,2

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart ac8df75466 topology: sof-cnl-nocodec: make SSP clocks parameters
use platform name to infer root clocks

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart ab3663f468 topology: sof-cnl-nocodec: use s32le
No idea what we add artificial limitations on formats

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart 556c114f47 topology: sof-cnl-nocodec: add macros for SSP cores
Prepare for reuse across all platforms. For now this still uses
single-core.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart d1bce3d8fc topology: sof-cnl-nocodec: use DMIC macros
Remove all the hard-coding and use macros.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart a379cc3751 topology: CMakelist: disable DYNAMIC pipelines for nocodec topologies
We first want to enable the simplified topologies, then multi-core
then dynamic pipelines. The latter two cases will be handled in
follow-up patches.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Pierre-Louis Bossart f07cf8ea1f topology: CMakelists: group nocodec together
Prepare for use of common file

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-25 11:18:28 -05:00
Gongjun Song bc1497a742 Topology: Add sof-tgl-rt711-4ch topology
There is no rt1308 on the TGL-H-RVP platform, need to add a topology
file with only rt711 to enable soundwire on the TGL-H-RVP platform.

The patch of enable soundwire on the TGL-H-RVP platform has been
merged into the thesofproject/linux.

Signed-off-by: Gongjun Song <gongjun.song@intel.com>
2021-06-23 15:06:35 +01:00
Ranjani Sridharan 86c9a037e2 topology: utils: remove DAPM routes for virtual widgets
Remove the addition of DAPM routes for virtual widgets.
These are not needed for suppressing errors with legacy
machine drivers. Just adding the virtual widget is enough.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-06-21 16:46:39 +01:00
Pierre-Louis Bossart 97bfb24d70 topology: sof-cnl-nocodec: use different core for each DAI
The UpExtreme HAT connector with the SoundWire,
I2S, DMIC mixed mode exposes the following pins

DMIC_DATA0: input: HAT PIN 8
DMIC_CLK: output: HAT PIN 26

IS2_MCLK: output: HAT PIN 16

I2S1_SCLK: output: HAT PIN 32
I2S1_SFRM: output: HAT PIN 10
I2S1_TXD: output: HAT PIN 24
I2S1_RXD: input: HAT PIN 18

Let's use core3 for DMIC, core2 for SSP0, core1 for SSP1 and core0 for
SSP2.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2021-06-18 11:17:21 +01:00
Ranjani Sridharan c0bee428ae topology: prepare for Topology2.0
In preparation for Topology2.0, move the current topology files
to the topology1 folder and once the 1.0 topologies are
built copy them to the /sof/tools/build-tools/topology folder.

When Topology2.0 topologies come along, they will be built into
the topology2 folder and the 2.0 binaries will be copied over
the 1.0 binaries.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-06-17 22:17:30 +01:00