Integrate both tools to provide common CLI.
Also provide better logging format for logger tool.
Signed-off-by: ArturX Kloniecki arturx.kloniecki@linux.intel.com
This patch updates the export format to currently used format in
topology. It adds also possibility to pass text comment into line
above the bytes from EQ design script. The date is appended
automatically after comment.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds a simple control tool to setup during runtime (idle)
the IIR or FIR equalizer with new coefficients configuration. It is
useful in tuning of the equalizers. The tool also has capability to read
the EQ configuration from DSP.
Run "sof-eqctl -h" to see usage. The directory SOFT/tune/eq contains tool
to create EQ setup data.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Adding type string to widget data allows the driver to identify
different effects. As an example use this in the equalizer.
Also modify equalizer to pass default parameters in control's
private data.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
This patch adds EQ, bytecontrol, and EQ+volume pipeline m4 macros and an
enhanced topology with EQ for UP2 + HiFiberry. There is not yet FIR/IIR
type select. The EQ type is currently hardcoded into kernel.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Do not use a static defined number of channels, use the channels passed
in otherwise ASoC will try to allocate number of channels that should
not be allowed.
Signed-off-by: Curtis Malainey <cujomalainey@google.com>
This patch adds removing of extra zeros in the FIR coefficients. The
zeros can happen in some responses due to fixed point quantization of
very small values. The zero taps consume DSP resources for nothing so
better to clean them out for EQ configuration data.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds export function for the m4 syntax bytes data and adds
the export of such blob to example designs. The example EQ designs are
edited to make this format export too.
In addition the example FIR length is adjusted to be near current IPC
length maximum (384) and improve the effect quality.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Define 3 new PCMs and backends for HDMI/DP playback on GLK platform.
Here are the updated pipelines in sof-glk-da7219.m4:
PCM0 ----> volume (pipe 1) ---> SSP1 (speaker - maxim98357a, BE link 0)
PCM1 <---> volume (pipe 2,3) <--> SSP2 (headset - da7219, BE link 1)
PCM99 <---- volume (pipe 4) <--- DMIC0 (dmic capture, BE link 2)
PCM5 ----> volume (pipe 5) ---> iDisp1 (HDMI/DP playback, BE link 3)
PCM6 ----> Volume (pipe 6) ---> iDisp2 (HDMI/DP playback, BE link 4)
PCM7 ----> volume (pipe 7) ---> iDisp3 (HDMI/DP playback, BE link 5)
There is also support for changing HDMI/DP pipelines to pass-through for
validation purpose, which is commented off by default.
Pleaes note that 3 virtual widgets hifi1~3 are removed, because they'll
be created by HDMI codec driver. This m4 was verified on GLK platform.
This patch creates sof_apl_hdmi.m4 to define topology for 3 playback
pipelines, FE and BE links for HDMI/DisplayPort(DP) audio. This can be
a reference to verify audio over HDMI/DP on APL platforms.
The HDMI/DP frontends are named as HDMIx, to reuse the generic HDA DSP
machine driver which checks the link names and will do extra
initialization on HDMI/DP frontends if "HDMI" is found in the link name.
This m4 does't include topology for using external HD-A analog codecs. We
will create another m4 file to include both HDA display and analog audio.
Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>
This patch adds a new file hda.m4.
This file defines macro HDA_DAI_CONFIG(idx, link_id, name) for user to
define configurations for HDA Backend links. The link's data tuple will
carry the HDA type info for kernel driver to check the link type.
Pleae note that there are no HW configurations defined for HDA BE links
because current HW configurations is more suitable for SSP BE links, but
not for HDA. We'll decide what HW configurations are suitable for HDA BE
links later.
Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>
This patch fixes the command line sample rate parameters passing
into host testbench (-r & -R).
In my computer at least the print command of non-visible plots stopped
working into error so I disabled the print commant that creates PNG
graphics files. It's OK since the purpose of this script is batch testing.
The visible plot files can be enabled from SRC test script to see plots
if need for deep dive.
The patch includes also fix for text output for "help src_test". The
input and output word lengths were missing from sample command.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch changes code to allocate filter poles and zeros to biquads
to allow seeing poor SNR due to strong scaling vs. available fixed point
filter word length. The issue was severe especially with Matlab version
of tf2sos() function. The replacement is straighforward z, p frequency
sort. The scaling of biquads was changed to max -6 dB instead of previous
-3 dB to be more safe against internal signal clipping.
The IIR design was changed entirely to be based on zeros and poles
(z, p, k) in intermediate storate instead of polynomial coefficients.
This improves the accuracy especially of low frequencies high-pass
designs.
The default max. IIR order is increased from 12 to 16.
Finally since the grpdelay() function in octave-signal package calculates
incorrect result the group delay computation and plotting is disabled
for now in Octave. It works in Matlab.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This SPDIF transmitter/receiver is used by the HifiBerry DIGI+ and
DIGI IO. The wm8804 operates as bit clock and frame master.
TODO in future update: add support for capture on the DIGI+ IO (this
may be done with a different topology file to avoid confusing users
with a non-working PCM capture patch)
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>