One shared memory block SOF_FW for SOF_TEXT, SOF_DATA and SOF_BSS sections.
Moved fw_ready near to .rodata and .data
Removed setting of .text_size for APL manifes
Updated rom.x.in (SOF_BSS_DATA_START is no longer in use)
Used linker symbols to obtain real BSS size in alloc.h
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
This route is automatically created when the host comp is created
during topology loading. So remove it to avoid duplicating
the connection in the dapm graph.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
alsatplg allows setting inverted bclk and fsync polarities
by setting either bclk_invert or fsync_invert to "true".
This patch adds a default parameter in the SSP_CLOCK m4
macro which allows setting inverted bclk and fsync polarities.
Signed-off-by: Dragos Tarcatu <dragos_tarcatu@mentor.com>
Adds get_data_size operation to DMA.
This operation allows components to retrieve
currently available data from input and output
DMAs.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
After commit 93a52130c1 ("pipeline: preloader: simplify
preloader by reusing pipeline copy()") copy completion handling
is done via the pipeline infrastructure. So just remove the
remaining code relicts who are there only to confuse the
novice reader.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This patch fixes the use of private copies of the same header file
defined parameters in several C files that is not good practise to
do. They were not defined as proper global variables. Instead the
same parameters are now simply passed in function calls only to where
needed.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Argument -B<builddir> is not supported in minimum version of CMake
required by our project (3.10).
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Cache was invalidated in improper order, which led to using rubbish
data on slave core during pipeline trigger start.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
On BDW, DMA trace doesn't update trace log to host.
platform_timer_start function would set up some registers
for HW and make timer ready. On BDW, cpu timer is used to
driver work queue while on other platforms, external timer
is used. we don't need to enable timer interrupt now or it
will trigger unexpect interrupt which would make scheduler
in unknown status. timer_enable function would enable it
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
Check for prepare state in dai_params. It allows for
configuring multiple host pipelines connected to one
dai pipeline e.g. mixer topology.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
After commit 425aa5e917 ("ipc: Add support for creating pipelines
dynamically") the prototype of init_static_pipeline function has
changed.
Use the correct prototype to call init_static_pipline to avoid
compilation failure when STATIC_PIPE is defined.
Fixes: 425aa5e917 ("ipc: Add support for creating pipelines dynamically")
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Move large functions from src/include/sof/wait.h to src/lib/wait.c to
avoid building them multiple times.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Move large functions from src/arch/xtensa/include/arch/task.h to
src/arch/xtensa/smp/init.c to avoid building them multiple times.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Many functions in src/include/sof/panic.h are too large to be inlined
and repeated every time the header is included. Move them out to
src/lib/panic.c
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
src/arch/xtensa/smp/include/arch/idc.h has way too much code for a
header, it is included by platform/idc.h on various platforms, and
that header in turn is included by bultiple .c files, which builds
the code multiple times into the firmware. Move it to a C file.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Changes flow to trigger only current pipeline.
Stops on meeting component from the other pipeline.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
(1) set PSP according to APL
(2) we don't need to decrease one for TFT&RFT because
SSCR1_TFT and SSCR1_RFT do this.
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
When setting sar & dar registers in GP DMA, src address
and dest address should be masked for DMA engine to
identify memory space.
On BDW, the memory address in dsp is composed by 6 hex-number
like 0xABCDEF, and the address on BYT is a style of 0xFFABCDEF.
So it is correct on BYT even without mask.
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
Enables copy of connected pipelines if the pipelines
were set to have the same scheduling component.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Moves xtos_exc_handler_table to bss for SMP arch.
It's modified at runtime, so shouldn't be kept
in data, which is supposed to be read-only.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Add topology for WHL with RT5682. This will be merged with
sof-cml-rt5682 in the future to avoid maintaining 2 files
with just the difference in SSP port numbers.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
The CML board has the rt5682 connected to SSP0 and the
machine driver defines the dai link for the headset
with the name "SSP0-codec" too. So change the topology
file accordingly.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
On i.MX we have only two software interrupts available. One is used
as PLATFORM_SCHEDULER_IRQ and the other one for PLATFORM_IRQ_TASK_HIGH.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This patch adds three configuration profiles DMIC_FIR_LOW_MEMORY,
DMIC_FIR_FULL, and DMIC_FIR_CUSTOM.
The first is recommended for systems with need for only 48 kHz
and 16 kHz sample rates support with default 2.4 MHz microphone
clock. It can work with some other configurations also but if
driver rejects are seen for desired parameters the full or custom
configuration should be used.
The full configuration includes all defined FIR coefficients for
all supported decimation factors to support several rates between
8 - 96 kHz.
Custom set allows to select all decimation factors separately.
The rename of CONFIG_DMIC to CONFIG_CAVS_DMIC caused update need
to platform defconfig files and memory configuration header files.
There are no other changes but the macro rename for them.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>