This patch addresses the following:
1. Move PCM_PLAYBACK_ADD to pcm.m4
The macro was in the wrong m4 file (buffer.m4)
2. Remove pipeline_id argument and "index" from SectionPCM
"index" is not a member of struct snd_soc_tplg_pcm. So this
information is not used in the kernel at all.
Secondly, the PCM ID could be associated with more than
one pipeline especially in the case of DUPLEX PCM's. So better
to remove it to avoid ambiguities.
3. Remove dai_id
This dai_id is the ID given to the CPU DAI when the FE DAI link
is created. In the case of SOF, we should use an linearly increasing
unique ID for CPU DAI ID's. If this argument is omitted, the kernel
automatially assignes an ID based on the component->num_dai
which is linearly incremented every time a new DAI link is added.
4. Finally update users to align with the new definitions.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add DMIC capture pipeline for DMIC01 to the apl nocodec topology.
DMIC16k to be added later.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Previously it was set to be the dai index which works if there's
only one type of BE DAI's.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
DAI_TYPE and DAI_INDEX are both needed to get the dai in FW, add
DAI_INDEX in SectionBE to make sure we can handle multiple type dais.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
For some reason parts of the topology were commented out. Make sure
all 6 SSPs are enabled.
Tested on Up2 with a LogicPro-based check on SSP5 (only interface
accessive on the HAT connector)
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Update module names, only unload what is loaded and add pcm512x
support for Up^2 board.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Remove DMIC support to avoid topology load fail,
Remove capture (not supported by PCM512x codec)
Simplify structure using PCM_PIPELINE_ADD instead of PCM_PIPELINE_DAI_ADD
Enable 24-bit output
Enable up to 32-bit PCM (tested with S16_LE and S32_LE)
Tested on Up2, no issues detected.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Codec SSP id doesn't match with machine driver, so
change the id to 1 to fix the topology loading issue.
Signed-off-by: Zhang Keqiao <keqiao.zhang@linux.intel.com>
Add a multi-stream topology for GLK with speaker on SSP1, headset on
SSP2 and DMIC. Only playback pipelines on SSP1/2 for now. Capture
pipelines to be added later.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
SSP5 id should be kept to 0 and new added DMIC goes to 1 to keep old
machine driver work with both old topology and this topology.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
For nocodec topology, we need the id to be same with SSP index since
all SSP ports are enabled in nocodec. Codec machine drivers always have
id to 0.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
The audio tests signals contain a start and end marker to extract the
test output to analyze from in-between the markers.
This patch fixes a fail in SRC tests that was caused by incorrect
synchronization to output data. The chirp upper frequency is limited
to 0.99 x Nyquist frequency since the Nyquist frequency in the end
aliased and caused a visible artefact to spectral plot and it triggered
a resampler filter impulse response that had some correlation with
start/end marker chirps. The cosine chirp initialization to start from
90 degrees (zero PCM code instead of max.) also cleaned the start impulse
and improved the look of spectrogram plot.
The syncronization was limited to seek from one measured channel only. The
sync finder also didn't handle properly multi-channel input.
The output file start marker scan length was reduced to be
idle+marker length. And the scan time for end was reduced to be
2xidle+marker length
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch extends the allowed sample rate range to 8 - 192 kHz, and
channels count to 1 - 16. Previously only 48 kHz and 2 - 4 channels was
allowed.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch increases the SRC source buffer to contain 5 periods of data
(measured for 1 ms @ 48 kHz ). It fixes the issue in 176.4 kHz to 48 kHz
playback conversion that the pipeline freezes with insufficient available
data in source buffer for SRC to convert and too little free in buffer
for host to fill another 48 frames.
176.4 kHz playback is currently the largest buffer size consumer due
to non-steady in/out rate. The higher rate conversion 192 kHz to 48 kHz
can operate with smaller size buffer due to steady in/out rate.
Note: This has been only simulated in the host test bench since SRC
playback does not run currently in real devices due to another issue.
However since buffers simulation is accurate this should be a real issue.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The topology files naming has been updated to include mclk-N so it
needs to be added here as well for the script src_run.sh to work.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>