Commit graph

136,983 commits

Author SHA1 Message Date
Sylvio Alves
1863ac1ccb tests: drivers: i2s: rename board overlay to esp32c3_devkitc
Rename board files to match the updated board name, otherwise
the build fails.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-23 12:36:17 -05:00
Tom Burdick
30f559063b modules: hal_infineon: Map ASSERT Kconfig to PDL
The PDL has several ASSERT levels which can greatly increase footprint
when used. For example our clock drivers assert using float formatting
which means the large addition of float format functionality when
enabled.

Determine the PDL ASSERT level and enablement based on CONFIG_ASSERT.

Flash usage for hello_world shows about a 20% improvement.

hello_world on PSOC Edge 84 M33 with this and ASSERT=n ~37K
hello_world on PSOC Edge 84 M33 before this change and ASSERT=n ~44K

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-03-23 12:35:45 -05:00
Camille BAUD
41ed93e765 drivers: hwinfo: Fix BFLB MAC handling for BL70x/L, Add parity check
BL70x/L stores MAC differently. Also add parity check of the retrieved MAC.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-03-23 12:35:23 -05:00
Cheng-Yang Chou
10c974c9d5 kernel: futex: fix TOCTOU race in k_futex_wait
Move the futex value validation inside the spinlock critical section
in z_impl_k_futex_wait().

Previously, a time-of-check to time-of-use (TOCTOU) race condition
existed because the futex value was evaluated before acquiring
futex_data->lock. This created a vulnerability window:

    Thread A (waiter)                 Thread B (waker)
    ─────────────────────────         ────────────────────────
    atomic_get() == expected
                                      atomic_set(new_val)
                                      k_futex_wake() -> no waiters yet
    k_spin_lock()
    z_pend_curr()
    [waits forever, wake lost]

If the waker updates the futex value and signals between the waiter's
value check and lock acquisition, the wake signal is lost. This causes
the waiting thread to block indefinitely.

Holding the lock during the evaluation ensures the value check and the
subsequent wait-queue operations are atomic relative to concurrent
wakeups. A concurrent wake must now either complete before the waiter
acquires the lock (waiter sees the updated value and returns -EAGAIN)
or arrive after (waiter is safely in the wait queue and gets woken).

Signed-off-by: Cheng-Yang Chou <yphbchou0911@gmail.com>
2026-03-23 12:34:58 -05:00
Tim Pambor
06239709b6 soc: stm32: gpioport_mgr: introduce HSLV support
Add support for configuring the High-Speed Low-Voltage (HSLV) mode
in the GPIO port manager based on the DT configuration. This
enhancement allows for improved performance at lower voltages.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 12:34:36 -05:00
Tim Pambor
2664452112 dts: arm: st: stm32h5: change pinctrl binding
Use the new and appropriate "st,stm32h5-pinctrl" compatible for the pinctrl
in DTSI for STM32H5 series.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 12:34:36 -05:00
Tim Pambor
c8a7c4fb65 bindings: pinctrl: stm32: add binding for STM32H5 series pinctrl
Add a new binding for the pinctrl controller of STM32H5 series.

The specificity of this series is that the "High-Speed Low-Voltage" (HSLV)
feature is configured per pin. This feature allows to increase the maximum
speed of the IO pins at low voltage.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 12:34:36 -05:00
Sylvio Alves
248b8a7817 modules: hal_espressif: add Kconfig log level control
Add a Zephyr-side module directory for hal_espressif with
Kconfig symbols that control HAL log output at compile time:

- ESP_HAL_LOG_LEVEL: gates ESP_LOGx macros (printk backend)
- ESP_HAL_EARLY_LOG_LEVEL: gates ESP_EARLY_LOGx and
  ESP_DRAM_LOGx macros (esp_rom_printf backend)

The esp_log.h header itself lives in the HAL repository,
keeping all logging macro definitions in one place.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-23 12:33:48 -05:00
Emil Gydesen
f1fdf8344a tests: BSIM: Bluetooth: BAP: Verify contexts
Add validation of the available and supported contexts durings
discovery, as well as testing that both the server and client
correctly handles changes to the contexts during a connection.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-03-23 12:33:18 -05:00
Emil Gydesen
83ffe9c131 doc: releases: Add entry for bt_bap_unicast_client_cb.supported_contexts
Add entry for new callback

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-03-23 12:33:18 -05:00
Emil Gydesen
c1ff9a5346 tests: Bluetooth: BAP: UC: Add support for supported context
When supported contexts are read we print it.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-03-23 12:33:18 -05:00
Emil Gydesen
5784d9006f samples: Bluetooth: BAP UC: Add callback for supported contexts
Add callback for the supported contexts to print them when read.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-03-23 12:33:18 -05:00
Emil Gydesen
ec15acb69c Bluetooth: BAP: Add callback and subscribe of supported ctxs
The supported contexts were read but never provided to the
upper layers. Additionally if the supported contexts are
notifible we also subscribe to it.

This commit also fixed some other various things related
to the change to supported contexts.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-03-23 12:33:18 -05:00
Fabio Baltieri
d0067a18c9 shell: add missing dependency for KERNEL_THREAD_SHELL_UNWIND
The option needs a dependency to THREAD_MONITOR, fix a build breakage
with, for example:

west build -p -b nrf52dk/nrf52832 samples/subsys/shell/shell_module -- \
-DCONFIG_EXTRA_EXCEPTION_INFO=y -DCONFIG_THREAD_MONITOR=n

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-03-23 12:32:52 -05:00
Chaitanya Tata
449ad67f19 net: l2: wifi: Add band info to set channel
With 6GHz band, channel numbers are not unique anymore, channel 1 can
mean both 2.4GHz or 6GHz, so, take the band info as the argument from
the user.

Keep auto-detection for backwards compatibility sake.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Assisted-by: Cursor:Auto
2026-03-23 12:32:25 -05:00
Josuah Demangeon
a616fd5628 docs: migration-guide: 4.4: usb: add UVC function renaming
Add an entry for the new `uvc_device_...` functions.

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-03-23 12:31:57 -05:00
Josuah Demangeon
8d7bb597fc usb: uvc: use uvc_device_ in API and add _enable()/_shutdown()
Use a different API call to complete the function rather than
relying on USB .init() to terminate the configuration.
This allows to set the endpoint descriptors before usbd_init()
is called.

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-03-23 12:31:57 -05:00
Tim Pambor
571d7e2d28 tests: disk: disk_performance: add test for FTL disk using spi_nand flash
Add a test for the FTL disk driver using the spi_nand flash driver. This
test utilizes the frdm_mcxn947 board with the MikroE Flash 5 Click shield.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 12:31:30 -05:00
Tim Pambor
d2791709c6 tests: disk: disk_access: add test for FTL disk using spi_nand flash
Add a test for the FTL disk driver using the spi_nand flash driver. This
test utilizes the frdm_mcxn947 board with the MikroE Flash 5 Click shield.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 12:31:30 -05:00
Tim Pambor
59ca2288d5 flash: spi_nand: support bad block management
Add support for bad block management in SPI NAND flash devices.
This includes functions to check if a block is bad and to mark
a block as bad. The bad block marker is stored in the OOB area of
the first page of each block.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 12:31:30 -05:00
Tomasz Leman
465f488b6a logging: mtrace: Enable thread ID prefix support
Add support for the LOG_OUTPUT_FLAG_THREAD flag in the ADSP mtrace
backend's format_flags() function. When CONFIG_LOG_THREAD_ID_PREFIX is
enabled, this allows log messages to display the thread name or ID as a
prefix.

This enables displaying information about running threads and their
priorities, which can be useful debug information for analyzing system
behavior and thread execution patterns.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2026-03-23 12:31:00 -05:00
Tomasz Leman
4f7a485af7 logging: mtrace: Enable core ID prefix support
Add support for the LOG_OUTPUT_FLAG_CORE flag in the ADSP mtrace
backend's format_flags() function. When CONFIG_LOG_CORE_ID_PREFIX is
enabled, this allows log messages to display the originating CPU core ID
as a prefix.

This is particularly useful in multicore ADSP systems where deferred
logging may format messages on a different core than where they were
created. The core ID prefix helps identify which core generated each log
message.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2026-03-23 12:31:00 -05:00
Tomasz Leman
9940e1fa26 drivers: debug: Update log_output_process() calls for core_id parameter
Update all log_output_process() function calls in the nRF ETR debug
driver to include the new core_id parameter that was added to support
the CONFIG_LOG_CORE_ID_PREFIX feature.

The core_id parameter is set to 0 for all call sites in this driver
since core ID information is not available from the trace/log packets
being processed. This maintains backward compatibility while adapting to
the updated log_output_process() function signature.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2026-03-23 12:31:00 -05:00
Tomasz Leman
06a5c7db6e tests: logging: Update log_output_process() calls for core_id parameter
Update all log_output_process() function calls to include the new
core_id parameter that was added to support CONFIG_LOG_CORE_ID_PREFIX
feature.

The core_id parameter is set to 0 for these call sites since they don't
have core ID information available. This maintains backward
compatibility while adapting to the updated function signature.

Affected files:
- tests/subsys/logging/log_output/src/log_output_test.c
- tests/subsys/logging/log_output_net/src/log_output_test.c
- tests/subsys/logging/log_timestamp/src/log_timestamp_test.c

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2026-03-23 12:31:00 -05:00
Tomasz Leman
e254a97cf1 logging: add CONFIG_LOG_CORE_ID_PREFIX for multicore systems
Add support for displaying the CPU core ID that generated each log
message. This is particularly useful for debugging multicore embedded
systems where identifying the originating core is critical.

Key implementation details:
- Add CONFIG_LOG_CORE_ID_PREFIX Kconfig option (depends on SMP or
  MP_MAX_NUM_CPUS > 1)
- Capture arch_proc_id() at log message creation time to ensure the
  correct core ID is recorded, even when log processing happens on a
  different core
- Add core_id field to log_msg_hdr structure
- Add LOG_OUTPUT_FLAG_CORE flag (BIT 9)
- Display format: "[core %d]" prefix in log output
- Add log_msg_get_core_id() accessor function

The core ID is captured when the log message is created (not when
formatted), which is essential for deferred logging where the processing
thread may run on a different core than the one that generated the log.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2026-03-23 12:31:00 -05:00
Oleksii Moisieiev
9f37bb0059 devicetree: add macros for reg property iteration
Introduce DT_FOREACH_REG and DT_INST_FOREACH_REG macros to enable
iteration over reg entries in devicetree nodes by invoking a user-
supplied macro per entry. Add support for macros accepting a
separator and variadic arguments with the new DT_FOREACH_REG_SEP,
DT_FOREACH_REG_VARGS, and DT_FOREACH_REG_SEP_VARGS macros, as well
as their DT_INST_ variants.

The DT_FOREACH_REG macro mirrors the behavior of the ranges property.

Update the devicetree macro generation logic in gen_defines.py to
emit the new macro variants. Document the additions by expanding the
Augmented Backus-Naur Form grammar in macros.bnf. Add detailed
comments with usage examples and parameter details for all new macros.

Expand test coverage with new overlay nodes and dedicated tests to
verify macro correctness and behavior, across various node scenarios
including multi-register, single-register, and nodes lacking reg
properties.

Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
Signed-off-by: Svitlana Drozd <svitlana_drozd@epam.com>
2026-03-23 12:30:30 -05:00
Sudarshan Jagannathan
f4cad414ce drivers: flash: stm32: style guidelines compliance changes
Applying clang-format to changed files to ensure compliance
with Zephyr coding style guidelines.

Signed-off-by: Sudarshan Jagannathan <sudarshan.jagannathan@st.com>
2026-03-23 12:29:40 -05:00
Sudarshan Jagannathan
367a4b4619 drivers: flash: stm32: Add Kconfig to allow unaligned flash_write ops
Add Kconfig option to accept unaligned addresses and/or lengths for
flash_write for stm32 devices. Use with caution after understanding
target platform flash implementation details. Op may fault if used
without forethought

Signed-off-by: Sudarshan Jagannathan <sudarshan.jagannathan@st.com>
2026-03-23 12:29:40 -05:00
Ibrahim Abdalkader
637d51f2e8 drivers: wifi: esp_hosted: Add support for the latest firmware.
Add support for esp-hosted v1.0.0.0.0 firmware.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2026-03-23 12:28:29 -05:00
Ibrahim Abdalkader
0d4b8b081a drivers: wifi: esp_hosted: Add the latest protocol.
Rename legacy esp-hosted protobuf protocol file, and add the
latest protocol.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2026-03-23 12:28:29 -05:00
Tony Han
587c212277 subsys/mgmt: declare PROCESSOR_NAME for arm926ej-s
Add the declaration of PROCESSOR_NAME for arm926ej-s CPU.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
616e932648 dts: arm: microchip: sam9x7: add dtsi files for sam9x7 SoCs & SiPs
Add dtsi files for sam9x7 SoCs & SiPs.
URL for SiP (System-in-Package):
https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAM9X75-SIP-Series-Data-Sheet-DS60001827.pdf

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
1cf8895a7f dts: arm: add armv5.dtsi as the basic device tree for ARMv5 CPUs
Add dts/arm/armv5.dtsi file.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
bc3586a8c2 drivers: serial: mchp: add minimal drivers for G1 DBGU (Debug Unit)
Add uart driver with minimal features for DBGU for sam9x7 SOCs.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
8fb9647df4 dts: bindings: serial: add microchip,dbgu-g1-uart.yaml
Add dts/bindings/serial/microchip,dbgu-g1-uart.yaml file.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
4f5697c184 soc: microchip: sam: common: add routines for handling IRQ by AIC
Add routines for handling interrupt requests by calling the functions
in AIC driver.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
ac8a144019 drivers: interrupt-controller: mchp: add drivers for G1 AIC
Add drivers for Advanced Interrupt Controller (AIC).
Update Kconfig.mchp and CMakeList.txt accordingly.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
2b5ba6815d dts: bindings: interrupt-controller: add microchip,aic-g1-intc.yaml
Add dts/bindings/interrupt-controller/microchip,aic-g1-intc.yaml file.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
7cffa7d563 cmake: gcc-m-cpu: add compile option -mcpu=arm926ej-s for ARM926EJ-S
Add "-mcpu=arm926ej-s" to the compile option when building for
ARM926EJ-S CPUs.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
dc90a8d6af arch: arm: core: add Kconfig and CMakeLists.txt for ARM9 support
Add or update Kconfig and CMakeLists.txt files for supporting ARM9
CPUs (mainly focus on ARM926EJ-S).

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Łukasz Kędziora
492dc2f950 boards: arm: Add support for Synaptics SR100-RDK
This adds support for the SR100-RDK board.

Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-03-23 10:40:33 -04:00
Łukasz Kędziora
3c3a6f8d5a soc: Add support for Synaptics SR100
This adds the soc files for the Synaptics SR100 SoC.

Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2026-03-23 10:40:33 -04:00
Andreas Weissel
8c917f2931 drivers: reset: Add Synaptics SR100 reset driver
This adds the reset driver for Synaptics SR100-series SoCs.

Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-03-23 10:40:33 -04:00
Łukasz Kędziora
eaa564115e drivers: pinctrl: Add Synaptics pinctrl driver
This adds the pinctrl driver for Synaptics SR100-series SoCs.

Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-03-23 10:40:33 -04:00
Łukasz Kędziora
66241660de drivers: clock_control: Add Synaptics clock control driver
This adds the clock control driver for Synaptics SR100-series SoCs.

Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-03-23 10:40:33 -04:00
Andrzej Głąbek
db6409f473 sd: mmc: Respect host limits when changing bus frequency
Take into account the maximum frequency indicated in host capabilities
when changing the bus frequency, to avoid failing calls to sdhc_set_io()
when an MMC device is capable of working with higher frequencies than
the host can handle.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2026-03-23 10:40:22 -04:00
Emil Gydesen
9de88fa685 tests: BSIM: Bluetooth: TBS: Test GTBS for server_only
Update the tests to verify that all the local API functions
work as expected for both TBS (index 0) and GTBS.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-03-23 10:40:11 -04:00
Emil Gydesen
0962ac8759 Bluetooth: TBS: Make originate consistent between local and remote
If we get a remote request to originate a call via a control
point write, we lookup a TBS instance based on the URI.
However for the local API function bt_tbs_originate we did
not, so the same operation, if the target bearer was GTBS,
had different behavior depending on whether it was locally or
remotely invoked.

This commit makes the two behave the same.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-03-23 10:40:11 -04:00
Krzysztof Chruściński
4445ed64f4 drivers: mbox: nrf_vevif_event_rx: Fix handling of Errata 16
Handling of Errata 16 was failing if VPR triggered event when interrupt
on the application core are disabled. In that case an event is lost and
IPC communication fails. Improved workaround by enabling interrupts
during the initialization and store the information if interrupt got
triggered while event is disabled. Pending event is triggered after
enabling the event.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-03-23 10:39:49 -04:00
Raffael Rostagno
4011077e72 drivers: dma: esp32: PM support
Add Power Management support for GDMA driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-23 10:39:40 -04:00