Update the return type of the ICMP callback handler to enum net_verdict.
This fixes an issue where currently all ICMP handler are passed the same
pkt. Handlers could have modified the passed packet resulting in undefined
behavior.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add an option for calling the MPCCONF service from RAM, by plugging in
the `__ramfunc` attribute via IronSide SE support package's glue layer.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Integrate support for a minimal driver for IronSide SE IPC which is
thread-unsafe, uses busy waiting, and assumes that the IPC region
is uncached. The driver is included in the IronSide interface code
itself, and is enabled by defining IRONSIDE_SE_CALL_MINIMAL.
This is primarily intended to be used by MCUboot but can be used by
e.g. resource constrained single-threaded firmware.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Add support to the UICR generator image for the new features
in the IronSide support package:
Split blob generation options like GEN_UICR_PERIPHCONF
into GEN_UICR_PERIPHCONF and GEN_UICR_GENERATE_PERIPHCONF to
allow configuring the blob address independently from generating
the blob itself.
Add support for generating a UICR MPCCONF blob by extracting a table of
entries from an image ELF file. The mechanism works mostly the same
as the UICR PERIPHCONF blob generation. When the UICR generator image
finds another image that has CONFIG_NRF_MPCCONF_SECTION=y, it will
extract the data from the section named 'mpcconf_entry' and include it
in build/uicr/zephyr.hex and either build/uicr/mpcconf.hex
or build/uicr/secondary_mpcconf.hex.
Add support to the UICR generator image for setting the
POLICY_MPCCONFSTAGE field via Kconfig. Setting this to INIT is
required to make use of the new ironside_se_mpcconf_write() API
added with IronSide SE v23.4.0+27, which is used to configure
global domain MPCs.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Updates the build system within the BT stack integration layer to
identify and include the Bluetooth controller firmware images for the
CYW55513 connectivity module.
Signed-off-by: Merin George <merin.george@infineon.com>
Update the module dependency for hal-infineon to
include updates from PR 43.
The new folder structure requires an update in the
CMakeList file for zephyr-ifx-cycfg.
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
RAIL depends on the LDMA and TIMER peripherals when Bluetooth Channel
Sounding support has been enabled, so be sure to include those in the
build for such configurations.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Initial SAU UART driver support for Renesas RA0 series
Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Fixes incorrect CMake substring parsing that caused build failures on SoCs
with non-numeric suffixes (e.g., efr32fg1p). The previous logic extracted
'1p', which broke the linking path for librail_efr32xg1_gcc_release.a and
the protocol directory inclusion.
This adds regex to strip non-numeric characters for the library path and
appends 'x' for the major series wildcard directory.
Signed-off-by: Pavithra CP <cppavithra05@gmail.com>
This commit introduces the Realtek OSIF (Operating System Interface)
layer, which is the standard OS abstraction layer defined for the
Realtek Bee SoC family.
While OSIF is designed to be common across the Bee SoC family, this
specific implementation adapts the layer for the RTL87x2G series
running on Zephyr.
OSIF encapsulates specific RTOS interfaces to provide a unified API.
This enables Realtek-specific modules—such as PHY, Power Manager,
Clock Manager, and BT Controller—to run on different RTOS environments
without modification, significantly enhancing portability.
The OSIF adaptation maps the following fundamental components to their
corresponding Zephyr kernel APIs:
- Task management and Scheduling
- Message queues
- Synchronization (Semaphores, Mutexes)
- Software timers
- Memory management
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
Thought MbedTLS is not FIPS compliant, enable FIPS to get rid of broken
crypto algos like MD5, CHAP etc.
This is not made configurable as we want to remove the the code for
those algos from the MbedTLS shim.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
MD5 is deprecated and the security methods that use are not officially
supported in Zephyr (EAP-MD5, TLSv1 etc), so, remove the code related to
MD5 and disable it in hostap.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Updates the OpenThread UART platform shim to support the Zephyr
Asynchronous UART API (DMA-based). This improves performance and
reduces CPU overhead when running the OpenThread stack.
Additionally, introduces new Kconfig symbols:
- CONFIG_OPENTHREAD_COPROCESSOR_UART_ASYNC
to enable UART async API mode.
- CONFIG_OPENTHREAD_COPROCESSOR_UART_RX_BUFFER_SIZE
to allow users to configure the DMA RX buffer size when
OPENTHREAD_COPROCESSOR_UART_ASYNC is enabled.
Signed-off-by: Michele Sardo <msmttchr@gmail.com>
Fix the order of default in the Kconfig LV_Z_BITS_PER_PIXEL
in order to be able to have the value set automatically based
on the COLOR_DEPTH.
Without that since the default 32 was coming first, 32 would
always be selected.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Prevent a possible NULL pointer dereference in
hostapd_ap_reg_domain() when get_hostapd_handle() returns NULL.
Previously, the function continued execution after detecting a NULL
interface pointer, which could lead to dereferencing iface->state.
Return early via a common exit path when errors are detected to
ensure safe execution.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Add a config that can be disabled to keep the PERIPHCONF data in the
firmware binary rather than stripping it. When the option is disabled
for a given image, the UICR generator does not include that image's
PERIPHCONF data in the UICR PERIPHCONF blob, instead it is expected that
it is loaded separately via an IronSide API call.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Use the IRONSIDE_SUPPORT_DIR cmake variable to determine the location
of the UICR generator script location, to allow overriding the location
if needed.
Since the CMake that would normally set this variable in
modules/hal_nordic/ironside/se/CMakeLists.txt is not actually run in the
gen_uicr image, refactor the logic for setting the variable so that it
can be included in the gen_uicr image directly.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
SOC_COMPATIBLE_NRF7120_ENGA was erroneously being used in
KConfig filter and therefore not being applied, since soc configs are
generated at compile time. Created SOC_COMPATIBLE_NRF71 to be used at
KConfig build stage.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
Any leading -D passed to target_compile_definitions on an item will
be removed, here remove them to make code style consistent.
Signed-off-by: Paul He <pawpawhe@gmail.com>
Any leading -D passed to target_compile_definitions on an item will
be removed, here remove them to make code style consistent.
Signed-off-by: Paul He <pawpawhe@gmail.com>
Replace k_sleep() with k_timer and semaphore-based synchronization
in the CANopen SYNC thread for more deterministic wake-up timing.
Add configurable CANOPENNODE_SYNC_THREAD_PERIOD_US Kconfig option
to allow tuning the SYNC processing period.
Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
Pull in updated IronSide SE supporting code and adapt the Zephyr
integration layers:
* Implement the glue function interfaces for doing data cache operations,
which are needed for some of the IronSide SE APIs.
* Add an option to the PERIPHCONF entry generator for not locking
SPU registers. This will be used to enable reconfiguration of
the SPU registers using an IPC call after their initial
configuration at boot.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Ideally these legacy RSA Kconfigs shouldn't be used anymore, but
Mbed TLS still uses them as guards in TLS code.
When TF-M is disabled there is no need for this trick because Mbed TLS
automatically enables legacy support internally based on PSA_WANT
build symbols.
The problem arises when TF-M is enabled in the build. In this case there
is auto-enablement from PSA_WANT counterparts, so the build fails due
to lack of support.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>