Commit Graph

98 Commits

Author SHA1 Message Date
Przemyslaw Blaszkowski 85367b73b9 mtl: add Aria module to build
Add Aria module to MTL build.

Signed-off-by: Przemyslaw Blaszkowski <przemyslaw.blaszkowski@intel.com>
2023-03-09 13:54:32 +00:00
Adrian Bonislawski d7da25fc25 platform: ace: enable Zephyr counter drivers
This will allow to build and enable ace art and rtc
counter drivers

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2023-03-08 14:36:57 +00:00
Guennadi Liakhovetski b637889efb platform: remove support for cAVS 2.0 platforms
Remove all support for cAVS 2.0 platformsm including Ice Lake and
Jasper Lake, they aren't supported any more.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-03-07 14:02:18 +02:00
Marc Herbert 157fd098cc app/CMakeLists.txt: require cmake version 3.21.0 or above
In version 3.21, CMake made a change that links .c.obj files in a order
different from 3.20. This makes different CMake versions generate a
different final image and breaks build reproducibility.

No such change between 3.21 and 3.25.2

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-03-06 13:05:05 +02:00
Guennadi Liakhovetski dc9ba281d7 platform: remove support for cAVS 1.8 platforms
Remove all support for cAVS 1.8 platformsm including Cannon Lake,
Comet Lake, Whiskey Lake and Coffee Lake, they aren't supported
any more.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-03-02 23:02:37 +00:00
Guennadi Liakhovetski 0f0acaae94 platform: remove support for cAVS 1.5 platforms
Remove all support for cAVS 1.5 platformsm including Apollo Lake,
Sky Lake, Kaby Lake, Broxton and Gemini Lake, they aren't supported
any more.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-03-02 11:28:23 +00:00
Krzysztof Frydryk ec974a881f platform: tgl: Enable AMS
Set config to enable AMS for CAVS25 platform.

Signed-off-by: Krzysztof Frydryk <krzysztofx.frydryk@intel.com>
2023-02-28 09:10:29 +01:00
Krzysztof Frydryk 201a12c940 platform: mtl: Enable AMS
Set config to enable AMS for ACE1x platform and add mtl specific values.

Signed-off-by: Krzysztof Frydryk <krzysztofx.frydryk@intel.com>
2023-02-28 09:10:29 +01:00
Kai Vehmanen 4d67d2f416 app: zephyr: enable CONFIG_ASSERT in debug overlay
Enable CONFIG_ASSERT=y in SOF debug overlay.

Also add a commented out list of additional useful Zephyr debugging
tools to the overlay. These incur a higher runtime cost, so are left
disabled by default. These are all debug tools that have been tested to
work with SOF and found useful.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-02-21 23:17:49 +00:00
Adrian Warecki d33af9ffbd platform: ace: watchdog: Add ll watchdog support
This commit adds watchdog support in zephyrs ll domain for ace platform.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-02-01 12:43:29 +02:00
Piotr Makaruk 507ad53b48 tgl-h: hda: enable chain dma
Enable building chain dma component on TGL-H platform

Signed-off-by: Piotr Makaruk <piotr.makaruk@intel.com>
2023-01-19 15:37:32 +01:00
Piotr Makaruk f90c69c5ae mtl: hda: enable chain dma
Enable building chain dma component on MTL platform

Signed-off-by: Piotr Makaruk <piotr.makaruk@intel.com>
2023-01-19 15:37:32 +01:00
Piotr Makaruk 114a372d1d tgl: hda: enable chain dma
Enable building chain dma component on TGL platform

Signed-off-by: Piotr Makaruk <piotr.makaruk@intel.com>
2023-01-19 15:37:32 +01:00
Tomasz Leman cd2349834c config: mtl: enabling power domains
Enabling power domains on meteorlake.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2022-12-14 11:43:34 +01:00
Tomasz Leman cf2a487048 config: mtl: pm settings cleanup
Grouping all zephyr power management setting together.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2022-12-14 11:43:34 +01:00
Andy Ross c50eddce1f platform: Add Zephyr native_posix-based emulation environment
This extends the ideas in CONFIG_LIBRARY=y to implement SOF as an
application for the Zephyr native_posix architecture.  These are host
x86 or x86_64 binaries that include a full OS build, which can be used
(via mocked drivers) for testing against host validation environments
like ASAN/MSAN.

The mechanism uses the existing "host" architecture used by
CONFIG_LIBRARY, but adds a new platform layer named "posix", populated
entirely with stubs.

No driver integration is provided in this patch.  The resulting
executable builds correctly, but has no devices and won't do anything.

Signed-off-by: Andy Ross <andyross@google.com>
2022-12-07 17:25:39 +00:00
Krzysztof Frydryk 5faacc0cff platform: ace: Enable zephyr native clock control
Enable zephyr clk driver allowing for cpu clock source change

Signed-off-by: Krzysztof Frydryk <krzysztofx.frydryk@intel.com>
2022-12-02 12:15:10 +02:00
Jaska Uimonen 24c0aad832 tgl: ipc4: zephyr: move to native drivers
Set tgl ipc4 overlays to use zephyr native drivers.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2022-12-01 19:20:06 +02:00
Marcin Szkudlinski b033740402 mtl: add support L3 (IMR) heap
L3 memory should support have support
for allocating/freeing memory
A heap support in L3 is introduced by
this commit

Signed-off-by: Rafal Redzimski <rafal.f.redzimski@intel.com>
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2022-11-30 13:43:10 +00:00
Marcin Szkudlinski e76851b9a5 [ABI] IMRheap preparation - add config and flags
Add
 - a kconfig option enabling a heap in L3
 - a memory capability flag SOF_MEM_CAPS_L3
+ small cleanup in whitespaces

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2022-11-30 13:43:10 +00:00
Marc Herbert 945adb8d16 app/prj.conf: add CONFIG_BUILD_OUTPUT_STRIPPED=y
The discussion in
https://github.com/zephyrproject-rtos/zephyr/pull/51954 may take time
and we need reproducibility last year (who doesn't?)

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-11-30 11:59:33 +00:00
Marcin Szkudlinski e4f7e518e8 Update zephyr revision
Updated zephyr to the latest version with
the necessary patches
a requried kconfig option is added because of
https://github.com/zephyrproject-rtos/zephyr/pull/51738

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2022-11-30 09:56:35 +01:00
Ievgen Ganakov c5a9234712 mtl: enable KPB module
Enable building KPB module on MTL platform

Signed-off-by: Ievgen Ganakov <ievgen.ganakov@intel.com>
2022-11-18 12:07:10 +00:00
Baofeng Tian 371d35108a Memory: add support for memory heap profiling
Heap memory profiling is based on runtime zephyr API.
It will print out each memory allocation with allocated bytes
and free bytes, display as below:
zephyr: heap allocatd: 22c0 free: 152a90 max allocated: 1000

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2022-11-16 13:38:08 +00:00
Ievgen Ganakov 0a1a19fe2e mtl: enable kd module
Enable building KD module on MTL platform

Signed-off-by: Ievgen Ganakov <ievgen.ganakov@intel.com>
2022-11-10 11:08:25 +02:00
Tomasz Leman 7628908d0d mtl: power: enabling zephyr power manager
Enabling zephyr power management functionalities for meteorlake board.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2022-11-04 20:48:41 +02:00
Arsen Eloglian e2656958a3 mtl: enable comp up down mixer
Enable flag configures up down mixer.

Signed-off-by: Arsen Eloglian <ArsenX.Eloglian@intel.com>
2022-11-02 21:16:49 +02:00
Baofeng Tian 5261853027 Performance: remove perf avg macro and reduce print profiling logs
PERFORMANCE_COUNTERS_RUN_AVERAGE is not an independent macro,
it depend on: PERFORMANCE_COUNTERS, so it is duplicated,
remove this macro and use one macro to control this module,
also reduced unnecessary profiling log print.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2022-11-01 10:45:00 +00:00
Ranjani Sridharan 73a413a38f ipc4_overlay: tgl/tgl-h: Add CONFIG_COMP_VOLUME_WINDOWS_FADE
Set the CONFIG_COMP_VOLUME_WINDOWS_FADE to use the windows fadr ramp
function in the gain module.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2022-10-20 17:57:55 +03:00
Adrian Warecki 447b365b62 mtl: board: Update mtl board configuration
Necessary configuration options of the mtl board
have been enabled.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Signed-off-by: Konrad Leszczynski <konrad.leszczynski@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Signed-off-by: Rafal Redzimski <rafal.f.redzimski@intel.com>
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2022-10-18 16:10:37 +03:00
Jaska Uimonen 251ee59b2e ipc: rename ace ipc zephyr stubb as ipc-zephyr.c
Rename ace ipc zephyr stubb as ipc-zephyr.c as it is a generic interface
towards zephyr cavs/ace ipc drivers. Change existing zephyr ace/mtl
makefile reference to it and start using it in cavs/tgl ipc4 zephyr
native drivers builds. Tgl ipc3 builds will still use sof cavs ipc
driver.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2022-10-17 17:01:09 +03:00
Anas Nashif 82d8dc9ece app: remove explicit CONFIG_DW_ICTL_ACE_V1X
This config was renamed is automatically selected for this platform, so
no need to include it here.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-10-12 19:34:18 +03:00
Baofeng Tian 56bc7efb91 performance profiling enable: add conf file for profiling enabling
After add this file, with -o app/perf_overlay.conf in build command
line, profiling functionality will be enabled and mtrace/sof log will
have performance data for further analysis.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2022-10-12 18:55:20 +03:00
Jaroslaw Stelter b104f70c3d iadk_modules: lib_manager: Enable loadable modules on MTL
This patch will enable lib_manager and iadk_modules support for
MTL platform.

Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
2022-10-11 14:13:51 +03:00
Kai Vehmanen 0654a66664 zephyr: app: increase log thread stack size to 4096
Set the logging thread stack size explicitly for SOF builds
and use a safe default of 4096 bytes. Individual board overlays
can override this default to save stack space.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-10-07 15:01:11 +03:00
Kai Vehmanen 529d593454 zephyr: app: increase log size to 4096 bytes
Set CONFIG_LOG_BUFFER_SIZE=4096 for all SOF builds.

As SOF uses DEFERRED mode for logging, the frontend buffer for
logs must be large enough to cover all typical burts of messages.

Tests using CONFIG_LOG_MEM_UTILIZATION debugging infrastructure,
show that maximum buffer usage is over 2048 bytes in typical
sof-test run on a SOF nocodec topology, tested on Intel TGL
hardware.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-10-07 15:01:11 +03:00
Kai Vehmanen 576373594b zephyr: app: tune logging thread sleep and trigger threshold values
Logging output of SOF is sporadic in nature (unless debug configuration
is used) and it cannot be assumed that a steady flow of log messages
is output at all times. During stable state, there are either no or very
few messages output. When the DSP pipeline state is modified, there is
a flurry of event. Similarly upon errors, a burst of log messages is
output.

For better balance between delay in writing logs, and limiting overhead
of the logging thread, set new defaults to:
  CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD=5
  CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=100

The SLEEP_MS sets an upper bound how long a single log message can
stay in the log frontend buffer.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-10-07 15:01:11 +03:00
Kai Vehmanen 19970d51d5 zephyr: app: explicitly use DEFERRED log mode
Calls to log messages are done in many places in SOF code,
including latency sensitive low-latency code paths. To minimize
the cost to low-latency path, use CONFIG_LOG_MODE_DEFERRED=y
by default for all SOF Zephyr builds. This will offload log
processing and output to a separate low priority thread.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-10-07 15:01:11 +03:00
Adrian Warecki d5967d1913 platform: mtl: Add meteorlake plaftom
Added base files of meteorlake plaftom:
  Board configuration
  CPU, clock and memory configuration
  Platform bootstrap code
  IPC driver wrapper for Zephyr IPC API for ACE1.5 platforms.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Signed-off-by: Konrad Leszczynski <konrad.leszczynski@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Signed-off-by: Rafal Redzimski <rafal.f.redzimski@intel.com>
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2022-09-21 15:15:26 +02:00
Kai Vehmanen a815089a25 app: set CONFIG_SCHED_CPU_MASK_PIN_ONLY=y for all SOF builds
In many places of SOF code, assumption is that code is only run
on a specific core. This allows to reduce overhead of cache
coherency management. For example this is used in the IPC stack.

In Zephyr, we can force threads to be pinned by default using
the CONFIG_SCHED_CPU_MASK_PIN_ONLY setting. Enable this setting
for all SOF builds.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-09-12 16:50:29 +01:00
Kai Vehmanen c950c6525e app: overlays: disable ADSP logging backend for IPC4 targets
Each logging backend has an overhead and we don't need two backends
writing to SRAM windows, so disable ADSP and keep MTRACE for IPC4
targets. Other targets will continue to use ADSP backend.

Due to a limitation in upstream Kconfig options, this change
will force a change in timestamp formatting as disabling ADSP
will disable CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=y. Mitigate
this by enabling CONFIG_LOG_OUTPUT_FORMAT_LINUX_TIMESTAMP=y.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-09-12 10:33:43 +01:00
Chao Song 809e3d0ebd zephyr: deprecate zephyr.h and use kernel.h header
The zephyr header zephyr.h should be only used with
CONFIG_LEGACY_INCLUDE_PATH, which is deprecate by both
Zephyr and SOF.

The latest zephyr main will complain if zephyr.h is
used but CONFIG_LEGACY_INCLUDE_PATH disabled.

This patch deprecates zephyr.h and uses kernel.h instead,
so that we don't break with latest zephyr.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
2022-09-06 09:59:15 +01:00
Kai Vehmanen 1daef9e576 app: overlays: move to mtrace for logging for IPC4 overlays
Enable the Zephyr based mtrace backend for all Intel IPC4 platforms.
Also enable routing SOF logs to Zephyr and bump the default
logging level to INFO.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-08-31 10:33:46 +01:00
Andrey Borisovich f8e111eb27 intel: drivers: dmic refactor - move DMIC_HW_IOCLK to Kconfig
Moved hardcoded cycles values for DMIC IO from dmic.h header
to per-platform configuration file (defconfig files for
non-Zephyr builds and app/boards for Zephyr builds).
Added new entry to intel drivers Kconfig - CONFIG_DMIC_HW_IOCLK.
Modification of this clock value may be used for testing purposes
like building firmware for FPGA or simulator.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-08-29 13:22:04 +01:00
Jaska Uimonen 6d180f48bb overlays: fix tgl ipc4 native drivers overlay
Remove duplicate configs with base IPC4 overlay and add PM related
configs to be able to compile upstream Zephyr SSP changes.

Also enable ALH native driver.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2022-08-25 13:18:53 +01:00
Jaska Uimonen 7076f0ebb7 overlays: add ipc native drivers overlay for tgl
The native drivers zephyr build requires significantly more configs to
be set, so add those to separate overlay. This overlay can be used with
the -o switch when using the xtensa-build-zephyr script.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2022-08-05 09:31:38 +01:00
Anas Nashif afd28fb087 app: zephyr: remove overlays and adapt script
Remove overlays as they are the same board configurations available in
app/.
Keep common overlays and change script to reflect those changes.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-07-18 14:22:01 +01:00
Anas Nashif 00c407f8c9 zephyr: app: move main SOF app from zephyr samples
Make the main SOF app part of SOF, where it belongs. No need for any
overlays (which just duplicated the sample .conf anyways) and one place
to build everything.

This now does not depend on zephyr samples, which have a different
purpose completely.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-07-18 14:22:01 +01:00