This script parses manifests included in sof binary and prints
extracted metadata in readable form.
It is particularly useful to get information about image signature
parameters.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
We don't need to accidentally commit ctags files. The linux kernel
ignores these definitions, let's ignore them too.
Signed-off-by: Curtis Malainey <cujomalainey@google.com>
Fetches channels and frame_fmt from sink buffer (sink
buffer params are set in pipeline_set_params()
before mux_params()).
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Fetches frame bytes from sink buffer (sink buffer params
are set in pipeline_set_params() before mixer_params()).
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
WAITI_DELAY is selected for LX6 Xtensa platforms one of which being
i.MX8 Hifi4 DSP.
Also, remove the input prompt because the actual WAITI_DELAY cannot
be set at compile time it is automatically selected based on arhitecture.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
A new config option allows to select between the default
ring oscillator used to clock the dsp core and memory
on Intel Cannonlake platform.
CANNONLAKE_LPRO sets the default clock to 120MHz low power
oscillator, otherwise 400MHz oscillator is used.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
The assumption is that load_mips equals MCPS (million cycles per second).
Then only a fraction of MCPS has to be consumed for each processing frame
depending on a frame length and a sampling rate.
Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
Moving pcm params from component to buffer is the first
step to improve parameter propagation within pipelines. This commit
moves several pcm paremeters (framet_fmt, buffer_fmt, rate,
channels, chmap, except direction) to comp_buffer struct.
Some of specific parameters are moved to private host and
kpb data.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
This patch fixes DAI_ADD function call for speaker pipeline.
The function call had incorrect number of agruments passed
which was causing issues with playback.
Signed-off-by: WojciechX Wittbrodt <wojciechx.wittbrodt@intel.com>
This patch adds all the topology files related parts and two complete
test topologies to test ASRC playback and capture with APL platform.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds the ASRC component and the new tokens into topology
parser and testbench component loader.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds a single 4 kB space for allocation. The 2 kB space
is added as well but configured to zero available. The ASRC typically
needs 2 - 4 kBytes of dynamically allocated storage.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds print of text ASRC into sof-logger for ASRC
originated traces instead of unknown.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds the new ASRC feature to SOF. It supports both
optimized HiFi3 build with xt-xcc and generic C version for
gcc build. The generic C version is currently feasible only
for testbench run due lack of sufficient speed for realtime but
will be optimized later.
The feature is disabled by default for BYT, CHT, BDW, and HSW
platforms to save RAM.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds the FIR filter coefficients and filter parameters
header files for the ASRC.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The BYT-CR package only exposes SSP0 and SSP1, with SSP0 typically
used instead of SSP2 for the audio codec connection. Since it's proven
nearly impossible to patch the topology on the fly in the kernel,
let's brute-force generate topologies for all known BYT-CR platforms
using macros for the SSP number. The BE stream name remains constant
at SSP2-Codec since it's not modified by the kernel.
While we are at it, do the same for CHT platforms.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
The previous version changes behavior on the BYT platform.
Fixes: ee9283c159 ("sof: lib: notifier: Do not break build on platforms
without CLK_SSP").
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
Reimplements buffer_copy functions to use memcpy_s instead of
fragment API. Based on my tests it gives 20% better performance
than previous implementation. Note that memcpy_s function
uses vec_memcpy when built using XCC.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Removes volume component from KWD pipeline. It was only required to perform
pcm conversion, but since DAI is now capable of doing that, usage of
volume is deprecated.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Removes unused code from dai_config. Frame bytes are always
calculated from scratch in dai_params, so no point in keeping
this dead code.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Changes processing flow and moves pcm frame format conversion
from volume to dai component. This way we'll no longer need to
artificially add volume into the pipelines, where it's not really
needed but frame format change is e.g. KPD topology. Dai is the perfect
place for conversion, since it's format is pretty much predefined and
comes from topology. Rest of the pipeline is configured from the host.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Implements functions for sample bytes and frame bytes calculations
based on provided frame format and channels.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
HiFi3 implementation of PCM converter is optimized to
process either two samples at once for 32 bit data or
four samples for 16 bit data.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Implements generic version of PCM converter library component.
This module provides static functions, which allows to copy
buffer data with frame format conversion.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Changes signatures of copy DMA buffer functions to differentiate
between source and sink bytes. Process function from now on will
work on provided samples to handle different formats on input and output.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Update xcc build config for all existing platforms.
xcc build with byt, cht and sue need special defconfig.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
xcc build will have bigger TEXT.
Need to keep the total block size unchange as the block need to be
4k align.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
SAI hardware needs on capture side to have SYNC mode set as
'Synchronous with receiver' in order to work properly
Set this field on Capture register RCR2, transmitter side
must be configured in asynchrounous mode
Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
Signed-off-by: Jerome Laclavere <jerome.laclavere@nxp.com>
Media pipe is missing the scheduling component, so move it after the dai
definition and add the scheduling component.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>