This patch adds the initialization to testbench start code. Without
it the notification from buffer consume/produce causes segfault.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
wm8960 codec drivers the master clock and for s24le we cannot easily
derive the bitclk.
So, switch to s32le. SAI supports s32le format. The initial s23le was
added because topology was based on sof-imx8qxp-cs42888.m4 which uses
ESAI and that's limited to s24le.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
For now we are using generic simple-card as a machine driver, and
the DAI name must follow certain pattern <dai-name>-<codec-name>.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This patch corrects the shown parameters orders for help text
and updates the copyright text style.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch fixes a mistake that forces generation of rate into
fs_inout matrix diagonal. The purpose of this test is to enable
SRC to pass equal input and output rate, so in case not equal
input and output rates the generator would not disable such
conversion if requested.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Probes are a feature that will allow user to extract and inject data
from/into buffers at runtime.
Basic flow is as follows:
1. Initialization of probes subsystem, allowing for simultaneous
configuration of DMA for extraction. If extraction DMA is not setup
during init, extraction probes will be disabled.
2. Configuration of probe points, preceded by DMA configuration in case
of injection probes.
3. Probes are now in operation and will send single multiplexed stream from
extraction probe points and inject data into specified buffers.
4. State of probes and associated DMAs may be retrieved via INFO functions.
5. Removal of probe points.
6. Removal of injection DMAs.
7. Deinitialization of probes subsystem.
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
This patch adds two new test topologies. One is for testing ASRC
timestamp retrieving from HDA and one for WM8804 slave SSP interface
for APL. It is useful with UP^2 board with HiFiBerry Digi+ SPDIF
interface.
The asynchronous mode token is switched on in ASRC capture and
playback pipelines. It switches on DAI skew tracking feature
in ASRC.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Up^2 boards have a DMIC connector. Add support for such DMIC add-on
boards. Also adjust iDisp interface DAI IDs to match the new
sof_pcm512x.c Linux machine driver.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
HiFiBerry DAC+ADC codec card also contains a line-in jack for analog
audio recording. This patch adds support for it.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
When new component will need to process audio data in two steps,
then temporary circular buffer will be needed. Also extra information
about data stream may be needed to choose right algorithm or assert data
compatibility.
Currently only 'comp_buffer' has such a possibility but it is component
defined in topology - with much wider capabilities - and shouldn't be
created inside component just to hold temporary data stream.
Use introduced structure in processing functions, move api responsible
for data processing from buffer to audio_stream module.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
DMIC01 is just useless for a user. After multiple rounds of
discussion, we agreed to remove numbers (which could be understood as
a mic position) or a frequency (which is misleading since it can be
updated to e.g. 96kHz by topology), so by default the DMIC interface
is called just that...
Conversely, we add a clear 16kHz qualifier for the low-frequency
path. While in theory the frequency can be changed with modifications
of the FIR filter, applications do need 16kHz support.
Also make sure we only use 'DMIC' for 'PCH-attached DMICs'. For
RT715-based solutions, the microphones can be analog, so use more
generic 'Microphones' description.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This patch adds driver capability to capture with combination
of 96 kHz and 16 kHz sample rates from FIFO A and FIFO B by using
decimation factor 12 in FIR. The earlier capability for 96 kHz was
with single FIFO only due to lack of suitable decimation filter
for the 16 kHz output.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch mitigates the start transient in capture from rt715
codec. The start transient is DC pulse that can be attenuated
significantly with a high-pass filter. The pipeline macro
pipe-highpass-capture.m4 adds a 40 Hz second order IIR filter
into the beginning of pipeline. The volume control in this pipeline
is also set to a longer 400 ms ramp length (normally 250 ms) that
is sufficient to conceal PCM waveform issues before the IIR filter
settles to DC level.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Changes component driver registration to use comp_driver_info
as an element to be put into the drivers list. This way
comp_driver can be constant and comp_driver_info can be
marked as shared in the future.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Passes sof context pointer to sys_comp_init() function.
It will be needed in order to add comp_driver_list to
sof context.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Removes shared_ctx from ipc structure and add its members
directly to struct ipc. From now on ipc struct needs to
be shared to support SMP. It's done in order to eliminate
possible wrong pointer to shared_ctx, since it was a part
of cached data.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This patch replaces in topology sof-hda-generic.m4 the use of macro
pipe-volume-capture.m4 usage with a new macro pipe-highpass-capture.m4.
The used 40 Hz cut-off is sufficient to suppress the DC pulse in the
beginning of capture from headset with minimal impact to other
applications such as recording music.
The capture volume ramp length is changed from 250 ms to 400 ms. The
longer ramp is feasible because the microphone path seems to open
at 500 ms from capture. It helps to attenuate the remaining noises
in the beginning of capture.
The patch also adds additional high-pass responses macros for
topology with different 20-50 Hz cut-off frequencies into
SOF/tools/topology/m4.
The changes for Matlab/Octave script example_iir_eq.m that
generated the filter coefficients are included here as well.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch increases the max. size to 4 kB. Such size allows
setting up e.g. 8ch 192 tap FIR. The multiple part configuration
IPC support has existed in the EQ component for a while and this
limit in topology has remained not updated.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Creates new mem_zone enum type for heap zones.
We don't want to leave them as flags and allow
zone combinations.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Removes zone argument from balloc related functions.
They always use RZONE_BUFFER, so passing something else
is very misleading, especially it changes nothing.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Extracts flags from zone to use them as a separate argument
during allocations. It allows for addition of new zones and
also is more clear this way.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
A public key signature of community key used to sign FW
binaries is added. The script can provide on output info if
evaluated FW image was signed with the key.
Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
The Xtensa GCC build on APL platform can process about 40 taps
FIR filter so it is useful to have one such configuration. The
eq_fir_mid.txt is be applied with sof-ctl tool.
The patch contains the Octave script modification. The print of final
filter length is added to blob packer script to see the resulting
length when the filter is generated. The small filter spec change
helps the filter tool to achieve result that is close to requested
shape.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Detailed information from Platform Fx Extension, part
of the manifest may be useful for a deeper signed image
analysis.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Recreate gui for audio-tuning.appspot.com using SOF config. For IIR
filters only currently. Once DRC is ported then GUI can be ported as
well.
Signed-off-by: Curtis Malainey <cujomalainey@google.com>
Removes need to pass EDF task priority during initialization.
Also removes priority definitions, which were only used by
EDF scheduler. Priorities of EDF tasks are now deprecated.
We are scheduling based only on deadline.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Extracts task operations to separate struct. This way we can
add additional ops without need to endlessly adding parameters
to schedule_edf_task_init function.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Separates task init functions for all currently supported schedulers.
Some of the parameters are not common, so there is no need to
artificially extend function signatures.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Add the required virtual widgets to the BYT codec topology
to suppress the errors seen due to the dapm routes set up
in the machine driver and move them to the common header.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add support for bdw-rt5677
Fix load issue with bdw codec toplogy issue, no SMP support.
Add virtual widgets.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
This patch adds TGL topology for the DUT which has the
following audio configuration:
Max98357A speaker (I2S), ALC5682 headset codec (I2S),
DMIC, 4 HDMI devices.
Signed-off-by: Jairaj Arava <jairaj.arava@intel.com>
Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
A public key signature of Intel production key used to sign APL
binaries is added. The script can provide on output info if
evaluated FW image was signed with the key.
Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>