Commit Graph

125 Commits

Author SHA1 Message Date
Adrian Bonislawski 6b190eb8e4 boards: ace20/ace30: disable KCPS dynamic clock control
KCPS must be disabled until full perf measurement data
for audio modules is provided

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2024-10-30 15:01:53 +02:00
Kai Vehmanen b5d78bb09a app: intel_adsp_ace20_lnl.conf: move CONFIG_ZEPHYR_LOG
Move CONFIG_ZEPHYR_LOG to correct section under SOF logging
configuration as this option is not Zephyr but a SOF-side option,
despite what its name hints at.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-30 10:53:19 +02:00
Kai Vehmanen 0afeb2be8f app: intel_adsp_ace15_mtpm.conf: separate SOF and Zephyr options
Continue the cleanup and separate SOF and Zephyr options in
the board config file. No functional change, just reordering
the options.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-30 10:53:19 +02:00
Kai Vehmanen 9250e5f438 app: intel_adsp_cavs25*.conf: remove obsolete rimage items
Remove old, duplicated options for rimage signing schema from cavs25 and
cavs25_tgph config files. No functional change to build as the newer
options have taken precedence already before this change.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-30 10:53:19 +02:00
Kai Vehmanen a50029cb93 app: intel_adsp_cavs25_tgph.conf: clean up board config file
Group the configuration options per theme, separate SOF and Zephyr
Kconfig settings and order the entries in alphabetical order within
each group. This makes the board config file much more readable and

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-30 10:53:19 +02:00
Kai Vehmanen 1c362e67d5 app: intel_adsp_cavs25.conf: clean up board config file
Group the configuration options per theme, separate SOF and Zephyr
Kconfig settings and order the entries in alphabetical order within
each group. This makes the board config file much more readable and
easy to maintain. No functional change, just reordering the options.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-30 10:53:19 +02:00
Kai Vehmanen f0efc55617 app: intel_adsp_ace30_ptl.conf: clean up board config file
Group the configuration options per theme, separate SOF and Zephyr
Kconfig settings and order the entries in alphabetical order within
each group. This makes the board config file much more readable and
easy to maintain. No functional change, only reordering the entries.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-30 10:53:19 +02:00
Kai Vehmanen 1edcd91c8e app: intel_adsp_ace20_lnl.conf: clean up board config file
Group the configuration options per theme, separate SOF and Zephyr
Kconfig settings and order the entries in alphabetical order within
each group. This makes the board config file much more readable and
easy to maintain.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-28 15:48:04 +02:00
DineshKumar Kalva b2bf9969db app: boards: Update configuration to support ACP_6_0 soc.
Fixed build error in Kconfig.soc for ACP_6_0 soc,
updated board.yaml in Zephyr to avoid vendor prefix.

Signed-off-by: DineshKumar Kalva <DineshKumar.Kalva@amd.com>
2024-10-28 11:34:00 +00:00
Kai Vehmanen f8e244127a app: intel_adsp_ace15_mtpm.conf: clean up board config file
Group the configuration options per theme and order entries
in alphabetical order within each group. This makes the board
config file much more readable and easy to maintain.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-10-25 13:43:47 +01:00
DINESHKUMAR 51b7edc35f app: boards: Add amd_acp_6_0_adsp conf to support acp_6_0 config.
Add config file for acp_6_0: amd_acp_6_0_adsp.conf.

Signed-off-by: DineshKumar Kalva <DineshKumar.Kalva@amd.com>
2024-10-18 14:53:04 +01:00
Tomasz Leman f72968c1a2 platform: ace30: enable KCPS dynamic clock control
This patch enables the `CONFIG_KCPS_DYNAMIC_CLOCK_CONTROL` option for
the PTL platform by updating the `intel_adsp_ace30_ptl.conf`
configuration file.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-10-18 14:31:56 +01:00
Tomasz Leman 2b6606f22e platform: ace20: enable KCPS dynamic clock control
This patch enables the `CONFIG_KCPS_DYNAMIC_CLOCK_CONTROL` option for
the LNL platform by updating the `intel_adsp_ace20_lnl.conf`
configuration file.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-10-18 14:31:56 +01:00
Laurentiu Mihalcea beb1e68e79 app: boards: add DTS and config overlay for imx95
Add DTS and configuration overlay for the imx95 platform.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-10-04 11:14:58 +03:00
Tomasz Leman 7836735a69 config: Enable PROBE module for PTL platform
The patch adds the necessary configuration directives to include the
PROBE module and sets the maximum number of DMA channels for probing to
2, aligning with the configurations of other platforms like MTL and LNL
where the PROBE module is already enabled. With this change, the PROBE
module will be built into the firmware for the PTL platform, allowing
the test suite to successfully execute probe-related tests and ensuring
feature parity across different platforms.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-09-26 18:27:05 +01:00
Tobiasz Dryjanski 1e5b284ea2 I/O performance monitor: enable I/O performance measurements
Enable I/O performance for mtl and lnl

Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
2024-09-18 15:59:54 +03:00
Tobiasz Dryjanski 1872a109b9 performance monitor: change timer source to ccount for lnl
Use ccount for performance measurement for lnl to have a better comparison with
reference firmware.

Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
2024-09-18 10:08:21 +03:00
Tobiasz Dryjanski 3be9f32ecd performance monitor: change timer source to ccount for mtl
Use ccount for performance measurement for mtl to have a better comparison with
reference firmware.

Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
2024-09-18 10:08:21 +03:00
Kai Vehmanen 55ecc19ab6 app: intel_adsp_ace15_mtpm.conf: set DRC as built-in
Set DRC back as built-in (CONFIG_COMP_DRC=y) for these platforms.
DRC is now part of many common upstream topologies and as MTL
is a shipping platform, we cannot guarantee end-users have
sufficiently new kernel to support module loading.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-09-16 19:15:54 +03:00
Guennadi Liakhovetski cfd27fbde0 src: convert to a loadable module
Build src as a loadable llext module.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-12 18:07:16 +03:00
Guennadi Liakhovetski 9f48037505 llext: automatically calculate module addresses
Currently LLEXT module starting addresses are hard-coded in their
respective CMakeLists.txt files. This is very wasteful, since it's
unknown in what order modules are loaded, inflexible and not easily
extendible to other platforms. Switch to calculating addresses
automatically based on a single per-platform Kconfig value.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-10 09:23:24 +03:00
Curtis Malainey f383b0ffab fuzz: add argument to support other sanitizers
Allows for switching out zephyr configs for other sanitizers

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
2024-09-06 21:27:05 +03:00
Kai Vehmanen 0741e1eb00 boards: ace30: enable SOF log level at INF level
Re-enable normal INFO level log output for ace30_ptl target.
Move the limited log level setting to FPGA overlay.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-09-05 16:22:40 +03:00
Marc Herbert b2f79a0c3d intel_adsp_ace15_mtpm.conf: replace blanket _STUBS with focused RTC MOCK
CONFIG_COMP_STUBS=y was enabled in #8722 / commit 8e34109e10 ("AEC:
Enable Google AEC with Mock compliation").

CONFIG_COMP_STUBS indirectly enables
CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK which was the desired
effect. However it also automatically and silently "mocks" all other 3rd
party modules which is not desirable. So, replace it with the more
focused `CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK`. `src/audio/Kconfig`
says "CONFIG_STUBS: This should only be used in testing environments
like fuzzers or CI."

Official sof-bin releases include `google_rtc_audio_processing_mock.c`
because the CI that uses it can't use extra CONFIGS. That's another
topic for another day, see #9410.

build-mtl/zephyr.strip is identical before versus after this commit.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-09-04 08:58:58 -07:00
Marc Herbert 43912a70ed native_sim_libfuzzer.conf: override some incompatible hardware options
Override incompatible options CONFIG_SMP_BOOT_DELAY and
CONFIG_SCHED_CPU_MASK_PIN_ONLY found in `sof/app/prj.conf` to silence
build time warnings. Strange why these are in `app/prj.conf` but not our
problem here.

```
warning: SCHED_CPU_MASK_PIN_ONLY (defined at kernel/Kconfig:139) was
assigned the value 'y' but got the value 'n'. Check these unsatisfied
dependencies: SMP (=n).

warning: SMP_BOOT_DELAY (defined at kernel/Kconfig.smp:32) was assigned
the value 'y' but got the value 'n'. Check these unsatisfied
dependencies: SMP (=n).
```

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-09-02 11:25:14 +01:00
Guennadi Liakhovetski cada215ee5 lib_manager: disable on TGL
The library manager isn't supported on TGL, disable it there.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-08-30 16:03:28 +03:00
Marc Herbert 577c9ae3e7 fuzz.sh: add new boards/native_sim_libfuzzer.conf
Extract -DCONFIG_* definitions hardcoded inside the script and move them
to a new .conf file where they belong.

This is a first, baby-step towards addressing the more general lack of
.config control described in #9386

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-08-23 13:28:23 +01:00
Seppo Ingalsuo 1009ba774b App: Boards: Temporarily always set MFCC kconfig to yes
To see draft CI build results, will be removed later for
proposal.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-21 14:39:05 +01:00
Marc Herbert f7eb1ab89f Revert "intel_adsp_ace15_mtpm.conf: temporarily disable CONFIG_MODULES"
This reverts commit 8847de0555.

This should now work thanks to the "better" IMR addresses in
https://github.com/zephyrproject-rtos/zephyr/pull/76196

Note the longer term issue is still open:
https://github.com/zephyrproject-rtos/zephyr/issues/76247

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-08-06 10:01:26 +03:00
Marc Herbert 8847de0555 intel_adsp_ace15_mtpm.conf: temporarily disable CONFIG_MODULES
Temporarily disable CONFIG_MODULES to get MTL working again.

Avoids crash https://github.com/thesofproject/sof/issues/9308

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-07-18 21:51:51 +03:00
Guennadi Liakhovetski 3f84f32088 drc: make modular on MTL and LNL
Export missing symbols for modular DRC builds and select it as a
module on MTL and LNL. DRC isn't built by default, so we cannot
use CONFIG_LIBRARY_DEFAULT_MODULAR for it.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-07-16 15:29:47 +03:00
Tobiasz Dryjanski 32132a7f12 performance measurements: enable performance measurements
Enable global performance measutements.

Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
2024-07-10 17:20:31 +01:00
Marcin Szkudlinski ac17c743d7 kconfig: add PIPELINE_2_0 flag
This flag enables changes to new pipeline structure,
known as pipeline2_0
It is required for certain new features, like DP_SCHEDULER.
The changes are incremental and at the moment pipeline 2.0
is fully backward compatible with legacy platforms, however
it generates some overhead in data and code, so it is useful to
turn if off if not needed

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2024-07-10 15:31:06 +03:00
Kai Vehmanen 64e335e0b1 App: Boards: Set CONFIG_COMP_DRC=y for PTL platform
The DRC component was not included to build. This component is used in
upstream HDA generic topology, so must be enabled. See commit
727ad82997 ("Tools: Topology2: Add IIR, FIR, DRC to HDA analog
playback").

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-07-09 16:43:16 +03:00
Tomasz Leman 066f414fd6 boards: ace30: Enable system-managed device power management
Enable the system-managed device power management feature for the ACE30
PTL board configuration. This feature allows the power management
subsystem to automatically suspend devices before entering a low power
state and resume them after waking up.

The following configuration option has been added:
- `CONFIG_PM_DEVICE_SYSTEM_MANAGED=y`: This option is set to enable
  system-managed device power management, ensuring that the power
  management subsystem takes care of suspending and resuming devices as
  part of the power state transitions.

This change is in line with the power management strategy to minimize
power consumption and manage device states more efficiently without the
need for explicit device power state management in the application code.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-07-04 13:37:08 +03:00
Flavio Ceolin 2a0bc93a7e intel-adsp: zephyr: Replace deprecated symbol
PM_DEVICE_RUNTIME_EXCLUSIVE was deprecated and the new symbol
PM_DEVICE_SYSTEM_MANAGED shall be used when the applications wants
the subsystem to trigger device power management when the system sleeps.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-07-04 13:30:15 +03:00
Damian Nikodem 75778fc981 boards: config: add U8 bit format support for PTL
Add defines in PTL config files to support U8 bit format.

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
2024-06-26 14:34:51 +01:00
Kai Vehmanen 69ad96abbf app: boards: intel_adsp_ace15_mtpm: disable IMR context-save
Keep context save still disabled for Intel Meteor Lake. This
setting has been used in SOF2.8 and SOF2.9 releases and is used
in Chromebook SOF builds for these platforms. Make the SOF main
default match the releases.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-06-25 17:21:47 +01:00
Jaroslaw Stelter b235797fc0 intel_adsp: ptl: Enable D3 flow on PTL
This PR enabled D3 flow on PTL platform.

Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
2024-06-24 16:15:41 +02:00
Jaroslaw Stelter 9303f6d49d intel_adsp: ptl: Enable LE HEAP on ptl
Enable L3 HEAP to support D3 scenarios on PTL

Signed-off-by: Jakub Dabek <jakub.dabek@intel.com>
2024-06-24 16:15:41 +02:00
Piotr Makaruk 297badca87 intel_adsp: ptl: Enable chain-dma on PTL platform
Enable chain-dma hw support on PTL platform

Signed-off-by: Piotr Makaruk <piotr.makaruk@intel.com>
2024-06-24 16:15:41 +02:00
Jaroslaw Stelter 05bfc36dac ptl: Add initial PTL configuration
Patch adds PTL configuration basing on MTL

DMIC depends on PM_DEVICE_RUNTIME and PM_DEVICE_POWER_DOMIAN settings.
To effectively enable DMIC these flags must be set.
Additionally DMIC Ownership bit is not supported on ACE 2.0 and ACE 3.0.
Therefore CONFIG_DAI_DMIC_HAS_OWNERSHIP is switched off.

Signed-off-by: Jakub Dabek <jakub.dabek@intel.com>
2024-06-24 16:15:41 +02:00
Guennadi Liakhovetski ae4f3143c1 llext: only enable on ACE platforms
cAVS platforms don't use LLEXT because memory mapping isn't supported
on them. Select LLEXT per platform, so far only for ACE 1.5 and 2.0.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-06-12 11:07:35 +01:00
Kai Vehmanen b10ec85ebd audio: base_fw: do not use platform interface for vendor extensions
In commit 14c4e86757 ("audio: base_fw: add platform layer to IPC4
hw_config data"), the platform specific code was moved to platform
layer.

This commit implements a lighter weight abstraction for the moved
code. Instead of using the platform layer, the Intel specific vendor
code is added directly in base_fw_intel.c and guarded by a Kconfig.
All other IPC4 build targets will use an empty implementation.

This avoids the need to add a platform definition for all IPC4 targets.
The common implementation in base_fw.c is sufficient to cover all
mandatory functionality required e.g. by the upstream SOF Linux driver's
IPC4 implementation.

The interfaces are renamed to refer to "vendor" instead of "platform",
to avoid any confusion with the platform layer with the new
implementation.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-05-08 09:41:28 +01:00
Laurentiu Mihalcea 65b8a32f27 nxp: imx8ulp: switch to native Zephyr drivers and timer domain
Switch to Zephyr native drivers and timer domain. This
includes:
	1) Switching all imx8ulp topologies to timer domain.
	2) Disabling Zephyr DMA domain
	3) Various interrupt-related fixes via Kconfig-related
	ifdef logic.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-25 14:12:41 +03:00
Laurentiu Mihalcea 4b567533eb nxp: imx8ulp: and nodes and enable drivers for SAI, EDMA and HOST_DMA
Add DTS nodes for and enable the drivers of SAI, EDMA
and HOST_DMA.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-25 14:12:41 +03:00
Laurentiu Mihalcea 3f1f45aaeb boards: imx8ulp: switch to Zephyr logging
Switch to Zephyr logging to prepare for the
switch to native Zephyr drivers.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-25 14:12:41 +03:00
Laurentiu Mihalcea 9737e124bc nxp: imx8/imx8x: switch to native Zephyr drivers and timer domain
This commit includes all necessary changes for switching
to timer domain and Zephyr native drivers on imx8 and imx8x.
This consists of:
	1) Switching all imx8 topologies to timer domain.
	2) Disabling Zephyr DMA domain
	3) Various interrupt-related fixes via Kconfig-related
	ifdef logic.

This commit includes all necessary changes for switching
to native Zephyr drivers on imx8/imx8x.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-23 12:20:31 +01:00
Laurentiu Mihalcea 2cd630465b nxp: imx8/imx8x: add SAI, EDMA, ESAI and HOST_DMA nodes
Add nodes for the following IPs: SAI, EDMA and ESAI. Also,
add node for HOST_DMA. These are all required for switching
to Zephyr native drivers.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-23 12:20:31 +01:00
Laurentiu Mihalcea 4284556e9b nxp: imx8/imx8x: switch to Zephyr logging
Switch to using Zephyr logging on imx8 and imx8x to
prepare for using native Zephyr drivers.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-04-23 12:20:31 +01:00