Commit graph

136,983 commits

Author SHA1 Message Date
Nicolas Pitre
fbe80ed506 lib: heap: add CONFIG_SYS_HEAP_CANARIES for corruption detection
Add optional canary values at the end of each heap allocation to detect
memory corruption. The canary is validated when memory is freed, catching
buffer overflows (writing past allocation) and double-free errors.

The canary is computed from the chunk address and size, XORed with a
magic value. On free, it is checked and then poisoned to detect
double-free attempts.

The canary is stored as trailer data at the end of the chunk rather than
in the header to avoid complicating aligned allocation processing, and
because buffer overflows are most likely to overwrite past the buffer end
anyway.

This adds 8 bytes of memory overhead per allocation and a canary
computation on alloc and validation on free. It is useful for hardening
against memory corruption as well as for chasing bugs during
development. The trailer structure can be readily extended to carry
additional per-allocation metadata if so desired.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2026-02-27 21:02:45 +00:00
Nicolas Pitre
b13f7d50f9 lib: heap: rename solo_free_header() to undersized_chunk()
The function checks if a chunk is too small to be added to the free list.
The new name better reflects its purpose and the comparison now uses
min_chunk_size() for clarity.

Such chunks are not added to the free list because they would be too
small to be allocatable, and they might be too small to store the free
list pointers. It happens that min_chunk_size() is always >= the free
pointer storage size.

The big_heap() condition short-circuits the comparison with a build-time
constant when undersized chunks cannot occur.

A following commit will rely on this to exclude chunks that are smaller
than min_chunk_size() which will grow to account for trailer data.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2026-02-27 21:02:45 +00:00
Nicolas Pitre
81ac81a6d6 lib: heap: rework chunksz_to_bytes into chunk_usable_bytes
Replace chunksz_to_bytes() which took a chunk size with
chunk_usable_bytes() which takes a chunk_id directly. This eliminates
the redundant pattern of chunksz_to_bytes(h, chunk_size(h, c)) and makes
the API clearer by returning actual usable bytes (excluding the header).

Add mem_align_gap() helper to compute alignment padding between the
start of usable chunk memory and the actual memory pointer, using
efficient bit masking. This simplifies sys_heap_usable_size() and
inplace_realloc(). Use these helpers to make runtime stats reporting
reflect actual usable chunk memory (excluding chunk headers), and heap
listener notifications also account for alignment gaps.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2026-02-27 21:02:45 +00:00
Nicolas Pitre
5d0376f6eb tests: lib: heap: remove test_solo_free_header
This test relied on carefully chosen hardcoded heap sizes that had to
be adjusted per Kconfig combination — exactly the fragile pattern the
build-time heap constants work is eliminating.  More importantly, the
test had no way to actually verify that a solo free header was created:
it merely allocated 1 byte from a specific heap size and called
sys_heap_validate(), which only does a general consistency walk.

The solo free header code path is already exercised organically by the
stress tests (test_small_heap, test_fragmentation) which hit all edge
cases including minimal leftover chunks.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2026-02-27 21:02:45 +00:00
Nicolas Pitre
518d8420c9 lib: heap: compute Z_HEAP_MIN_SIZE from actual struct layouts
Z_HEAP_MIN_SIZE and Z_HEAP_MIN_SIZE_FOR were defined in kernel.h as
hardcoded magic numbers gated by a growing tower of #ifdefs — one
per Kconfig option that happened to affect the heap struct layout.
Every internal change required manually recomputing the constants,
duplicating layout knowledge across files, and praying nobody forgot
to update the #ifdef matrix.  This is fragile and unscalable: adding
a single new heap feature (e.g. a chunk canary trailer) would add yet
another dimension to the combinatorial explosion.

Replace this with build-time computation from the actual C structures.
A new lib/heap/heap_constants.c is compiled as part of the offsets
library and uses GEN_ABSOLUTE_SYM to emit the correct values into the
generated offsets.h.  Z_HEAP_MIN_SIZE is derived through an iterative
fixed-point expansion (3 rounds, always convergent) that mirrors the
runtime logic in sys_heap_init().  Z_HEAP_MIN_SIZE_FOR overhead and
bucket sizes are also generated, keeping all internal heap layout
knowledge in one place.

Big vs small heap determination uses CONFIG_SYS_HEAP_SMALL_ONLY,
CONFIG_SYS_HEAP_BIG_ONLY, and sizeof(void *), mirroring the
big_heap_chunks() logic in heap.h.

kernel.h picks up the generated values via
__has_include(<zephyr/offsets.h>) so there is no circular dependency
with the offsets compilation itself.  The old _Z_HEAP_SIZE manual
sizeof and BUILD_ASSERT scaffolding in heap.c are removed.

gen_offset_header.py is updated to accept multiple input object files
so that the heap constants object can coexist with the per-arch offsets
object in the same offsets library.  COMMAND_EXPAND_LISTS is added to
the offsets generation custom command so that CMake correctly expands
the $<TARGET_OBJECTS:> generator expression into separate arguments
when the offsets library contains more than one object file.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2026-02-27 21:02:45 +00:00
Henrik Brix Andersen
b439029296 net: lib: sockets: can: always verify length in zcan_sendto_ctx()
Always verify the length in zcan_sendto_ctx().

Fixes: #104652

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-27 15:31:55 +01:00
Bjarki Arge Andreasen
881e966732 soc: nordic: nrf54l: add support for lfxo external clock source
Add support for configuring lfxo external clock source based on
lfxo configuration in devicetree. The addition both selects
bypass mode if external-clock-source is set, and adds a build
assert to catch invalid configuration of internal load capacitors
in case external-clock-source is used.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-02-27 15:31:46 +01:00
Bjarki Arge Andreasen
92773a6223 dts: bindings: clock: nordic,nrf54l-lfxo: add external-clock-source
Add the external-clock-source boolean property to the
nordic,nrf54l-lfxo binding which allows the user to configure the
lfxo in bypass mode (uses clock input on XL1 pin rather than
driving oscillator across XL1 and XL2 pins).

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-02-27 15:31:46 +01:00
Tim Pambor
4d6de96ad4 net: ipv4: avoid casting unaligned address to net_in_addr
This change addresses an alignment problem reported by UBSAN by
using a copy of the address. This avoids the need for extensive
rework to support net_if_ipv4_maddr_lookup_raw variant.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-02-27 15:31:26 +01:00
Silesh C V
4a625c86a8 boards: alif: ensemble_e8_dk: document E4 and E6 SoC support
Update board documentation to reflect support for E4 and E6 series
SoCs in addition to the existing E8 series support.

Add a board identifiers table listing all supported configurations
across the three SoC series (E4, E6, E8) and their respective cores
(RTSS-HE, RTSS-HP).

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-27 15:31:13 +01:00
Silesh C V
cbfb0a7b8f boards: alif: ensemble_e8_dk: Add SoC support for E4 series
The Ensemble E8 DevKit can be configured to work with Ensemble
SoCs in the E4 series. Extend the board SoC support to include the
E4 series AE402FA0E5597LE0 SoC.

This adds board configurations for both RTSS-HE and RTSS-HP cores
and the initial support includes UART for console output.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-27 15:31:13 +01:00
Silesh C V
38ba812cf3 boards: alif: ensemble_e8_dk: Add SoC support for E6 series
The Ensemble E8 DevKit can be configured to work with Ensemble SoCs
in the E6 series. Extend the board SoC support to include the E6 series
AE612FA0E5597LS0 SoC.

This adds board configurations for both RTSS-HE and RTSS-HP cores and
the initial support includes UART for console output.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-27 15:31:13 +01:00
Silesh C V
bbe5aaf3cd dts: arm: alif: ensemble: add ae402fa0e5597le0 SoC dtsi
Add device tree include file for the Alif Ensemble E4 SoC
AE402FA0E5597LE0.

This dtsi defines resources specific to this SoC variant in
addition to the common peripheral definitions from
ensemble_common.dtsi.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-27 15:31:13 +01:00
Silesh C V
d7415b8771 soc: alif: ensemble: introduce E4 series
Add support for the Ensemble E4 series and the AE402FA0E5597LE0
SoC within this series. The SoC contains two Cortex-M55 cores:
one configured to maximize power efficiency (RTSS-HE - High
Efficiency Real Time Subsystem) and the other to maximize compute
performance (RTSS-HP - High Performance Real Time Subsystem).

The E4 series uses SOC_FAMILY_ENSEMBLE_RTSS helper symbol
introduced earlier to share the CPU architecture configuration
with the E6 and E8 series.

Link: https://alifsemi.com/products/ensemblegenai/
Link: https://alifsemi.com/ensemble-e4-series/

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-27 15:31:13 +01:00
Silesh C V
f50b9f3e47 dts: arm: alif: ensemble: add ae612fa0e5597ls0 SoC dtsi
Add device tree include file for the Alif Ensemble E6 SoC
AE612FA0E5597LS0.

This dtsi defines resources specific to this SoC variant in
addition to the common peripheral definitions from
ensemble_common.dtsi.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-27 15:31:13 +01:00
Silesh C V
e08d310388 soc: alif: ensemble: introduce E6 series
Add support for the Ensemble E6 series and the AE612FA0E5597LS0
SoC within this series. The SoC contains two Cortex-M55 cores:
one configured to maximize power efficiency (RTSS-HE - High
Efficiency Real Time Subsystem) and the other to maximize compute
performance (RTSS-HP - High Performance Real Time Subsystem).

The E6 series uses SOC_FAMILY_ENSEMBLE_RTSS helper symbol
introduced earlier to share the CPU architecture configuration
with the E8 series.

Link: https://alifsemi.com/products/ensemblegenai/
Link: https://alifsemi.com/ensemble-e6-series/

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-27 15:31:13 +01:00
Silesh C V
18dc048023 soc: alif: ensemble: introduce SOC_FAMILY_ENSEMBLE_RTSS helper
All RTSS cores in the E4, E6 and E8 series SoCs in the Alif
Ensemble family share identical Cortex-M55 CPU configuration.
Introduce SOC_FAMILY_ENSEMBLE_RTSS helper symbol at the family
level to avoid duplicating these selects across series Kconfigs.

The helper will be reused by the E4 and E6 series being added in
subsequent patches.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-27 15:31:13 +01:00
Graham Roff
8894dc67b9 scripts: footprint: Optimize speed of generate_any_tree
The generate_any_tree function finds all matching nodes when inserting
into the tree, but only actually needs the first match. It also does
this search multiple times for the same node as it traverses the tree.
Optimize this in two ways: first, use an iterator that stops
after the first match, and second, cache matching nodes to avoid
repeat searches.

Signed-off-by: Graham Roff <grahamr@qti.qualcomm.com>
2026-02-27 15:30:49 +01:00
David Jewsbury
eb318914c2 drivers: flash_mspi_nor: Add DMA transfer mode selection
Add CONFIG_FLASH_MSPI_NOR_DMA_DATA_XFER and
CONFIG_FLASH_MSPI_NOR_DMA_CONTROL_XFER as Kconfig options for MSPI
NOR Flash driver. These options are used to select whether data and
control transfers should be performed using DMA or PIO modes.

Update flash_mspi_nor to store choices and apply them accordingly:
use data-xfer-mode for read/write data transfers, and control-xfer-mode
for command/register/configuration traffic. This selection is due to DMA
transfer's having a larger setup overhead so is less beneficial for
short control transfers.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-02-27 15:30:31 +01:00
Glenn Andrews
812933e7e9 w1: Adjustable baud rate for Overdrive mode
Modifies 1-wire serial driver to accept configurable baud rates for
Overdrive mode.

In testing with DS2488, which are Overdrive-only, it was found that
both the baud rate and zero bit pattern needed to be adjusted for
stability. This commit allows the user to define their own baud
rates for OD mode, and modifies the zero bit in OD mode.

It is assumed that most testing has been done with standard-speed
devices, so the timings and bit patterns have not been changed or
made user-modifiable.

Signed-off-by: Glenn Andrews <andrewsglenn@meta.com>
2026-02-27 15:30:18 +01:00
Chin-Yao Hung
29640a77c6 drivers: video: shell: fix incorrect endptr usage in strtoll
The current implementation of video_shell_set_ctrl() incorrectly
passes &arg_value as the endptr to strtoll(), while attempting
to validate the result using an uninitialized end_value pointer.
This causes the check (*end_value != '\0') to always trigger
shell_error.

Update the code to pass the address of end_value to strtoll()
correctly, ensuring it points to the first invalid character
within the input string for proper validation.

Signed-off-by: Chin-Yao Hung <cy.hung@guc-asic.com>
2026-02-27 15:30:02 +01:00
Yangbo Lu
823d0c89fe MAINTAINERS: add "Networking: Ethernet" section
Added new "Networking: Ethernet" section covering Ethernet
management in net subsystem.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2026-02-27 15:29:53 +01:00
Tomasz Moń
2bdfd14637 drivers: usb: buf: Do not add empty library
Change CMakeLists.txt to register Zephyr library only if respective
source code is compiled.

Fixes CMake Warning:
  No SOURCES given to Zephyr library: drivers__usb__common__buf

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2026-02-27 13:56:50 +01:00
Alberto Escolar Piedras
f7a9464e80 samples subsys mgmt/updatehub: Do not enable POSIX_API
This sample does not use or need this component.
Let's not enable it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
61e6c0b2a1 mgmt: updatehub: Use renamed network APIs
In
d45cd6716b
f27a26f9ec
the mayority of this code was changed to use the new native networking
API naming, but one macro was forgotten.

Let's change it now so this code builds also without
CONFIG_NET_NAMESPACE_COMPAT_MODE

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
b1cc5de32f samples: boards: nxp: Fix net API use
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
0003f896ae drivers: ethernet: Fix net API use
In e6daacf3c9 the mayority of the
ethernet drivers code was changed to use the Zephyr native net_
prefixed symbols, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
33f9074383 tests: net: pmtu: Enable NET_SHELL
Enable the NET_SHELL so something build tests the PMTU shell
when CONFIG_NET_PMTU is enabled.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
eed8d23140 net: shell: pmtu: Fix net API use
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
267e0be671 tests: net: lib: lwm2m/interop: Fix net API use
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE by default.
But when this is not set, things fail to build.
Let's rename it and ensure the compatibility option is disabled in the
test config.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
3b5deda0bd tests: net: socket: tls_ext: Fix net API use
In d45cd6716b part of this test was changed
to use the Zephyr native net_ prefixed types.
Let's change the rest, and stop enabling the POSIX_API so we test the
networking code without the CONFIG_NET_NAMESPACE_COMPAT_MODE and catch
issues.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
c5d6489bfb tests: net: socket/tls_configurations: Disable compat header
Disable the POSIX_API as this test does not need it,
and ensure we build without the networking compatibility header.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
d2c93d1189 tests: net: socket/tls_configurations: Fix net API use
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE indirectly by enabling POSIX_API.
But when this is not set, things fail to build.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
4e04b519d1 net: sockets: tls: Fix net API use
In d45cd6716b the mayority of this code
was changed to use the Zephyr native net_/zsock_ prefixed types/functions
but some were forgotten.
Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:24 +01:00
Alberto Escolar Piedras
9065525238 tests: drivers: build_all modem_esp_at: Test more of the driver
Enable CONFIG_NET_CONNECTION_MANAGER_CONNECTIVITY_WIFI_MGMT so
we also build test that part of the driver

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Alberto Escolar Piedras
5ba392e96e samples: modem: hello_hl78xx: Fix net API use
In f26880b213 the mayority
of the POSIX API and old networking API naming dependencies were
removed, but some remain.
Let's clean them up so this code builds without enabling
CONFIG_NET_NAMESPACE_COMPAT_MODE.
And let's disable this backwards compatibility option to ensure
use of these does not leak back.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Alberto Escolar Piedras
6272817c8e tests: drivers: build_all modem_hl7800: Test more of the driver
Also enable IPv6 so we also build test that part of the driver

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Alberto Escolar Piedras
e5fbc9c8bc tests: drivers: build_all: modem: Build without net compat header
Build these drivers build test without the net_compat header to ensure
they build without it, that is, that they do not use the non-native
names for the networking functions/types/macros.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Alberto Escolar Piedras
1098955dc5 tests: drivers: build_all: modem: Actually build ST87Mxx driver
The test was actually not building this driver.
Let's enable it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Alberto Escolar Piedras
e157ddb3d2 drivers: wifi: esp_at: Fix net API use
In 55c49cdb8f wifi
drivers were changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Alberto Escolar Piedras
c5f7d5d4f6 drivers: modem: hl78xx: Fix includes
Add missing includes and missing source macro definition to expose the
C library prototypes used by this code.

Background:
In general code which uses extensions to the C library (in this case
POSIX extensions) should set the appropriate macro so the C library
headers expose those. Instead of relaying on the C library always
exposing them or those macros being set from the cmake side.

Withtout these, one gets the following warnings when building with glibc:
`implicit declaration of function ‘strnlen’`
`implicit declaration of function ‘strtok_r’`
```
implicit declaration of function ‘snprintf’
note: include ‘<stdio.h>’ or provide a declaration of ‘snprintf’
implicit declaration of function ‘sscanf’
include ‘<stdio.h>’ or provide a declaration of ‘sscanf’
```

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Alberto Escolar Piedras
7149790b64 drivers: modem: hl78xx: Use native networking naming
Use the Zephyr prefixed naming when refering to the networking
functions, macros or types.
This ensures this code builds when
CONFIG_NET_NAMESPACE_COMPAT_MODE=n

This is a plain rename without function impact, that otherwise
is done thru macros given by net_compat.h

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Alberto Escolar Piedras
125d8900dd drivers: modem: st87mx: Use native networking naming
Use the Zephyr prefixed naming when refering to the networking
functions, macros or types.
This ensures this code builds when
CONFIG_NET_NAMESPACE_COMPAT_MODE=n

This is a plain rename without function impact, that otherwise
is that thru macros given by net_compat.h

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Stephan Linz
34c30fbf14 boards: shields: tcan4550evm: removes redundant properties and use macros
One status = "okay" entry was too much. Frequencies are now also specified
with the corresponding macros, as in other nodes.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-27 13:55:50 +01:00
Stephan Linz
e37b4c64d9 boards: shields: mcp2515: rearrange dts and use macros
Rearrange the devicetree overlays for the MCP2515 shields to better align
with node and property order used in the rest of the tree.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-27 13:55:31 +01:00
Stephan Linz
42140ecb9e boards: shields: mikroe_can_fd_6_click: rearrange dts and use macros
Rearrange the devicetree overlays for the MikroElektronika CAN FD 6
shield to better align with node and property order used in the rest
of the tree.

Use "can" as devicetree node name as recommended in the Devicetree
specification.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-27 13:55:19 +01:00
Sudan Landge
fe4383b842 drivers: intc_gicv3: avoid setting GICD_CTRL_NS
Arm documentation (ddi0601) for GICD_CTRL_DS is as follows:
```
If the Distributor only supports a single Security state, this bit is
RAO/WI.
```

Since CONFIG_GIC_SINGLE_SECURITY_STATE suggest GIC has single security
state, the DS bit should not be touched and the assert should be enough
to make sure that GICD_CTRL_NS (DS bit) is set to 1.

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/102239

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-02-27 13:55:08 +01:00
Appana Durga Kedareswara rao
b49ab134c2 boards: amd: versal2_apu: Add SMP board variant support
Add a new board variant versal2_apu/amd_versal2_apu/smp to support
Symmetric Multi-Processing (SMP) configuration for AMD Versal Gen2 APU.

This commit introduces:
 - SMP board variant with 2-core configuration (CONFIG_MP_MAX_NUM_CPUS=2)
 - PSCI support for CPU power management operations
 - ARM64 40-bit virtual and physical address space support
 - Non-secure world execution (EL1 NS) configuration
 - Compatible with Xilinx ARM Trusted Firmware boot flow

The SMP variant enables out-of-box multicore support for applications
that require parallel processing capabilities on the Versal Gen2 APU
platform.

Usage:
  west build -b versal2_apu/amd_versal2_apu/smp <application>

Boot Flow: Boot PDI -> TF-A -> Zephyr (SMP)

Files added:
 - boards/amd/versal2_apu/versal2_apu_amd_versal2_apu_smp.yaml
 - boards/amd/versal2_apu/versal2_apu_amd_versal2_apu_smp.dts
 - boards/amd/versal2_apu/versal2_apu_amd_versal2_apu_smp_defconfig

Files modified:
 - boards/amd/versal2_apu/board.yml (added smp variant)

Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
2026-02-27 13:54:57 +01:00
Appana Durga Kedareswara rao
e91fd282ac boards: amd: versal2_apu: Add TF-A support
Add support for compiling the versal2_apu board with Trusted
Firmware-A (TF-A).

This includes:
- Updated board.cmake to handle TF-A build integration
- CMakeLists.txt additions for TF-A-specific build steps
- Updated defconfig with TF-A options

The TF-A support enables secure boot and runtime services for
the AMD Versal2 APU platform.

Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
2026-02-27 13:54:57 +01:00
Zhaoxiang Jin
bb833c6331 samples: drivers: Enabled hwspinlock sample
1. Enabled hwspinlock sample, This sample demonstrate
cross-core synchronization using the HWSPINLOCK API
together with the MBOX API.

2. enabled hwspinlock sample for NXP frdm_mcxn947 and
mcx_n9xx_evk platform.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-02-27 11:51:20 +01:00