Commit Graph

2510 Commits

Author SHA1 Message Date
Guennadi Liakhovetski b57bfe2480 init: abort start up upon platform boot failure
platform_boot_complete() informs the host, that the SOF
initialisation has completed successfully. If this fails, the host
will anyway be unable to use the sound card, so we can just panic in
such a case.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 19:11:50 +00:00
Adrian Bonislawski 166477424a add dmic sources only if CONFIG_DMIC enabled
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-01 18:15:13 +00:00
Guennadi Liakhovetski ba7b7a6ce5 sue: enable IPC over SPI
Sue Creek uses SPI for IPC messages. This patch removes all DMA IPC
artefacts and makes necessary for SPI adjustments in sue-ipc.c. Note,
that it still uses the purely software IPC mailbox for uniformity
with other architectures.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 16:47:21 +00:00
Guennadi Liakhovetski 488bc759c9 sue: enable booting by loading over SPI
This patch enables creation of an SOF image, that can be loaded over
SPI and run on Sue Creek platforms. With this patch an image still has
to be manually created by padding the boot loader and concatenating it
with the SOF proper rimage (see comments in memory.h). It also contains
a hard-coded 9KiB offset to the beginning of the manifest. More work is
required to fully automate image creation.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 16:47:21 +00:00
Guennadi Liakhovetski 87b90c79cd sue: add SPI to DMA supported devices
On Sue Creek the DW SSI / SPI controller can use DMA, add it to the
DMA controller #0.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 16:47:21 +00:00
Guennadi Liakhovetski 7063838542 trace: disable DMA tracing on Sue Creek
On Sue Creek tracing is performed over a UART, since no direct DMA
connection to the host is available. Disable DMA tracing on that
platform.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 16:47:21 +00:00
Guennadi Liakhovetski c9553af9cb sue: use rimage for image building
Fix bugs in Sue Creek support for rimage:

- use a correct manifest offset
- place the image higher into RAM to avoid overwriting itself when
  copying the SOF proper.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 16:47:21 +00:00
Guennadi Liakhovetski efeb41a8cf sue: enable the SPI slave controller
Add platform data and initialisation for the SPI slave controller on
Sue Creek.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 16:47:21 +00:00
Liam Girdwood d4ae0cd3d6 logger: format file name to remove leading directories.
No need for full path as this breaks column formatting.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2019-02-01 16:17:07 +00:00
Liam Girdwood 50685bfb42 logger: improve some error messages.
Make error messages more meaningful

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2019-02-01 16:17:07 +00:00
Lech Betlej 52d9710855 ipc: keyword detection (KD) notification - ipc definition
Definition for an IPC structure for a generic notification event
that in the future can be sent by various FW components to the host.

Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
2019-02-01 16:00:14 +00:00
Liam Girdwood 1c02611612 scripst: copy more tools and scripts to target.
Some tools and tests not added until their name prefix is fixed to sof-

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2019-02-01 12:08:23 +00:00
Janusz Jankowski aeaef068c1 licence: update for kconfig and elf.h
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-01 11:12:36 +00:00
Guennadi Liakhovetski 74346b5c93 drivers: add an SPI driver for the DW SSI IP
The DesignWare SSI IP can perform as an SPI controller. This patch
adds a driver for the SSI's SPI slave mode and enable building it on
the Sue Creek platform.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 11:12:08 +00:00
Guennadi Liakhovetski c69dfaab3b drivers: add a driver for the DW GPIO controller IP
Sue Creek uses a DesignWare GPIO controller IP for several functions,
including a line, used as an interrupt from the board to the host to
be used with the SPI communication. This patch adds a minimal generic
GPIO API and an implementation for the DW GPIO IP.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 11:12:08 +00:00
Guennadi Liakhovetski 5bded4fb1c drivers: add a simple driver for the Sue Creek IOMUX controller
This driver has only one function: it can configure a pin for the
GPIO role.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-01 11:12:08 +00:00
Janusz Jankowski cb70ef9e35 cmake: check rimage dependecies
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-31 20:43:24 +00:00
Seppo Ingalsuo 1c191a20fd DMIC: Enable capture from secondary FIFO
This patch enables the FIFO B in addition to previously supported
FIFO A. It allows in topology to use in pipelines the DMIC DAI
type with indices 0 and 1. The DAI instances can be operated with
different sample rate and different PCM format. The other
topology parameters for microphones need to be the same (number
of channels and enabled microphones). If the request via topology
differs for those parameters the latter request overrides the
first request. Typical usage for this added feature is to provide
compact 16 kHz / 16 bit capture version for speech in addition to
normal 48 kHz / 32 bit media quality audio capture.

The DMIC HW actually provides a bit more freedom for FIR/FIFO A/B
usage difference but all of that is not exposed yet via the
driver due to added complexity.

Some trace prints for DMIC parameters and used configuration are
modified to print shorter lines for easier reading. The print
order is adjusted to be more logical.

The patch modifies two topologies to showcase the feature. The
sof-apl-dmic-2ch/4ch topologies for APL nocodec machine driver
are changed to instantiate in addition PCM7 set for 16 kHz 16 bit
format in addition to earlier PCM6.

Note: The required change to pipe-passthrough-capture.m4 PCM
capability to enable other than 48 kHz rate is not done to not
break important test cases. Another PR addresses the PCM
capabilities and after it is merged allowing 16 kHz PCM for DMIC
capture can be done safely.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-01-31 20:41:24 +00:00
Bard liao f80c828a77 topology: add cml topology with src supported
The topology is based on sof-cml-rt5682.m4 but use src on SSP playback

Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
2019-01-31 20:39:31 +00:00
Pan Xiuli d3b6654579 CI: travis: update the docker hub organization
Use thesofproject organization in dockerhub to replace the personal
account.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2019-01-31 20:35:44 +00:00
Pan Xiuli a45f4d1a1c tools: remove unused travis yml
now we have uplever travis.yml to cover the tools test, the tools level
file is not needed.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2019-01-31 20:35:44 +00:00
Pierre-Louis Bossart 7fa7413527 topology: remove tone support
This was never properly supported and generates errors. Will re-add when it
actually works

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2019-01-31 20:26:44 +00:00
Guennadi Liakhovetski 2f14a8782b dma: move the dw-dma.c driver to a new directory
Create a separate directory for DesignWare drivers and move dw-dma.c
into it with no changes.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-01-31 20:25:00 +00:00
Guennadi Liakhovetski ab89914f2b dw-dma: support scatter DMA operation
Add a configuration parameter "scatter" to specify, that the source
address should be reloaded while the destination address should be
incremented by the transfer length to contiguously fill destination
memory.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-01-31 20:25:00 +00:00
Guennadi Liakhovetski 7f374d27a4 dw-dma: do not set the DONE bit of CTL_HI
The DW DMA driver prepares configuration register values in linked
list elements. If linked lists of DMA descriptors are used for DMA
those registers are automatically read in by the hardware for each
transfer. The driver also uses those prepared values to explicitly
write them to respective registers. The DONE bit of the CTL_HI
field in linked list elements is automatically set by the hardware
when the respective transfer has completed. It has to then be
cleared by the software to re-use the entry. In the CTL_HI register
the DONE bit is writable, but setting it doesn't seem to be needed.
Remove the DONE bit manipulation at configuration time.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-01-31 20:25:00 +00:00
Janusz Jankowski 08257d3168 tools: remove duplicated rimage keys
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-31 20:24:30 +00:00
Janusz Jankowski 6c70f1a929 cmake: tests: support prebuilt Cmocka
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-31 20:22:30 +00:00
Pan Xiuli 3bc040271d scripts: replace alsa-lib with sof mirror
Use local version that still in review stage that we can have test
before final merge in upstream.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2019-01-31 20:20:51 +00:00
Marcin Maka 2234a6a43e
Merge pull request #918 from jajanusz/apl-up-defconfig
apl: use UP by default
2019-01-31 18:42:53 +01:00
Marcin Maka bb53de8b71
Merge pull request #928 from bkokoszx/logger-fopen-binary
logger: use fopen binary mode
2019-01-31 18:41:34 +01:00
Marcin Maka 7fb720a172
Merge pull request #914 from jajanusz/windows-build
cmake: build on windows
2019-01-31 14:29:52 +01:00
Bartosz Kokoszko e3cf1f2fed logger: use fopen binary mode
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2019-01-31 11:11:57 +01:00
Janusz Jankowski 82b305b727 apl: use UP by default
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 13:11:41 +01:00
Pan Xiuli 1a88947629 [skip ci]scirpts: add sof-target-install scripts
Install all FW and all TPLG files into
root@hostname/ip:/lib/firmware/intel folder.
install sof-logger and LDC files into root@hostname/ip:~/

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2019-01-30 12:00:10 +00:00
Jakub Dabek d0323f4d17 test: reinstated rest of memmory tests
Signed-off-by: Jakub Dabek <jakub.dabek@linux.intel.com>
2019-01-30 10:46:43 +00:00
Guennadi Liakhovetski c33c7bd0d6 rballoc: fix misleading zone names
rballoc() always allocates memory from the BUFFER zone, in fact the
"zone" argument for that function is redundant. Using any other zone
name with it is misleading. In fact all current calls to rballoc() use
the RUNTIME zone. Replace all uses with RZONE_BUFFER.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-01-30 10:45:18 +00:00
Guennadi Liakhovetski 018684072f alloc: try all buffer heaps
Currently the allocator only considers the first suitable heap for
buffer allocations. If it is full, no attempt is made to allocate
buffers from other heaps. This doesn't usually cause problems, because
on all platforms the first buffer heap is the largest and the following
buffer heaps are smaller and specialised (HP and LP). Still it is better
to try all heaps. This patch implements such an approach.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-01-30 10:45:18 +00:00
Janusz Jankowski dd87462402 cmake: crossplatform cc version get
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 08:46:04 +01:00
Janusz Jankowski 25e243b55f cmake: find python3
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 08:24:49 +01:00
Janusz Jankowski cdbe565651 cmake: use crossplatform copy
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 08:10:36 +01:00
Janusz Jankowski 5afec83728 rimage: use fopen binary mode 2019-01-30 08:05:36 +01:00
Janusz Jankowski 0cb4457cad rimage: use time_t for localtime
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 07:53:06 +01:00
Janusz Jankowski a8d33b2d36 rimage: cast size_t to correct format types
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 07:47:10 +01:00
Janusz Jankowski 05912c5639 rimage: fix for gcc8.1 -Wstringop-truncation
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 07:33:30 +01:00
Janusz Jankowski c82f759420 rimage: use local elf.h
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 06:52:35 +01:00
Janusz Jankowski ad3d864ca0 rimage: elf.h: use stdint 2019-01-30 06:47:41 +01:00
Janusz Jankowski 46a38ce4f1 rimage: import elf.h
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-30 06:43:09 +01:00
Janusz Jankowski 365b132e14 github: fix codeowners glob for @jajanusz
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-29 16:09:39 +00:00
Janusz Jankowski 7342811168 cmake: make CI builds verbose
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-01-29 12:38:48 +00:00
Jaska Uimonen ce3626201b dma: check for invalid channel in dma stop
if host params fails before dma channels are allocated
dma stop is called with invalid channel number and causes
eventually dsp oops.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2019-01-29 12:38:28 +00:00