Commit graph

136,983 commits

Author SHA1 Message Date
Ofir Shemesh
399ceea11c serial: mcux_lpuart: clear RX DMA buffer pointer on disable
Clear rx_dma_params.buf to NULL in mcux_lpuart_rx_disable() after
releasing all buffers. Without this, the stale pointer remains set
after RX teardown, which can cause subsequent checks against buf
to incorrectly assume RX is still active.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2026-03-20 13:31:47 +09:00
Pieter De Gendt
e6ed4c3c78 nvmem: Add read/write helper functions for little/big endian values
Add static inline helper functions for reading or writing primitive values
from or to NVMEM cells.

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-03-20 13:31:30 +09:00
Raluca Bozdog
5f56f7273b boards: adi: apard32690: Add AD-APARD32690-SL revE support
Changes .dts file of APARD32690 to only include generic definitions.
Creates revD and revE overlay files.

Previous apard32690_max32690_m4.dts correctly described revD.
revE and revD have swapped functionalities for SPI3 and SPI4.
As SPI4 had the label "pmod_spi" assigned in revD, this label
needs to go to SPI3 in revE. If the goal was to keep the dts
file unchanged, this would imply deleting the SPI4 node and
recreating it in the revE overlay. Thus it was considered
better to only keep the revision-agnostic nodes in the dts
and create separate revD and revE overlays for the two nodes
with swapped functionalities.

Signed-off-by: Raluca Bozdog <raluca.bozdog@analog.com>
2026-03-20 13:31:10 +09:00
Jianchao Wang
258d0c82d9 boards: imx95_evk: add flexcan support
Enabled flexcan2 on NXP imx95_evk board.

Signed-off-by: Jianchao Wang <Jianchao.wang_1@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-20 13:30:52 +09:00
Jianchao Wang
deaf8d47ba dts: arm64: mimx95_a55: add flexcan device node
Add all device nodes for flexcan on i.MX 95 A55 platform.

Signed-off-by: Jianchao Wang <Jianchao.wang_1@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-20 13:30:52 +09:00
Martin Meyer
2e396c6199 i2c: fix Doxygen guards for i2c APIs
Fix inconsistencies in Doxygen-related preprocessor guards in i2c.h.
Remove the DOXYGEN guard from CONFIG_I2C_RTIO, since the
block is placed inside a hidden block.
Add DOXYGEN to CONFIG_I2C_TARGET_BUFFER_MODE guards so that
buffer mode APIs are included in generated documentation, which
was previously missing.

Signed-off-by: Martin Meyer <meyer.m90@gmail.com>
2026-03-20 13:30:33 +09:00
Alberto Escolar Piedras
d4f6233713 tests: bsim: BT LL throughput: Increase execution timeout
To avoid these test from timing out in slow CI runners let's increase
their timeout.
This does not affect the test themselves in any way.
This timeout is a watchdog that kills the test in case it hangs.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-19 17:16:51 -05:00
Alberto Escolar Piedras
9be8367400 tests: bsim: BT Host: Increase execution timeout
To avoid these test from timing out in slow CI runners let's increase
their timeout.
This does not affect the test themselves in any way.
This timeout is a watchdog that kills the test in case it hangs.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-19 17:16:51 -05:00
Alberto Escolar Piedras
a0d7077d5d tests: bsim: tester: Increase execution timeout
To avoid these test from timing out in slow CI runners let's increase
their timeout.
This does not affect the test themselves in any way.
This timeout is a watchdog that kills the test in case it hangs.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-19 17:16:51 -05:00
Alberto Escolar Piedras
c6a4721474 Bluetooth: Controller: nRF5x: Trivial maintainability issue fixes
Fix a few trivial complains from Sonar Cloud in these files
* Methods should not be empty c:S1186
https://sonarcloud.io/organizations/zephyrproject-rtos/rules?open=c%3AS1186&rule_key=c%3AS1186
* "default" clauses should be first or last c:S4524
https://sonarcloud.io/organizations/zephyrproject-rtos/rules?open=c%3AS4524&rule_key=c%3AS4524

This commit introduced no functional changes.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-19 17:16:11 -05:00
Aksel Skauge Mellbye
90876a3cf3 dts: arm: silabs: Add protocol timer to radio on Series 2
Add protocol timer node in radio for all Series 2 SoCs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2026-03-19 17:15:26 -05:00
Laura Carlesso
f6de241f82 MAINTAINERS.yml: Update contributor list
Add lauracarlesso as a collaborator for Infineon Platform and
hal_infineon west project. The user has been working on the
Infineon Zephyr integration team contributing driver and SOC
updates for new devices and maintenance of existing devices.

Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
2026-03-19 17:13:38 -05:00
Lauren Murphy
d77e760189 llext: nits in doc, kconfig, testcase
Fixes a couple nits in the docs, Kconfig and testcase.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2026-03-19 17:12:57 -05:00
dependabot[bot]
b990e62c93 build(deps): bump pyasn1 from 0.6.2 to 0.6.3 in /scripts
Bumps [pyasn1](https://github.com/pyasn1/pyasn1) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/pyasn1/pyasn1/releases)
- [Changelog](https://github.com/pyasn1/pyasn1/blob/main/CHANGES.rst)
- [Commits](https://github.com/pyasn1/pyasn1/compare/v0.6.2...v0.6.3)

---
updated-dependencies:
- dependency-name: pyasn1
  dependency-version: 0.6.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-19 17:12:19 -05:00
Benjamin Cabé
53a94f0d25 doc: contribute: add guidelines for documenting driver backend API
Introduces a new section in the Doxygen documentation detailing
guidelines for documenting drivers' backend API, and how to use the
corresponding Doxygen aliases.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Cursor:auto
2026-03-19 17:11:57 -05:00
McAtee Maxwell
b8d7a8e58a boards: update kit_pse84_ai board.cmake to specify _TARGETNAME
- add explicit set for _TARGETNAME via board_runner_args

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2026-03-19 17:11:41 -05:00
McAtee Maxwell
2936a0b9e9 boards: update kit_pse84_eval board.cmake to specify _TARGETNAME
- add explicit set for _TARGETNAME via board_runner_args

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2026-03-19 17:11:41 -05:00
Pete Johanson
766eb2b1ca samples: drivers: adc: Handle zepyr,user io-channels with DAC entries
Properly filter/select only the io-channels that have input cells for the
ADC samples.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Pete Johanson
ebe12c332b boards: st: Nucleo H723ZG dac/adc supported
Note that DAC and ADC are supported for the Nucleo H723ZG board.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Pete Johanson
27dbc42dad tests: drivers: dac: Adjust DAC loopback test to use DT helpers
Remove hardcoded board details from DAC loopback test, in favor of
specifying channels in board overlays.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Pete Johanson
4b0a98e7b8 tests: drivers: dac: Adjust DAC API test to use DT helpers
Remove hardcoded board details from DAC API test, in favor of specifying
channels in board overlays.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Pete Johanson
a8073f6a07 dts: bindings: io-channel-cells output for samd5x DAC
Properly declare the io-channel-cells for the samd5x DAC binding for use
with the DAC DT spec helpers.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Pete Johanson
4f13d0b763 drivers: dac: Correct io-channel-cells for MCHP DAC driver
Correct io-channel-cells setup for the Microchip DAC driver to allow
specifying an output.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Pete Johanson
ff3273d0cd drivers: dac: Correct #io-channel-cells for NXP GAU DAC driver
Properly set #io-channel-cells = <1> for the NXP GAU DAC driver, which does
in fact support output channel binding.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Pete Johanson
fcc4798426 drivers: dac: Add utilities to conver mV/uV to DAC raw values
Add bare and DT helper functions for converting milli-/micro- values to raw
DAC values based on the resolution of the channel.

Bump the DAC API to version 1.1.0 to encapsulate DT helper and conversion
API additions.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Pete Johanson
d67b663607 drivers: dac: add dt-spec helper functions
Add the ability to specify channel details in devicetree, and enhance the
DAC API to support a new struct dac_dt_spec with corresponding DT helper
functions:

- dac_channel_setup_dt
- dac_write_value_dt

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-19 17:11:18 -05:00
Andy Lin
c8a5e16dd0 tests: boards: rpi_pico: Add ROM access verification tests
Add a new test suite to verify the accessibility of the ROM functions and
data across different configurations and chips (RP2040 and RP235x).

Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
2026-03-19 17:10:26 -05:00
Andy Lin
0d77bc3516 soc: raspberrypi: rp2350: m33: Add MPU entry for ROM region
Add the MPU entry representing ROM region.

This configuration is incompatible with
`CONFIG_NULL_POINTER_EXCEPTION_DETECTION_MPU`. The first 32 bytes
of ROM contains some read-only data used by certain ROM functions.
Enabling this can break some ROM functions.

Refer to: https://github.com/raspberrypi/pico-bootrom-rp2350

Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
2026-03-19 17:10:26 -05:00
Andy Lin
fb14a83976 soc: raspberrypi: rp2040: Add MPU entry for ROM region
Add the MPU entry representing ROM region.

This configuration is incompatible with
`CONFIG_NULL_POINTER_EXCEPTION_DETECTION_MPU`. The first 256 bytes
of ROM contains some read-only data used by certain ROM functions.
Enabling this can break some ROM functions.

Refer to: https://github.com/raspberrypi/pico-bootrom-rp2040

Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
2026-03-19 17:10:26 -05:00
Braeden Lane
f063fe3ced tests: drivers: flash: add overlays for cy8ckit_041s_max
Add board overlay and conf files for the CY8CKIT-041S-MAX board
across the flash common, erase_blocks, interface_test, and
negative_tests test suites. The overlays define a storage/slot1
partition at offset 0x10000 within flash0.

The PSOC4 write_block_size of 256 requires
CONFIG_FLASH_FILL_BUFFER_SIZE=256 for tests that use flash_fill.
Add the conf file for negative_tests for both cy8ckit_041s_max and
cy8cproto_041tp, as the latter was also missing it.

Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
2026-03-19 17:09:42 -05:00
Braeden Lane
ad9d23a428 dts: arm: infineon: add flash controller for psoc4100smax
Add the flash controller node to the psoc4100smax SoC DTSI, wrapping
the existing flash0 node as a child of the controller. This mirrors
the structure already present in psoc4100tp.dtsi.

The flash controller is at CPUSS_BASE + 4 (0x40100004), with register
size 0x104, matching the psoc4100tp. The write-block-size and
erase-block-size are both 256 bytes, confirmed by
CPUSS_SPCIF_FLASH_PAGE_SIZE=3 in the HAL device config header.

This enables the FLASH_INFINEON_PSOC4 Kconfig option for boards
using the psoc4100smax SoC, such as the CY8CKIT-041S-MAX.

Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
2026-03-19 17:09:42 -05:00
Braeden Lane
cda17113e2 drivers: flash: infineon_pdl: enforce write block alignment
The PSOC4 flash driver accepted unaligned write offsets and sizes,
using a read-modify-write path to handle sub-row writes. This
violated the flash API contract, as the driver advertises
write_block_size=256 via devicetree.

Additionally, the Infineon HAL function Cy_Flash_WriteRow() requires
row-aligned addresses and exactly CY_FLASH_SIZEOF_ROW bytes of data.
The R-M-W path was passing unaligned addresses to the HAL, which
would reject them, but the driver was not checking the return value
and silently reported success after failed writes.

Add write alignment validation for both offset and size. Remove the
dead read-modify-write code path. Add missing error checking on
Cy_Flash_WriteRow() return value in the write loop, consistent with
the erase function.

Handle caller-provided data buffers that are not 4-byte aligned by
staging each row through a local aligned buffer before calling
Cy_Flash_WriteRow(), which requires a uint32_t-aligned source
pointer. When the source is already aligned, it is passed directly
with no copy overhead.

Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
2026-03-19 17:09:42 -05:00
Jamie McCrae
3617d3c7ed west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  cf5810201c84d6e266aeda2abdab80854066ac08

Brings following Zephyr relevant fixes:

  - cf581020 boot: zephyr: use MBEDTLS_VERSION_4_x to select
    crypto Mbed TLS legacy support
  - 8a1109bb Revert "boot: zephyr: kconfig: fix detection of Mbed
    TLS 4"
  - e9c87d96 boot: zephyr: separate Espressif do_boot from Xtensa
    path

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-03-19 17:09:03 -05:00
Måns Ansgariusson
51f2e0a255 doc: ztest benchmark documentation
Adds documentation for ztest benchmark framework in the developer docs.
This includes:
- Overview of the ztest benchmark framework
- Instructions on how to define benchmarks
- Explanation of zbench output & how to interpret it

Signed-off-by: Måns Ansgariusson <mansgariusson@gmail.com>
2026-03-19 17:07:52 -05:00
Måns Ansgariusson
33d40e52fb samples: subsys: testsuite: add benchmark usage example
Add a sample demonstrating the new benchmarking framework.
The sample shows how to define suites, simple & timed benchmarks, and
benchmarks with setup/teardown functions.

Verified on qemu_x86 and nrf5340dk.

Signed-off-by: Måns Ansgariusson <mansgariusson@gmail.com>
2026-03-19 17:07:52 -05:00
Måns Ansgariusson
5388837a81 testsuite: benchmark framework
Currently, ztest is primarily focused on unit testing. This commit
introduces a framework designed specifically for performance analysis.

Key features:
- Standardized API: ZBENCH_SUITE and ZBENCH macros.
- Low overhead: Uses Welford's online algorithm for statistics
  to keep memory footprint minimal.
- Hardware agnostic: Built on top of <zephyr/timing/timing.h>.
- Clear output: Provides formatted console tables of results.

Signed-off-by: Måns Ansgariusson <mansgariusson@gmail.com>
2026-03-19 17:07:52 -05:00
Dmitrii Sharshakov
f2dd01fd84 soc: raspberrypi: rp2350: add west sign for secure boot
Wrap the picotool sign command (requires recent picotool) to build
signed ELF files (which can be later converted to UF2 as well).

The resulting files boot, yet this has not been tested with actual
Secure Boot yet.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2026-03-19 17:06:17 -05:00
Dmitrii Sharshakov
e19a8ff6b6 west: sign: abstract out common operations
Share code for locating tools and Zephyr binaries.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2026-03-19 17:06:17 -05:00
Emil Gydesen
bc37305998 Bluetooth: ASCS: Hotfix for failing ASCS unittests
The way that ASCS registers and unregisters for the ASCS
unittests does not work properly with UUIDs and local variables.

Hotfix is to use a `static` backup instead of a stack-allocated
backup. A proper fix will be provided later.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-03-19 14:56:35 -05:00
Fin Maaß
af0f6394e0 net: l2: ethernet: simplify use of net_if_get_device()
when using net_if_get_device() save the pointer
and use the pointer again.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-19 14:56:23 -05:00
Fin Maaß
9cc679b81b drivers: ethernet: remove redundant net_pkt_set_iface()
remove redundant net_pkt_set_iface() it is already set in
net_recv_data() and net_pkt_rx_alloc_with_buffer().

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-19 14:55:52 -05:00
John Batch
ef19081096 docs: boards: cy8cproto_041tp: add image and documentation updates
- Adds a board image for the cy8cproto_041tp board.
- Adds a section linking to board documentation.
- Corrections to naming and features list.
- Moves board docs into the correct `doc` directory for both
  cy8cproto_041tp and cy8cproto_041s_max boards.

Signed-off-by: John Batch <john.batch@infineon.com>
2026-03-19 14:54:28 -05:00
Jjateen Gundesha
7386141720 scripts: twister: fix monitor_serial writing handler.log in binary mode
- monitor_serial() opens handler.log in binary mode (\"wb\") and writes
re-encoded bytes. When the runner (e.g. linkserver for frdm-mcxn947)
produces serial output that is not cleanly decodable as UTF-8, the
decode('utf-8', 'ignore') silently drops bytes and the resulting
handler.log is unreadable.

- Fix by opening handler.log in text mode with explicit UTF-8 encoding,
consistent with BinaryHandler.handle_serial() which uses open(\"w\").
Change the decode error handler from 'ignore' to 'replace' so
corruption becomes visible as replacement characters rather than
silently dropped bytes.

Signed-off-by: Jjateen Gundesha <jjateen97@gmail.com>
2026-03-19 14:53:58 -05:00
Sylvio Alves
0f7c5ce22b drivers: wifi: esp32: increase default Wi-Fi system heap
The previous 40 KB default heap was at the edge for the Wi-Fi driver,
which can lead to allocation failures. Increase to 50 KB to provide
adequate memory for Wi-Fi operation.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:26 -05:00
Sylvio Alves
11c04abe33 tests: add esp32c5 overlays and configs
Add ESP32-C5 test overlays for counter, I2S, PWM loopback, retained
memory, and UART async API tests.

The PWM GPIO loopback test requires SKIP_EDGE_NUM=6 on ESP32-C5 to
account for flash cache loading latency on the first GPIO ISR
invocations that skews edge timing measurements.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:05 -05:00
Sylvio Alves
72a041ea8f samples: add esp32c5 board support
Add ESP32-C5 overlays and configurations for deep sleep, counter
alarm, Wi-Fi shell, LED strip, and ULP LP core samples.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:05 -05:00
Sylvio Alves
bd417ae97b boards: espressif: add esp32c5_devkitc board
Add board definition for the ESP32-C5-DevKitC-1 development board
based on the ESP32-C5-WROOM-1 module (8 MB flash, 4 MB PSRAM).

Includes HP Core and LP Core configurations, pinctrl, devicetree,
and OpenOCD debug support.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:05 -05:00
Sylvio Alves
789bed73bc drivers: bluetooth: add esp32c5 support
Extend the ESP32 Bluetooth HCI driver and Kconfig to support
ESP32-C5 with Bluetooth 5.4 LE.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:05 -05:00
Sylvio Alves
b12b1f6dd1 drivers: wifi: add esp32c5 support
Extend the ESP32 Wi-Fi driver to support ESP32-C5, the first
Espressif SoC with dual-band Wi-Fi 6 (2.4 GHz and 5 GHz).

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:05 -05:00
Sylvio Alves
6a481b9503 drivers: timer: add esp32c5 support
Extend the ESP32 systimer Kconfig to include ESP32-C5.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:05 -05:00