This commit adds support for these multicore samples:
- samples/drivers/mbox
- samples/drivers/mbox_data
- samples/subsys/ipc/ipc_service/static_vrings
- samples/subsys/ipc/openamp
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
In some cases, CPUs that may need to reset or
temporary stop communication. This commit adds "unbound"
functionality that provides a callback to IPC service user
when connection was interrupted for some reason, e.g.
expected or unexpected CPU reset, closing the
endpoint. The "unbound" callback is optional to implement
by endpoints. This commit implements it in the ICMsg
backend.
Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
This commit adds support for these multicore samples:
- samples/drivers/mbox
- samples/drivers/mbox_data
- samples/subsys/ipc/ipc_service/static_vrings
- samples/subsys/ipc/openamp
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
Convert them to native YAML lists. Support for space-separated
lists was deprecated in Twister a long time ago.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This addresses the following warning building with `CONFIG_64BIT=y`:
error: field precision specifier '.*' expects argument of type 'int',
but argument X has type 'size_t' {aka 'long unsigned int'}
Signed-off-by: Chen Xingyu <hi@xingrz.me>
The nRF54 and nRF92 chips has data cache, which means
the ICMsg and ICBMsg must be configured to follow required
cache alignment of the shared memory.
The `dcache-alignement` needs to be defined for that.
Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
Change regex for no_multithreading test version for nRF54L15 platform.
This needs to be changed because LOG is running in MINIMAL mode.
Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
Currently, Zephyr is always sending back notifications to
AP (e.g Linux in our case) on channel 0.
But this currently doesn't work if Linux uses other channel
id for communication. So, add option to use predefined
vring ID that can accomodate Linux used ID.
Signed-off-by: Alexandru Lastur <alexandru.lastur@nxp.com>
Add the dts and config overlay for the two boards in order
to have the openamp_rsc_table sample working on
HiFi4 DSP from i.MX8QM and i.MX8QXP.
Since these two are similar, use a snippet.
Therefore, to compile the sample we use:
west build -p -b imx8qm_mek/mimx8qm6/adsp -S nxp-openamp-imx8-adsp
-s samples/subsys/ipc/openamp_rsc_table/
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
A virtual metal_device is created, next the needed IO regions are created
and added to this device. Immediately we extract these regions back out
and make use of them. There is no reason to create the metal_device and
add the IO regions to it, instead simply use the IO regions directly.
This is similar to what was already done to the openamp_rsc_table sample.
Signed-off-by: Andrew Davis <afd@ti.com>
Align all existing samples/tests/applications which
contains nrf54l15pdk/nrf54l15/* by adding
nrf54l15dk/nrf54l15/* to enable twister builds.
Signed-off-by: Katarzyna Giądła <katarzyna.giadla@nordicsemi.no>
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
This commit uses the new .. zephyr:code-sample-category directive to
categorize code samples across the tree.
Updates existing legacy references to manually defined targets to now
use :zephyr:code-sample-category: role instead.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add testcases for ICBMSG on nRF54L15 with only one endpoint,
including non-multithreading case.
Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
Use generic hook infrastrucutre instead of custom Kconfig and hooks for
ARM.
Replace z_arm_platform_init() with platform_reset().
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Adds missing code-sample directive to the remaining samples in
`samples/subsys` that didn't use it yet in preparation for upcoming
changes to the Zephyr documentation that will be leveraging the provided
description and metadata.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
It looks like sample called nrf53_cpunet_enable(false) before any
nrf53_cpunet_enable(true), resulting in asserts due to unbalanced calls
(error propagated from onoff service).
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Uses the variable for the default image when adding sysbuild
dependencies so that they can be copied out-of-tree and still work
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
`checkpatch.pl` requires that dts sources are indented with tabs,
fix all the spaces that slipped in while checkpatch wasn't watching.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Remove pre hardware model v2 overlays present for RT11xx boards, that
were missed in the HWMv2 migration
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
With the addition of the STM32 hardware semaphore MBOX driver, ICMsg is
now supported on the stm32h747i_disco board.
Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
When sending a lot of data, a busy error code returned by the IPC is to
be expected. But if the last attempted send returns busy, this error
code is returned to the calling function, causing an error log message.
Fix this by setting return variable to 0 on this acceptable error.
Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
The type of the resource table is known, casting to and from void* only
hides this type which can prevent the compiler from giving helpful
warnings. One warning would have been the accidental use of
"st_resource_table" in a cast, a struct which does not exist.
Use the fw_resource_table type when dealing with resource tables.
Signed-off-by: Andrew Davis <afd@ti.com>
Temporary solution as there is no such harness as remote.
However console regex are not defined yet.
Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
This commit adds support for these NXP Multi-core boards for
IPC static_vrings sample using OpenAmp lib:
- lpcxpresso55s69
- mimxrt1160_evk
- mimxrt1170_evk
- mimxrt1170_evkb
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
With the changes made in pull request #68741, RPMsg service is
supported on stm32h747i_disco using the STM32 HSEM IPM driver. For the
sample to work, add device tree overlays to enable the mailbox and set
the shared memory appropriately.
Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
Adjustments of overlay and conf files to adjust for the MERGE removal.
The revert of MERGE requires specific overlay and conf files for boards
which relied on the MERGE feature.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
A virtual metal_device is created and then the needed IO regions created
and added to this device. Immediately we extract these regions back out
and make use of them. There is no reason to do this, instead simply
use the created IO regions.
This also removes the need to have struct metal_device defined to have
more than one IO region (METAL_MAX_DEVICE_REGIONS), which is not default.
If the libmetal library was built with a different value, then updating
this header would not fix the underlying implementation leading to runtime
failures.
Signed-off-by: Andrew Davis <afd@ti.com>
We are always the remote client in this example. The shared pool is only
used for allocating ring descriptors when we are the host. Do not create
a shared pool with a NULL base address, simply do no pass in a pool.
Signed-off-by: Andrew Davis <afd@ti.com>
Currently a mix of printk() and LOG_*() are used, switch to using
the LOG functions in all cases. The code also has mixed line-ending
types, as the LOG functions add newlines remove these.
Also some messages that are failures are printed with debug log level,
use ERR level here.
Signed-off-by: Andrew Davis <afd@ti.com>
Check if creating the RPMSG endpoint fails and exit the task if so.
This prevents a later null pointer dereference if we try to continue.
Signed-off-by: Andrew Davis <afd@ti.com>