Commit graph

126,787 commits

Author SHA1 Message Date
Pierrick Guillaume
ddc37792cb doc: peripherals: add hwspinlock documentation
Include doxygen documentation of hwspinlock in peripherals.

Signed-off-by: Pierrick Guillaume <pguillaume@fymyte.com>
2025-10-03 12:52:18 +03:00
Pierrick Guillaume
7678c85498 drivers: hwspinlock: update default init priority
HWSPINLOCK drivers should be initialized very early in the kernel life, so
they can be used by other drivers without breaking their init dependencies.
Use the default init priority (40), instead of default device init
priority (50).

Signed-off-by: Pierrick Guillaume <pguillaume@fymyte.com>
2025-10-03 12:52:18 +03:00
Pierrick Guillaume
176e2a424f drivers: hwspinlock: add zephyr spinlock per hwspinlock
HWSPINLOCK are used to protect accesses to shared resources between
clusters. However, we don't want to sleep or be preempted while holding
a HWSPINLOCK. This means we need to lock IRQs while holding the
HWSPINLOCK.
Moreover, in an SMP context, we need to protect accesses to a HWSPINLOCK
between cores, so it is not possible to lock or release the same
HWSPINLOCK multiple times.

Introduce a zephyr spinlock per HWSPINLOCK to counter those issues. User
facing APIs have been udpated to take into account those changes, and a new
hwspinlock_dt_spec struct has been added to align with other subsystem on
the management of complex device's data.

Take the opportunity to rename public APIs to match the naming scheme of
normal zephyr spinlocks:
hwspinlock_lock -> hw_spin_lock
hwspinlock_trylock -> hw_spin_trylock
hwspinlock_unlock -> hw_spin_unlock

Signed-off-by: Pierrick Guillaume <pguillaume@fymyte.com>
2025-10-03 12:52:18 +03:00
Pierrick Guillaume
36e5672ee6 devicetree: add hwspinlock helpers
Add helpers to access hwspinlock controller and id from a phandle array.

Signed-off-by: Pierrick Guillaume <pguillaume@fymyte.com>
2025-10-03 12:52:18 +03:00
Pierrick Guillaume
8f83b38b57 dts: bindings: add hwspinlock common bindings
Add general hwlocks and hwlock-names to base.yaml to be utilized by any
clients that uses hwspinlocks.

Additionally add hwspinlock-controller.yaml for common properties shared by
all hwspinlock controller devices.

Signed-off-by: Pierrick Guillaume <pguillaume@fymyte.com>
2025-10-03 12:52:18 +03:00
Pierrick Guillaume
403b4ef84b drivers: hwspinlock: remove syscall support
HW spinlocks are not supposed to be used by user application. They are used
to protect shared resources between clusters. Consumer of such spinlocks
should be other drivers in kernel space.
Moreover, syscalls were actually not generated properly because of
a missing call to zephyr_syscall_header() in CMakeLists.txt.

Signed-off-by: Pierrick Guillaume <pguillaume@fymyte.com>
2025-10-03 12:52:18 +03:00
Jamie McCrae
3cd292af8c west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  d5b0dcb9aaee397fc105ae2228e8030038c3d871

Brings following Zephyr relevant fixes:

  - d5b0dcb9 hooks: Use dedicated type for slot numbers
  - cf138a0f boot: zephyr: config: Introduce MCUBOOT_BOOT_MAX_ALIGN
    Kconfig symbol
  - 677f1602 boot: zephyr: boards: delete frdm_mcxa156 configuration
  - 3c8e5717 zephyr: nRF54L05 and L10 configuration with LTO enabled
  - 4ea993ce zephyr: Remove duplicate zephyr module line
  - 8d14eebf boot: bootutil: Fix upgrade only serial recovery slot
    info
  - 78f87cf3 boot: zephyr: boards config of the variant stm32 disco
    kit
  - cbd3310e boot: zephyr: get base addres from dts for flexspi
    devices
  - 425e22be boot/zephyr: fix compilation errors in logging.
  - ec26273f bootutil: fix null pointer dereference in logging.
  - 3eb23a5d zephyr: Kconfig to control MCUBOOT_USE_TLV_ALLOW_LIST
  - a13624f0 bootutil: Add MCUBOOT_USE_TLV_ALLOW_LIST
  - e375252c boot: Enable Encryption with PSA + ECDSA
  - 21ed226f boot: bootutil: Fix bootutil_find_key definition
  - 763be6a5 imgtool: Add sha512 to allowed configurations for
    ECDSA256P1
  - 59d2f7a5 imgtool: Add support for VID and CID
  - 94ad4d44 boot: Add VID and CID checks

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-10-03 12:52:07 +03:00
Pieter De Gendt
53b67d68c8 modules: mcuboot: Add Kconfig option for BOOT_MAX_ALIGN
Add a configuration option to override the default BOOT_MAX_ALIGN value in
mcuboot. It defaults to the chosen flash's write block size to make it
backwards compatible.

This can be used when image slots are on different flash devices.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-10-03 12:52:07 +03:00
Alvis Sun
6664958107 drivers: flash: npcx: support GDMA operation for NPCXn and NPCKn
1. Introduced GDMA support for efficient data transfer in the
NPCX FIU QSPI driver.
2. Refactor flash driver mutex handling to enhance concurrency safety,
preventing other threads from preempting erase/write operations during
UMA until mutex release.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2025-10-03 12:51:55 +03:00
Alvis Sun
c6b2d00386 boards: nuvoton: npck3m8k_evb: remove QSPI flash configuration
As title.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-10-03 12:51:55 +03:00
Alvis Sun
3cb6ff559a dts: nuvoton: npcx: add support for GDMA and driver enable options
1. Introduces boolean properties to enable support for different
versions of the FIU/Nor flash driver.
2. Add dmas phandle for DMA configuration.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-10-03 12:51:55 +03:00
Alvis Sun
97d8aa307c soc: npcx: update npck register structure checks for consistency
As title.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-10-03 12:51:55 +03:00
Emil Gydesen
f0c6168e54 tests: Bluetooth: CAP: Update unicast audio start unittests
Update the CAP initiator audio start unittest.
The reason for this, is that the recent change to endpoints
means that we need to properly generate a BAP unicast group
and call bt_bap_stream_config, instead of trying to manage
the bap_iso values directly.

As part of updating this, the tests were also updated to
significantly reduce code duplication, but generating
a default start param that can easily be reused.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-10-03 12:51:45 +03:00
Emil Gydesen
5d8170bba8 Bluetooth: BAP: Add conn check assert in bt_bap_iso_bind_ep
Adds assert for bt_bap_iso_bind_ep to ensure that endpoints
from different connection don't share a CIS (a bt_bap_iso).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-10-03 12:51:45 +03:00
Emil Gydesen
1dc98dd932 Bluetooth: BAP: Add check to verify that eps have correct iso
Add a check that verifies that 2 endpoints from different
connection don't share a CIS, which would be invalid.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-10-03 12:51:45 +03:00
Emil Gydesen
4f2ef519b6 Bluetooth: BAP: UC: Move iso_bind_ep to config instead of QoS
We can actually already when we bind the endpoint to the stream
perform the call to bt_bap_iso_bind_ep, if the stream has been
added to a group.

If the stream has not yet been added to a group, then when
the stream is added to a group, then bt_bap_iso_bind_ep will
be done there (existing behavior).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-10-03 12:51:45 +03:00
Quang Le
50eb0fb847 drivers: gpio: renesas: Fix fail case pin_get_config
Add condition to check whether the pin is set as output before
reading the output high or low for gpio driver of Renesas RZ

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-10-03 12:51:33 +03:00
Hou Zhiqiang
03897f8bd5 boards: nxp: add imx91_qsb support
The i.MX 91 Quick Start Board (MCIMX91-QSB board) is a platform designed
to display the most commonly used features of the i.MX 91 applications
processor. The MCIMX91-QSB board is an entry-level development board
with a small and low-cost package. The board can be used by developers
to get familiar with the processor before investing a large amount of
resources in more specific designs.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Change imx9111 and imx9131 use separate dts as they has different pin
configure.
Signed-off-by: Jiafei Pan <jiafei.pan@nxp.com>
2025-10-03 12:51:13 +03:00
Hou Zhiqiang
a3e9b59139 drivers: pinctrl_imx: add mimx9111 support
Add pinctrl driver support for MIMX9111.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Jiafei Pan <jiafei.pan@nxp.com>
2025-10-03 12:51:13 +03:00
Hou Zhiqiang
d84317fe61 drivers: clock: ccm_rev2: add mimx9111 support
Add clock driver support for MIMX9111.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Jiafei Pan <jiafei.pan@nxp.com>
2025-10-03 12:51:13 +03:00
Hou Zhiqiang
531ea300c8 soc: nxp: imx91: add MIMX9111 support
Add SoC MIMX9111 support.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Jiafei Pan <jiafei.pan@nxp.com>
2025-10-03 12:51:13 +03:00
Jiafei Pan
801690d52b west.yml: depends on hal_nxp PR
Depends on hal_nxp PR #610.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-10-03 12:51:13 +03:00
Torsten Rasmussen
b88e615339 sysbuild: support application CMakePresets.json files with sysbuild
This commit provides a CMakePresets.json which includes the sample's
CMakePresets.json file.

`west build` is extended to set `APP_DIR` in environment when sysbuild
is used. This allows sysbuild's CMakePresets.json to include the
sample's presets file.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-10-03 12:51:01 +03:00
Etienne Carriere
98c92d3234 soc: st: stm32u0: enable flash instruction cache
Enable flash instruction cache on U0 SoCs.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-03 12:50:47 +03:00
Etienne Carriere
b56487892d soc: st: stm32: use CONFIG_STM32_FLASH_PREFETCH where applicable
Use CONFIG_STM32_FLASH_PREFETCH config option to enable flash prefetch
in C0/F0/F1/F2/F3/F4/F7/G4/L0/L1/L4/U0/U3/WB/WBA/WBL for consistency
with other SoCs that use this configuration switch, default enabled
at SoC default config level.

Add SoC hidden config option HAS_STM32_FLASH_PREFETCH enabled for
SoCs that support the feature. STM32_FLASH_PREFETCH is default
enabled for all SoC that have HAS_STM32_FLASH_PREFETCH unless target
specific constraints (as for G0Bx/G0Cx SoCs).

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-03 12:50:47 +03:00
Etienne Carriere
7c47bc9320 soc: st: stm32u3: add flash prefetch
Implement flash prefetch for STM32U3xx SoCs.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-03 12:50:47 +03:00
cyliang tw
e29c4143bb drivers: rtc: modify Nuvoton numaker driver for compatibility
For compatibility, do not use spare registers to store mask data.
RTC mask data can be generated through the calendar and time mask
registers at runtime.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-10-03 12:50:36 +03:00
Bartlomiej Buczek
cbe94caa77 scripts: twister: coverage: do not fail when suspicious_hits are detected.
gcovr 8.0 introduces suspicious_hits detection, warn on such detection, but
do not stop coverage calculation at all.

Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
2025-10-03 12:50:24 +03:00
Pete Johanson
b7a73142a3 manifest: Move to latest hal_adi
Move to the latest commit of the hal_adi, using the new msdk-export branch
with a clean commit history.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2025-10-03 12:50:10 +03:00
Jordan Yates
b5177b159a modem: modem_cellular: assert reset pin for duration
Assert the reset pin for the duration specified by the modem
(`reset_pulse_duration_ms`) when booting, instead of immediately
de-asserting the pin.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-10-03 12:49:47 +03:00
Jordan Yates
54088f69c3 modem: modem_cellular: prioritise reset pin on failure
Prioritise asserting the reset pin when a script fails instead of the
power pin, as the reset pin is a "harder" reset mechanism.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-10-03 12:49:47 +03:00
Jordan Yates
131bec5b1b modem: modem_cellular: delay after reset de-assert
Add a delay after de-asserting the reset pin before pulsing the power on
pin, if both are enabled.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-10-03 12:49:47 +03:00
Jordan Yates
0ba20dd96c modem: modem_cellular: revert baudrate on reset
Revert the UART port baudrate to its original value after performing a
pin reset on the modem.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-10-03 12:49:37 +03:00
Torsten Rasmussen
e662d77bf1 cmake: add net_socket_service_desc to common-rom.cmake
Commit eff5d02872 added
`net_socket_service_desc` to common-rom ld snippet but not to common-rom
CMake linker generator equivalent.

Bring common-rom.cmake up-to-date to ensure `net_socket_service_desc`
works correctly with the linker generator.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-10-03 12:49:25 +03:00
Erwan Gouriou
c0c3feeb25 boards: st: stm32n6 boards: Add netif:eth twister support
Twister netif:eth was missing on stm32n6 based board and hence they
were not build against net samples.
Fix this.

Additionally, on dk, fix `pwm` to respect alphabetical order.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-10-03 12:49:14 +03:00
Erwan Gouriou
47ed50c31c drivers: ethernet: stm32n6: Use zephyr symbol for alignment attribute
Rather than symbol coming from the HAL, use zephyr `__aligned()` macro.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-10-03 12:49:14 +03:00
Erwan Gouriou
36192a4053 drivers: ethernet: stm32n6: Remove attributes from extern definitions
Compilers may not like that attributes are provides in actual and extern
definitions of symbols.
Removing them from extern definitions

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-10-03 12:49:14 +03:00
Erwan Gouriou
4a875c0b39 drivers: ethernet: stm32n6: Fix phy modes declarations
Phy modes declarations where not correctly placed for use with N6 series.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-10-03 12:49:14 +03:00
Alain Volmat
727c15a038 doc: release notes: add LVGL zephyr regions options
Add description of new LVGL Kconfig options to specify the
zephyr regions used by LVGL.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-02 22:01:39 +02:00
Benjamin Cabé
febf4e8e53 shell: fix app version sub commands
commands should not have spaces around hyphens:
version - extended --> version-extended
build - version --> build-version

Fixes: zephyrproject-rtos/zephyr#96591

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-02 22:00:11 +02:00
Alberto Escolar Piedras
896bdce53a subsys/tracing/tracing_backend_posix: Set file to be closed on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set when opening them.
This is usefull for stdin/out/err so that new process is connected to
them, but it is very rare for it to be usefull for any other descriptor.

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from getting them (for example
if the child survives the parent but it does something else).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Note glibc fopen supports the "e" modifier as an extension to pass
O_CLOEXEC to the open syscall.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
d83ebce959 drivers/serial/uart_native_tty: Set TTY to be closed on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set when opening them.
This is usefull for stdin/out/err so that new process is connected to
them, but it is very rare for it to be usefull for any other descriptor.

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from getting them (for example
if the child survives the parent but it does something else).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
07987cc539 drivers/serial/uart_native_pty: Set PTY to be closed on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set when opening them.
This is usefull for stdin/out/err so that new process is connected to
them, but it is very rare for it to be usefull for any other descriptor.

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from getting them (for example
if the child survives the parent but it does something else).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
b850715a29 drivers/net/nsos: Set socket to be closed on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set when opening them.
This is usefull for stdin/out/err so that new process is connected to
them, but it is very rare for it to be usefull for any other descriptor.

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from getting them (for example
if the child survives the parent but it does something else).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
19b181e58e drivers/input/linux_evdev: Close input file on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set when opening them.
This is usefull for stdin/out/err so that new process is connected to
them, but it is very rare for it to be usefull for any other descriptor.

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from getting them (for example
if the child survives the parent but it does something else).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
e5d6e0ce24 drivers flash_simulator_native: Set flash file to close on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set when opening them.
This is usefull for stdin/out/err so that new process is connected to
them, but it is very rare for it to be usefull for any other descriptor.

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from getting them (for example
if the child survives the parent but it does something else).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
9f00584eab drivers eth_native_tap: Set socket to be closed on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set when opening them.
This is usefull for stdin/out/err so that new process is connected to
them, but it is very rare for it to be usefull for any other descriptor.

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from getting them (for example
if the child survives the parent but it does something else).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
d91565cd3a drivers eeprom_simulator_native: Set EEPROM file to close on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set when opening them.
This is usefull for stdin/out/err so that new process is connected to
them, but it is very rare for it to be usefull for any other descriptor.

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from getting them (for example
if the child survives the parent but it does something else).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
01118e2657 drivers can_native_linux: Set socket to be closed on exec
If the process does an exec() (or fork, or..) all descriptors are kept
open by default, unless O_CLOEXEC is set for them.
(This default behaviour is usefull for stdin/out/err so that new process
is kept connected to them, but it is very rare for it to be usefull for
any other descriptor)

In general this leads to descriptors being kept open unnecessarily,
which either will block other process from using them (for example
if the child survives the parent but it does something else while keeping
a port open).
Or for a "leak" which unnecessarily uses descriptors and memory in the
child process.

Let's ensure we do not leak it for this component as we do not need it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00
Alberto Escolar Piedras
a8f10c9390 docs native_sim: Fix drivers table entry for hwinfo
A column was missing

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-02 22:00:02 +02:00