This patch adds generation of.conf format blobs for tplg2
with IPC4 format blob. The blob ABI header retrieving is
changed to common helper functions path those already have
the support.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The main page sources were dropped out from the document sources in the
last review rounds of the original PR. Add *.doxy to FILE_PATTERNS to
add it back.
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Replace audio_format objects with input_audio_format/output_audio_format
objects in preparation for deprecating the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
- Update clock switching and clock frequency sequence.
- Return EBUSY for IPC when Host busy with previous ipc.
Signed-off-by: SaiSurya Ch <saisurya.chakkaveeravenkatanaga@amd.com>
Use input_audio_format/output_audio_format explicitly in preparation for
deprecating the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Use input_audio_format/output_audio_format explicitly in preparation for
deprecating the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Use input_audio_format/output_audio_format explicitly in preparation for
deprecating the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
There're no differences for SSP and SoundWire TPLGs between
MTL and LNL, we can reuse MTL TPLGs for LNL.
Signed-off-by: Keqiao Zhang <keqiao.zhang@intel.com>
This is additional HW board: No SDW_DMIC connection
SDW0: rt713 Jack codec
SDW1: rt1316 smart amp l
SDW2: rt1316 smart amp r
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
After enabling deadline calculation DP threads began to lose priority
in relation to logger thread which currently is set to the same priority
but has zeroed deadline.
Since processing should be not disturbed by logging operations, the
ZEPHYR_DP_THREAD_PRIORITY must be set to lower value than logger.
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
previously, performance measurement based on platform clock, source
clock is 38.4mhz, for better align with CPC calculation, change
clock to dsp clock, this will be done through enable config:
CONFIG_TIMING_FUNCTIONS, and this config only be used with perf_cnt
header file, so this change only have impact on performance build.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
This patch adds same RTC_AEC module entry as added earlier
to config/mtl.toml. The purpose is enable testing the component
in other platforms.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Migrate rimage build and cppcheck workflows from
sof/tools/rimage/.github/workflows/ (where they're ignored) to
sof/.github/workflows/
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Will first check whether have same target volume, if same,
then only calculate one channel and copy to other channels.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
The num_output_pins was set for pass-through path but missed in normal
path. Without it Linux kernel driver wouldn't set second output pin
format for dai copier which connects smart amp and gain module.
Signed-off-by: Rander Wang <rander.wang@intel.com>
This patch changes all cavs-nocodec.conf based topologies to
use exponential Windows fade curve_type in gain components. It
is done to ensure the ramp gets tested after change of gain
curve_type default to linear.
The gain in included deep buffer playback pipeline (hw:0,31) and
in mixer pipeline (hw:0,41) are not changed because they are used
also in normal topologies. Also in capture direction DMIC raw
(hw:0,10) remains curve_type 2. Other gains are curve_type 1
Windows fade.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This change can drop in TGL platform 2ch 48 kHz gain component
peak load e.g. from 16.7 to 7.09 MCPS CPU_PEAK(MAX) reported by
sof_perf_analyzer.py. The peak varies a bit time. If several
gain instances ramp simulatenously in stream start, the peak
MCPS consumption could be source for xruns and glitches if overall
load is high.
The change with linear curve is barely audible. The
computationally heavier Windows fade exponential curve is required
only with Windows OS. Since Windows is not using ALSA topologies
this change does not impact it.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Use input_output_format/output_audio_format explicitly. Additionally,
this patch introduces the used of the CombineArrays feature in the
topology2 compiler to generate multiple audio format objects from the
attribute array combinations.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Setting the in bit depth for the second audio format in the
host-gateway-capture object results in resetting the channel count to 2.
The in_bit_depth is set to 32-bit by default for all audio formats in
host-gateway-capture class already.
Fixes: 7a11e27bf2 ('topology2: host-gateway-capture: Replace audio_format objects')
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This patch modifies script example_dblock.m to create in
addition to existing default coefficients blob with parameter
R=0.98 a set of blobs those provide (-3 dB) cut-off frequencies
20, 30, 40, 50, 100, 200 Hz for 16 kHz and 48 kHz for various
usages. Human understandable parameters for blobs helps to select
the configuration for the needed dcblock usage.
The parameter value R for given frequencies is calculated
with iterative function dcblock_rval_calculate(). A closed
form equation might be possible to derive from the transfer
function. If such is found this function can be replaced with
quicker equation -- or with more advanced faster converging
iteration.
The topology blob export functions are also modified to add
comment line for exact build command.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The first playback PCM is for AEC mic input via SSP0 LBM. The second
playback PCM is for AEC reference via SSP2 LBM. The first capture
PCM is the AEC output.
The AEC (mockup) can be run and tested with the topology like
this:
$ aplay -Dhw:0,0 mic_clip.wav &
$ aplay -Dhw:0,2 ref_clip.wav &
$ arecord -Dhw:0,0 -f dat -d 10 output.wav
With AEC mockup version output.wav is mix of microphone
and reference.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
With multi-fifo we need to enable done bit from software
as we have multiple fifos.
For this we make use of sw_done_sel configurations bits and
write proper bits into SDMA_DONE0 register.
For more information see `SDMA DONE0 Configuration
(SDMAARMx_DONE0_CONFIG)` SDMA register from i.MX8 reference manual.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
In order to enable PDM we need to use Multi-fifo support
and mcu_2_sai RAM script.
This script defines watermark level as follows:
r7 = Watermark
bit0~11: watermark level(wml*fifo_number)
bit15~12: to do-fifo number
bit16~19: fifo offset
bit27~24: sw done selector
bit28~31: # audio channels in one frame, 0: 1 channel,1: 2 channels
bit23: sw done enabled
Configuration parameters should come from DAI (PDM in our specific case)
but there is no easy way to forward such information so we just make
use of some default configuration, 4 fifos, 1 channel per fifo, sw done
enabled.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
name
rt713 and rt1713 are in different SoundWire links. So, no DAI type will
be appended to DAI link name. We should use default stream name in
the topology.
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>