Commit Graph

1273 Commits

Author SHA1 Message Date
Marc Herbert 352ed2ca4b logger: when FW is loaded, show the expected checksum in -d output
Sample output:

logger ABI Version is   5:3:0
ldc_file ABI Version is 5:3:0
ldc_file src checksum           0x07d4f1ad
Loaded FW expects chksum        0x07d4f1ad       <=== NEW!

Components uuid dictionary size:        2400 bytes
Components uuid base address:           0x1fffa000
...

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-22 20:11:25 +00:00
Marc Herbert 4aaffbe9a2 logger: add dictionary checksum in output of dump_ldc option
Since commit 901f991eee ("logger: Validate by src_hash instead of abi
version from fw_ready") the dictionary checksum has become the most
important information.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-22 20:11:25 +00:00
Marc Herbert 9ce91cbf74 logger: rename verify_fw_ver() to verify_ldc_checksum(), fix -h help
Fixes commit 901f991eee ("logger: Validate by src_hash instead of abi
version from fw_ready") that changed the feature without updating the
name.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-22 20:11:25 +00:00
Ranjani Sridharan 5ce0d2b43f topology2: gain: fix dB scale min and step values
It is not intuitive for the end-ser to set linear values for
minimum gain. Set the dB gain min value to -90dB and steps to 2dB.
Also, modify the max to 45 to allow the volume gain range -90dB to 0dB.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-12-21 15:20:47 +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 eb34437522 topology: redirection to workaround hardcoded alsatplg permissions
Use a redirection to work around hardcoded alsatplg permissions.
See bug https://github.com/alsa-project/alsa-utils/issues/126

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-14 10:39:14 +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
Dirk Su d2a3ec2273 sof_ri_info: add ADL Intel prod key to list of known keys
Extracted from
https://github.com/thesofproject/sof-bin/blob/main/v1.9.x/sof-v1.9.2/intel-signed/sof-adl.ri

Signed-off-by: Dirk Su <dirk.su@canonical.com>
2021-12-14 10:38:18 +00:00
Ranjani Sridharan f4287dd3e8 topology2: cavs: Set audio formats for all topologies
Set audio formats and new attributes for all modules in the CAVS
topologies.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-12-14 10:33:16 +00:00
Ranjani Sridharan a4b8d11678 topology2: pipelines: cavs: Add audio formats for all pipeline modules
Add audio formats and all new attributes for all modules in the
cavs pipelines.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-12-14 10:33:16 +00:00
Ranjani Sridharan 4d23794607 topology2: mixin/mixout: Add audio formats and new attributes
Add audio format objects and num_audio_formats attribute.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-12-14 10:33:16 +00:00
Ranjani Sridharan eb96d21caf topology2: gain: Add new attributes for gain
Add audio format objects and num_audio_formats attribute for gain.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-12-14 10:33:16 +00:00
Ranjani Sridharan 6631743209 topology2: common: Add new class definition for audio_format
Add definition for audio format class for defining the input and output
audio formats for each components in cavs topology.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-12-14 10:33:16 +00:00
Ranjani Sridharan eb013c738b topology2: copier: Add extra attributes
Add some new attributes along with math expression to calculate the
attribute "is_pages".

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-12-14 10:33:16 +00:00
Ranjani Sridharan 0c517d4af7 topology2: copier: remove stale comment
All known DAI types added already.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-12-14 10:33:16 +00:00
Ranjani Sridharan d523e67e6e topology2: tokens: Add additional tokens needed for cavs topologies
Add all tokens required for cavs topologies.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2021-12-14 10:33:16 +00:00
Ranjani Sridharan d0c3965808 topology2: cavs: Add some commonly used definitions for cavs topologies
Used for setting audio format attributes and copier attributes.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-12-14 10:33:16 +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
Ranjani Sridharan 7aedc1604d topology2: cavs-*-hdmi: replace the use of @args with Define
The Define block replaces the use of @args for topology2 in the alsatplg
compiler. So replace all users.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-12-08 21:11:40 +00:00
Marc Herbert 7aa1b28070 sof_ri_info: assert Python version is 3.6 or above.
As reported by Bartosz, Python 3.5.2 fails with the relatively cryptic
TypeError: invalid file: PosixPath('sof-tgl.ri'). Make this failure much
less cryptic.

As of December 2021 Python 3.5 is completely out of support and 3.6 will
be soon https://www.python.org/downloads/

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-08 20:45:07 +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
Jaska Uimonen f9cc0f7a1a logger: rename asprintf and vasprintf
Rename asprintf and vasprintf into log_asprintf and log_vasprintf as the
names could clash with the standard libc ones. These functions are there
originally done because of windows compatibility, but the naming was not
thought through carefully.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2021-12-02 09:56:25 +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
Marc Herbert 2c208b52fb sof_ri_info: add JSL Intel prod key to list of known keys
Extracted from
https://github.com/thesofproject/sof-bin/blob/main/v1.9.x/sof-v1.9.2/intel-signed/sof-jsl.ri

Note previous sof-jsl.ri releases were signed with the ICL key:
https://github.com/thesofproject/sof/issues/4916

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-11-21 22:38:23 +00:00
Marc Herbert e14ec39124 sof_ri_info: change "Other" to "Unknown key"
Now grepping for 'key' always works.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-11-21 22:38:23 +00:00
Ranjani Sridharan b66010f0fa topology2: Add the passthrough and mixin-mixout topologies for cavs HDA
Add the passthrough and mixin-mixout versions for HDA topologies.

They can be built as follows:

For HDMI only passthrough topology:
alsatplg -p -c cavs-passthrough-hdmi.conf -o cavs-passthrough-hdmi.tplg

For passthrough HDA topology:
alsatplg -D HDA_CONFIG="passthrough" -p -c cavs-passthrough-hdmi.conf
-o cavs-passthrough-hda.tplg

For mixin-mixout HDA topology
alsatplg -D HDA_CONFIG="mix" -p -c cavs-passthrough-hdmi.conf
-o cavs-mixin-mixout-hda.tplg

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-11-19 11:20:50 +00:00
Ranjani Sridharan 13dc7812eb topology2: mixin/mixout: Add cpc attribute
And set default values.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-11-19 11:20:50 +00:00
Ranjani Sridharan c3fdf30364 topology2: pipelines: Add the other mixin/mixout pipelines
Add all the missing mixin/mixout pipelines.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-11-19 11:20:50 +00:00
Ranjani Sridharan d69ab6e6f1 topology2: mixin-playback: Add the copier->mixin route
Add the route from the host copier to the mixin widget in the class
definition so it doesnt have to set in the top-level topology everytime.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-11-19 11:20:50 +00:00
Ranjani Sridharan 5a0d1df4a6 topology: copier: change default cpc
To match the cavs production topology value. It can be overwritten
in the kernel.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-11-19 11:20:50 +00:00