Commit graph

136,983 commits

Author SHA1 Message Date
Pieter De Gendt
19335b22c5 drivers: rtc: Use DEVICE_API macro
Put RTC device driver APIs into corresponding iterable section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-04-02 08:47:22 -05:00
Pieter De Gendt
c7dc4281af drivers: flash: Use DEVICE_API macro
Put flash device driver APIs into corresponding iterable section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-04-02 08:47:22 -05:00
Pieter De Gendt
793614dbf9 drivers: crypto: Use DEVICE_API macro
Put crypto device driver APIs into corresponding iterable section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-04-02 08:47:22 -05:00
Pieter De Gendt
6620d37769 drivers: clock_control: Use DEVICE_API macro
Put clock control device driver APIs into corresponding iterable section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-04-02 08:47:22 -05:00
Pieter De Gendt
9b3a60b5b3 drivers: bluetooth: hci: Use DEVICE_API macro
Put BT_HCI device driver APIs into corresponding iterable section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-04-02 08:47:22 -05:00
Pieter De Gendt
acf7dd4847 drivers: adc: Use DEVICE_API macro
Put ADC device driver APIs into corresponding iterable section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-04-02 08:47:22 -05:00
Zhiyuan Tang
56db42dc7e soc: realtek: bee: conditionally init BT controller
Wrap BT controller initialization with CONFIG_BT to prevent its
background thread from starting in non-Bluetooth applications.
This avoids unexpected preemption that causes kernel scheduler tests
like `priority_preemptible_wait_prio` to fail.

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-04-02 08:46:29 -05:00
Łukasz Fundakowski
e3c03691a7 twister: minor improvement for sys.path
Moved all `sys.path.insert` from twister's modules
to `twisterlib.__init__.py` to have only one place where all paths
are added.

Signed-off-by: Łukasz Fundakowski <lukasz.fundakowski@nordicsemi.no>
2026-04-02 08:45:58 -05:00
David Jewsbury
171b1adc76 soc: nordic: nrf71: Update NUM_IRQs for RISC-V core
Setting NUM_IRQS on RISC-V core to only the IRQ's used (up to GPIOTE30_1)
where VREGUSB, LFXO, LFRC, HFXO64M, AUXPLL interrupts aren't
used in drivers.

This is because on RISC-V with CONFIG_RISCV_GP, the linker may relax
accesses to some globals into gp-relative instructions; the offset from
__global_pointer$ to each such symbol must fit in a 12-bit signed range
(+/-2 KiB). _sw_isr_table in RAM is NUM_IRQS × 8 bytes and sits between
small data and much of .bss, so a smaller NUM_IRQS shortens that gap
and can keep symbols such as _kernel within gp-relative range, avoiding
R_RISCV_GPREL_I relocation truncation at link time.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-04-02 08:45:34 -05:00
Bhavin Umatiya
df1d9dbe53 doc: ieee802154: add exhaustive in-tree radio drivers overview
Add a new 'Supported Drivers' section to the IEEE 802.15.4
documentation listing all in-tree radio drivers with their vendor,
frequency band, bus interface, and Kconfig option.

The table covers all 14 drivers currently present in
drivers/ieee802154/CMakeLists.txt:
- TI: CC1200, CC13xx/CC26xx (2.4 GHz and Sub-GHz), CC2520
- Decawave (Qorvo): DW1000
- Espressif: ESP32
- NXP: KW41Z, MCR20A, MCXW
- Nordic Semiconductor: nRF5
- Atmel (Microchip): RF2XX
- STMicroelectronics: STM32WBA
- Telink Semiconductor: B91
- Virtual: UART Pipe (QEMU)

Fixes: #25663

Signed-off-by: Bhavin Umatiya <umatiyabhavin@gmail.com>
2026-04-02 08:44:45 -05:00
Amneesh Singh
18c008af08 soc: ti: k3: am6x: prevent control module warning
Prevent unused function warning that comes from having a control module
node but no ti,unlock-offsets property. Do this by checking for the
aforementioned property alongside already present compat string.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-04-02 08:44:04 -05:00
Benjamin Cabé
09136665f9 doc: releases: drop new driver mentions appearing in the wrong section
Drop a few mentions to new drivers appearing in an inappropriate section.
There is a dedicated "New Drivers" section for new drivers :)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-02 08:43:10 -05:00
Benjamin Cabé
c9d4e4edf5 doc: releases: update list of boards/shields/samples/bindings added in 4.4
This commit updates the list of boards, shields, samples, and bindings
added in Zephyr 4.4, aiming for completeness now that project has entered
the feature freeze phase.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-02 08:43:10 -05:00
Krzysztof Chruściński
e3dde01027 tests: drivers: uart: async_api: Improve variable buffer length test
Test was skipped if baudrate was too high. Test can actually
reconfigure the DUT device to use lower baudrate and run the test.
Initial baudrate is restored once test is completed.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-04-02 08:42:54 -05:00
Krzysztof Chruściński
c8fec1bdf0 tests: drivers: uart: async_api: Extend to test various data bits
Extend the most basic test (single read) to check supported data
bits sizes (5-8 bits). If driver does not support given configuration
then test is skipped.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-04-02 08:42:54 -05:00
Mohit Talwar
383b1a5349 drivers: flash: mcux: clear caches after erase and write on Kinetis
Kinetis ke1xf (twr_ke18f/mke18f16) and k8x (frdm_k82f) select
CONFIG_HAS_MCUX_CACHE but previously fell through to the no-op
clear_flash_caches() path, meaning caches were not invalidated
after flash erase or write operations.

After the FTFE controller completes an erase or write, stale data
may remain in the instruction cache and (on some parts) the system
bus cache. Subsequent reads can return outdated values instead of
updated flash contents. This causes test_flash_erase,
test_flash_fill, and test_flash_flatten in
tests/drivers/flash/common to fail, with data read back as stale
values (e.g. 0xAA from a prior fill).

Rebased on top of #105918 and updated to use Zephyr's generic cache
API (sys_cache_instr_invd_all() / sys_cache_data_invd_all()) for
cache invalidation. This keeps the flash driver SoC-agnostic and
relies on the cache driver (e.g. LMEM) for hardware-specific
handling.

Fixes #98487

Signed-off-by: Mohit Talwar <talwarmohit2005@gmail.com>
2026-04-02 08:42:14 -05:00
Maochen Wang
54ee8ecb10 manifest: update hal_nxp to remove legacy mbedtls user config
Using the legacy mbedTLS user configuration file with mbedTLS 4.x
causes build failures due to removed legacy macros and incompatible
PSA configurations.
Remove the obsolete user config files and migrate the required
configuration to Zephyr Kconfig instead. This aligns with the
mbedTLS 4.x integration model, simplifies maintenance, and improves
debuggability.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2026-04-01 15:13:24 -05:00
Maochen Wang
07a01f8990 hostap: add mbedTLS and PSA dependencies for enterprise and DPP
Add missing mbedTLS and PSA configuration dependencies required by
wpa_supplicant enterprise, DPP and TLS 1.3 support.
This ensures that the enabled crypto features select the necessary
mbedTLS legacy and PSA components, such as CTR_DRBG, ECDHE-ECDSA,
extended master secret, RSA-PSS certificate verification, and required
ECC optimizations.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2026-04-01 15:13:24 -05:00
Maochen Wang
8682c126bd mbedtls: add Kconfig option for RSA-PSS X.509 signature verification
Add a new Kconfig option, MBEDTLS_X509_RSASSA_PSS_SUPPORT, to explicitly
enable verification of X.509 certificates signed using the RSASSA-PSS
(RSA-PSS) signature algorithm.
This allows Zephyr to support modern TLS 1.2 and TLS 1.3 deployments
that rely on RSA-PSS signed certificate chains, while keeping the
feature configurable through Kconfig instead of hard-coding it in
mbedTLS configuration headers.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2026-04-01 15:13:24 -05:00
Maochen Wang
edfe54e70c samples: net: wifi: nxp: enable mbedTLS debug in hostap debug overlay
Turn on CONFIG_MBEDTLS_DEBUG in the NXP hostap debug overlay to aid
TLS and EAP authentication debugging during development.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2026-04-01 15:13:24 -05:00
Maochen Wang
ae6aaadcd0 samples: net: wifi: nxp: drop mbedtls user config from hostap overlays
The legacy mbedTLS user config mechanism is not compatible with
mbedTLS 4.x and causes build failures.
Remove CONFIG_MBEDTLS_USER_CONFIG_* from the NXP hostap sample overlays
and rely on Zephyr Kconfig for mbedTLS configuration.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2026-04-01 15:13:24 -05:00
Szymon Janc
58e7e432a2 tests: bluetooth: host: Add bt_addr_le_create_nrpa to ID mocks
This is now required for bluetooth/host/id.c compilation.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2026-04-01 15:12:17 -05:00
Artur Dobrynin
5df05d660a bluetooth: host: update NRPA bit doc
NRPA is no longer limited to BT_PRIVACY being off,
which is now reflected in doc.

Signed-off-by: Artur Dobrynin <artur.dobrynin@nordicsemi.no>
2026-04-01 15:12:17 -05:00
Artur Dobrynin
976cb70a54 tests: bluetooth: tester: support NRPA
Adding support for setting of NRPA.

Signed-off-by: Artur Dobrynin <artur.dobrynin@nordicsemi.no>
2026-04-01 15:12:17 -05:00
Artur Dobrynin
eeef8ad2b1 Bluetooth: Host: rotate NRPA
NRPA should be rotated every TGAP(private_addr_int)
according to spec, which is also checked in PTS.

Signed-off-by: Artur Dobrynin <artur.dobrynin@nordicsemi.no>
2026-04-01 15:12:17 -05:00
Holt Sun
81753e71cc soc: nxp: imxrt: enable LMEM cache on RT11xx CM4
RT1166 and RT1176 CM4 parts use the MCUX LMEM cache block
and expose both code and system-bus cache in their HAL
feature headers.

Select the LMEM cache driver path, advertise both ICACHE
and DCACHE, and default these CM4 builds to
CACHE_MANAGEMENT with the external cache driver.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-04-01 15:11:35 -05:00
Holt Sun
3227ac7d55 arch: arm: mpu: fix non-ARCH cache cleanup
The generic ARM MPU nocache-memory cleanup path assumes Cortex-M
SCB dcache support whenever it needs to clean and invalidate
cache state before programming MPU regions.

That is correct for integrated ARCH_CACHE systems, but not for
cache backends such as NXP LMEM on RT11xx CM4 targets. Those
targets can select CPU_HAS_DCACHE and NOCACHE_MEMORY while using
a non-ARCH cache backend, which makes the direct SCB dcache
symbols unavailable and breaks builds in z_arm_mpu_init().

Keep the direct CMSIS SCB_CleanInvalidateDCache() call under the
ARCH_CACHE guard — since we already test SCB->CCR the integrated
cache controller is known to be present — and use the generic
cache API for other cache backends.  This preserves the existing
integrated-cache behavior while allowing non-ARCH cache backends
to participate in the same MPU cleanup path.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-04-01 15:11:35 -05:00
Holt Sun
1cabbd3bdd drivers: cache: lmem: check cache enable state
LMEM cache maintenance helpers can be called before the
underlying code or system cache has been enabled.

This becomes visible on RT11xx CM4 targets once the generic ARM MPU
nocache-memory cleanup path uses the generic cache API for non-ARCH
cache backends during early boot. In that case, LMEM maintenance
requests must not blindly access the hardware while ENCACHE is clear.

Check the corresponding LMEM enable bit before performing code or
system cache maintenance. Return -EAGAIN when the selected cache is
currently disabled, and keep disable requests as a no-op when the
cache is already off.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-04-01 15:11:35 -05:00
Qiang Zhang
8c1366450d MAINTAINERS: add mcuxted as collaborator for DMA and Input
Add myslef as a collaborator for the DMA subsystems.

Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
2026-04-01 15:08:47 -05:00
Pieter De Gendt
67af7d2366 scripts: ci: check_compliance.py: Add check for DEVICE_API usage
Add a compliance test for device driver APIs to make sure API
<class>_driver_api struct variables are put in the corresponding linker
section using the DEVICE_API macro.

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-04-01 15:08:09 -05:00
Jiafei Pan
713d59b8c0 boards: nxp: specify flash.bin as testing binary for imx9 boards
Specify testing binary to be flash.bin for twister testing when using SPSDK
runner.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-04-01 11:55:39 -05:00
Benjamin Gwin
28b8e6e875 drivers: udc_dwc2: Fix missing break statement
This code would fail to compile if compiled with
`-Werror=implicit-fallthrough=`. The fallthrough does not seem to be
intentional as it is handling 2 discrete events.

Signed-off-by: Benjamin Gwin <bgwin@google.com>
2026-04-01 11:55:18 -05:00
Laura Carlesso
e23a7a0190 soc: infineon: edge: pse84: Clean up the init process on cm33/ns
This commit introduces 2 changes:
- cleans up the mpu initialziation, the old function is not
required because the initialziation is done properly via
mpu_regions.c for all cores
- defaults to using SystemCoreClockSetup instead of
SystemCoreClockUpdate because the former takes the
input from DT whereas the latter would read the info
from the HF clocks which in case of TF-M are secured
and not directly accessible from the cm33/ns (if SRF is
not set up)

Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
2026-04-01 11:54:51 -05:00
Laura Carlesso
5b4c3e01ce modules: hal_infineon: mtb-templates: Use correct startup files
Now that cm33/ns support has been introduced, we have
to properly use the secure or non secure start up code from
the mtb-templates files for cm33.

Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
2026-04-01 11:54:51 -05:00
Laura Carlesso
7da6bc5dc5 boards: infineon: pse84: Default TF-M to silent logs
In TF-M the SCB used for logging on the pse84 board
is marked as non secure, therefore we have to update
the default config for tf-m to not attempt to print any
logs otherwise the tf-m (which is secure) will fault
trying to access a non-secure resource.

Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
2026-04-01 11:54:51 -05:00
Benjamin Cabé
359fb5df32 samples: cpu_freq: pressure: improve README content
The README of this code sample was really minimal and not giving justice
to the functionality nor making it easy for folks to try it out.

Assisted-by: Copilot:claude-opus-4.6
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-01 11:54:24 -05:00
Nikhil Namjoshi
3bf912faff doc: Add info on net_pkt thread safety
At the moment, the documentation is not explicitly clear
on the thread safety of the net packets. So we need to make
it clear that the packet handling will always be done by
a single thread.

Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
2026-04-01 11:54:09 -05:00
Benjamin Cabé
09a1273cba scripts: dashboard: drop monkey-patching of pygments devicetree lexer
Latest pygments release ships with the fix that this commit can now
safely drop.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-01 11:53:29 -05:00
Benjamin Cabé
a40896a8be doc: requirements: refresh pinned requirements.txt to get latest pygments
Pygments latest release ships with multiple fixes in the Devicetree lexer
that we want to be able to use.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-01 11:53:29 -05:00
Zafer SEN
54de0d3d0f lwm2m: connmon: add Link Utilization resource support
Introduce the CONNMON_LINK_UTILIZATION resource to the Connection
Monitoring object. Add backing storage, initialize it during instance
creation, and register it in the resource table.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-04-01 11:52:48 -05:00
Mathieu Choplain
233681da20 soc: st: stm32: l5: delete unused Kconfig.defconfig.<soc> files
71aa3be37b removed the directive which used
to source these files but forgot to delete them - do so now.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-04-01 11:52:04 -05:00
Benjamin Cabé
02aac11f27 boards: m5stack: fix M5Stack Core2 display pixel format
Somewhere between v4.2.0 and v4.3.0, color rendering broke on this
board (bisecting leads to d0f7604b1a).

This fixes things, tested on display sample and lvgl demo.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-01 11:51:37 -05:00
Nick Stoughton
12ba507599 drivers: serial: nrfx_uarte: remove unused variable
Removes compiler warning if `CONFIG_UART_USE_RUNTIME_CONFIGURE` is not
defined.

Signed-off-by: Nick Stoughton <nick.stoughton@eargo.com>
2026-04-01 11:51:24 -05:00
Fabian Blatz
b7cb99ba94 include: drivers: counter: document counter driver ops using Doxygen
Use doxygen driver_ops commands to document counter driver operations and
mark required versus optional callbacks based on API usage.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Co-authored-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-01 11:50:54 -05:00
James Bennion-Pedley
278f199825 docs: migration: add note for renamed WCH SOC family
Adds note for unified renaming in CH32 series

Signed-off-by: James Bennion-Pedley <james@bojit.org>
2026-04-01 11:50:22 -05:00
Fabio Baltieri
a258a4b017 auxdisplay: gpio-7seg: fix display glitch
The current code resets the refresh_pos pointer on write, but does not
clear the corresponding digit drive pin. This means that the next timer
iteration is going to set the gpio for digit 0, but any other digit may
still be selected, which would cause a glitch on that digit for the
cycle.

There's no real need to reset this pointer on write though so just drop
the line, then the timer refresh just catches up to the new string and
the display is stable.

Also drop the reset line from the clear function as it does not make
much sense there either, but reset on timer end so that the next cycle
starts from the first digit.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-04-01 11:50:08 -05:00
Trond F. Christiansen
58a8c2793b doc: releases: Add release notes for Zbus proxy agent to 4.4
Added release notes for the Zbus proxy agent to the 4.4 release notes.

Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>
2026-04-01 11:49:39 -05:00
Trond F. Christiansen
154d254a62 samples: zbus: proxy_agent_ipc: Fix nrf54 builds
- Fixes the build configuration in sample.yaml for the zbus proxy agent
  IPC sample, making the snippet be applied correctly to the intended
  image.
- Moves the SOC-specific Kconfig option to board-specific Kconfig file
  instead of passing it as an extra argument in the sample.yaml

Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>
2026-04-01 11:49:39 -05:00
Trond F. Christiansen
7b03b0d3fa tests: zbus: add multidomain proxy agent test suite
Add test suite for the zbus multidomain proxy agent
implementation.
adds a mock backend to enable isolated testing without requiring
actual hardware.

Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>
2026-04-01 11:49:39 -05:00
Trond F. Christiansen
3aa3b96a93 zbus: proxy agent: Remove unused code
Remove unused code related to zbus_proxy_agent_backend_desc and run-time
backend registration left over from early development.

Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>
2026-04-01 11:49:39 -05:00