DMIC32 and DMIC16 are just confusing. It's not clear if the numbers
refer to kHz or bits. Rename to make the names self-explanatory.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Not all HDaudio platforms have DMIC support, generate solution without
any DMIC. This will be used in combination with NHLT information (or
kernel module parameter) by the driver to automatically select the
relevant topology.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This patch updates header file to support 24/32 bit samples
and also adds new default config.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
to align with machine driver
The physical link iDisp1 ID for HDMI should be changed to 3,4,5
to align with machine driver. ID 2 is defined for DMIC16k.
Signed-off-by: Zhang Keqiao <keqiao.zhang@linux.intel.com>
This patch provides needed maintenance. The pipelines
missed the volume ramp tokens and caused topology build fail for
topologies those would use the pipeline macros
pipe-eq-fir-volume-playback.m4 and pipe-eq-iir-volume-playback.m4.
The embedded filter coefficients in these pipelines were replaced
by included default FIR and IIR filter coefficients to fix ABI
incompatibility in the configuration blobs and ease future
maintenance of these pipelines.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
driver
The BE id for amplifier pipeline should be changed to 6 to align with
machine driver (The commit ASoC: Intel: sof-rt5682: correct naming for
dmic16k).
Cc: Sathya Prakash M R <sathya.prakash.m.r@intel.com>
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Add volume component, change to use 16KHz sample rate, and modify the
PCM ID from 5 to 8, as it is in lower priority comparing with pipelines
like amplifier.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
As dmic only support 16 bit or 32 bit, we configure dmic dai to be
s32_le, and pipelines to be s24_le.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
We need volume component after dmic for either volume change or format
converting, here add volume component between dmic and kpb.
And after this, our kwd can support all s16_le, s24_4le, and s32_le PCM
capabilities.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
It is derived from sof-cml-rt5682.m4, keyword detect pipelines added to
it for Keyphrase Detection feature support.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
For detector component, the size of configure blob can be up to 300KB,
here enlarge the max to meet this requirement.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
This patch adds to all DMIC related topologies the new token
SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS. The value is set to 400
to correspond to 400 milliseconds long unmute ramp time. The
topology defined unmute will override the firmware internal
hard coded value if it is set in topology.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch provides default parameters for newly added
detect_preamble and history_depth. Both by default are
set to max buffering time of KPB.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
Byt media pipeline has different parameters in topology for scheduling
deadline and frame count than apl. This produces funny 4-8x speed
playback. So unify with apl media pipe.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Some of interface headers are not needed by kernel,
but are needed by user-space applications, so we can split them
into multiple directories that indicate their purpose.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Pipeline format determines the buffer size calculation. With the
pipeline format set to S16_LE, hw_params fails for S24_LE and S32_LE
formats. So, change the pipeline format to s32le to support all
three formats.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This patch changes the secondary DMIC FIFO configuration into 32 bits
mode for better quality. Since there is volume component in DMIC
capture pipelines the conversion to other PCM formats can happen
there. Using volume controller with 32 bit input gives a lot better
audio quality when the microphone signal needs amplification.
The scheduling of 16 kHz DAI is changed to 1000us. The comment
of 1000 us is correct but the parameter 48 is not. With 16 frames
the scheduling becomes the desired. This change should also save
some RAM due to smaller buffers.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch restores the missing configuration into macro
intel-generic-dmic.m4. Without this patch the 48 kHz DMIC DAI
is not created. Both DMIC FIFOs are available at any channels
number and PCM format so there is no need to delete a DAI when
4ch configuration is used.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Currently we have 1.5 times buffering after SRC in media pipeline. This
will not work for S24 or S32 playback as SRC will use the bigger buffers
with non-integer sample rate conversions as 44.1kHz to 48kHz. So add as
big buffer after SRC as before it.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Demux topology doesn't have format conversions so playback files need to
be converted to S24 or S32 format. As this is a bit cumbersome add
volume component to demux topology to enable standard 16 bit playback
from alsa. Also change the demux capture pipe PCM format range.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Add virtual widgets to remove error warnings in kernel dmesg logs, this
is also aligned to sof-glk-da7219 topology file.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
This patch fixes two things:
- Configures HDA pipelines to be timer driven.
- Moves definition of pipe-kfbm-capture to avoid overwrite
of deadline and frames for other pipelines.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
The example and test topologies demonstrate new non-symmetrical
microphones/channels setup for capture via FIFOs A and B.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
settings
We should load_mips to be 0, align values with default settings, that
is:
load_mips = 0, load_memory_size = 0, keyphrase_length = 0x780,
activation_shift = 0x3, activation_threshold = 0x3fff.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Add whl define to cmakefile to compile the cml demux topology
correctly with SSP names and indexes defined.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
This topology will add a capture branch back from playback pipeline's
mux component. It can be used for example as a echo cancellation
reference signal.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
This patch renames the macro to pipe-src-volume-playback.m4 for
consistency with other audio processing plus volume
pipelines. The topologies those use it are modified for the new
file name.
A new macro for testbench usage called pipe-src-playback.m4 is
added. It is plain SRC component pipeline without volume. The
volume component in the pipeline caused difficulties with test.
The script tools/test/topology/tplg-build.sh will use the
pipeline to create test topology for SRC component.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
We design to use bytes kcontrol to send kpb configuration data via IPC
from topology, here implement it.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
This patch adds volume configuration tokens as fifth parameter
for pga.m. All the topologies those use W_PGA() are updated to
use a linear (type=0) ramp with length of 250 ms.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Add topology file sof-glk-da7219-kwd.m4 which is used for Keyword
Detection feature integrated on GLK platform.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
DMIC16k only supports 16KHz sample rate. It should use
pipe-volume-capture-16khz.m4 to create the pipe which supports
the 16KHz recording.
Signed-off-by: Libin Yang <libin.yang@intel.com>
DMIC16k only supports 16000Hz sample rate. pipe-volume-capture.m4
only supports 48000Hz. Add pipe-volume-capture-16khz.m4 to support 16KHz
record.
Signed-off-by: Libin Yang <libin.yang@intel.com>