Commit graph

136,983 commits

Author SHA1 Message Date
Martí Bolívar
a5b70992bf dts: bindings: manual bulk compatible/filename fixes
These bindings' filenames don't match their compatibles, but the fixes
weren't automated as there were multiple possible outcomes for these.
I looked around and fixed them up by hand.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
34f94b98b0 dts: bindings: scripted filename/compatible mismatch fixes
Clean up various bindings whose names do not match our naming policy.
These are all unambiguous cases I found and fixed with a quick script.
As a reminder, the policy in bindings-upstream.rst is:

    Bindings which match a compatible must have file names based on
    the compatible.

    - For example, a binding for compatible ``vnd,foo`` must be named
      ``vnd,foo.yaml``.

    - If the binding is bus-specific, you can append the bus to the
      file name; for example, if the binding YAML has ``on-bus: bar``,
      you may name the file ``vnd,foo-bar.yaml``.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Vincent Tardy
f9767ad6cb boards: st: nucleo_wba55cg: enable ieee802154 node
enable ieee802154 node for nucleo_wba55cg

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-03-12 12:07:23 -04:00
Serhiy Katsyuba
c8b9adaec9 drivers: dai: intel: uaol: fix linker error
This fixes a regression introduced with commit fc2b1b2f3e.

This ensures that when the UAOL driver is disabled, the DAI UAOL
driver is also disabled.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2026-03-12 12:07:05 -04:00
Pete Johanson
385f95431e soc: st: Initialize backup SRAM early for use with retained mem
Adjust the backup SRAM initialization to PRE_KERNEL_1 to ensure it's
initialized before any retained_mem instances placed into that area.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-12 12:06:53 -04:00
Ofir Shemesh
ccac88d590 boards: teensy4: remove duplicate edma0 node
The teensy40 DTS defined the edma0 node twice with identical
status properties.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2026-03-12 12:06:43 -04:00
Silesh C V
9c65fdc04e boards: alif: Add support for E1C development kit
Add board support for the Alif Ensemble E1C Development Kit
featuring the Ensemble E1C SoC.

The Ensemble E1C SoC contains a single Cortex-M55 CPU cluster:
RTSS-HE (High Efficiency, up to 160 MHz). Following the hardware
model, the CPU cluster is defined as a board target:

- ensemble_e1c_dk/ae1c1f4051920ph0/rtss_he

Initial support includes UART for console output.

Link: https://alifsemi.com/support/kits/ensemble-e1cdevkit/

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-03-12 09:27:25 -05:00
Silesh C V
9013b63fa4 dts: bindings: pinctrl: add alif E1C pin definitions
Add Ensemble E1C series specific pin multiplexing definitions.

The E1C series has different hardware peripheral routing compared
to the existing E4/E6/E8 series. So separate pin definitions are
needed. But as the pinctrl register layout and control
logic are identical across all Ensemble series, the same driver
and encoding scheme can be reused.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-03-12 09:27:25 -05:00
Silesh C V
c4a713edef dts: arm: alif: Add device tree node for AE1C1F4051920PH0
Add device tree include file for the Alif Ensemble E1C SoC
variant AE1C1F4051920PH0.

The file builds upon the common peripheral definitions from
ensemble_common.dtsi and ensemble_rtss_he.dtsi and defines the
SoC specific clock frequencies, TCM configurations and MRAM
configuration.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-03-12 09:27:25 -05:00
Silesh C V
0141edf8ea soc: alif: ensemble: introduce E1C series
Add support for the Ensemble E1C series and the AE1C1F4051920PH0
SoC within this series. The E1C (E1 Compact) series contains a
single Cortex-M55 core configured as RTSS-HE (High Efficiency
Real Time Subsystem) with a maximum frequency of 160 MHz.

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

Link: https://alifsemi.com/ensemble-e1c-series/

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-03-12 09:27:25 -05:00
Mathieu Choplain
94574740f2 drivers: timer: stm32_lptim: guard behind required nodelabel's existence
Don't allow the LPTIM system clock driver to be enabled if the required
nodelabel `stm32_lp_tick_source` does not exist. This prevents incorrect
usage which could result in non-trivial build failures.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-12 09:26:52 -05:00
Mathieu Choplain
75fdc2f848 boards: rakwireless: rak3172: use LPTIM1 as system clock properly
The `stm32_lp_tick_source` nodelabel must be placed on a low-power timer to
use it as system clock timer. This was not done by this board so the
Kconfig was unable to determine which clock source was used, and ultimately
resulting in a build error because option `STM32_LPTIM_TIMEBASE` had no
value.

Fix by adding the missing nodelabel.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-12 09:26:52 -05:00
Kapil Bhatt
3103c8ace5 modules: hostap: Fix SoF in softap mode
The stack usage is increased due to recent changes, fix the SoF.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2026-03-12 09:26:23 -05:00
Alberto Escolar Piedras
e574af0bef manifest: Update bsim to version v3.0.1
Main changes since v3.0
* libUtilv1: dump_files: Fix in file access macros

Note: Like before, bsim remains fully backwards compatible

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-12 09:25:49 -05:00
Robert Lubos
0992b86140 tests: net: dhcpv4: server: Increase timeouts/delays
It's been observed in the CI that DHCPv4 server tests fail occasionally
due to timeouts, therefore increase certain timeouts/delays to increase
tests stability under heavy load. At least locally I was no longer able
to reproduce the failures.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-03-12 09:25:29 -05:00
Adam Kondraciuk
deb2d00b99 tests: drivers: timer: nrf_grtc_timer: Add interval mode test
Add a test that verifies periodic compare event generation
using the GRTC interval feature.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2026-03-12 09:24:59 -05:00
Adam Kondraciuk
7b342e147d drivers: timer: nrf_grtc_timer: Introduce interval mode support
Add support for hardware-generated periodic compare events using
the GRTC interval feature. Once configured, the hardware generates
compare events at a fixed interval without CPU intervention.

The feature is available only on channels defined as
"extended-channels" in the devicetree.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2026-03-12 09:24:59 -05:00
Alberto Escolar Piedras
288b512a55 manifest: Update nRF hw models to latest
Update the HW models module to:
2b09581c7654f4dfd38681270350c9ae6b0438a2

Including the following:
2b09581 Refactor target specific code and definitions
da1f4e3 hal: nrfx_common replacement: Minor refactor
c2ca4ec RADIO: Refactor getting frequency and Tx power

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-12 09:24:26 -05:00
Tim Pambor
744505e2e4 shields: add MikroE Flash 8 Click shield
Adds support for the MikroE Flash 8 Click shield

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-12 09:23:44 -05:00
Alain Volmat
0c522b4a6b boards: st: only enable the watchdog also aliased via watchdog0
Some boards enable both IWDG & WWDG at board level which only one
is aliased as watchdog0. In such case only keep the one aliased
and keep the 2nd one disabled.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Alain Volmat
037cf168fc tests: wdt_basic_api: add stm32n6570_dk
Add the STM32N6 Discovery board for watchdog testing.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Alain Volmat
e5d9d5b3f4 tests: wdt_basic_api: set watchdog0 alias in stm32 overlays
The wdt_basic_api test program first check for the watchdog0 alias
prior to checking for available compatible. Lots of STM32 board
already define the watchdog0 alias at board level hence in such
case the watchdog set at board level will be picked up and not
the one necessarily intended in the test.
Add setting of the watchdog0 alias as part of the stm32 overlays.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Alain Volmat
aba780bd38 boards: st: nucleo_n657x0_q: enable iwdg watchdog
Enable IWDG and set the watchdog0 alias for iwdg.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Alain Volmat
809071a4ac boards: st: stm32n6570_dk: enable iwdg watchdog
Enable IWDG and set the watchdog0 alias for iwdg.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Alain Volmat
7f1f2c4468 dts: arm: st: add iwdg and wwdg nodes in stm32n6.dtsi
The STM32N6 embeds two kind of watchdogs for which this
commit adds the nodes.
 - System window watchdog (WWDG)
 - Independent watchdog (IWDG)

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Alain Volmat
429d6ec112 drivers: wdt_iwdg_stm32.c: add support for the STM32N6x
Add entry in order to stop the watchdog when entering in debug
mode on the STM32N6x.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Alessandro Manganaro
5d4da79872 soc: st: stm32wbax: Openthread config
Change OPEN_THREAD_WORKQUEUE_STACK_SIZE for stm32wbax

Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
2026-03-12 09:22:39 -05:00
Tim Pambor
4a3d5a3a79 tests: drivers: flash: add test for spi_nand driver
Test the spi_nand flash driver for the MikroE Flash 5 Click shield.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-12 09:21:31 -05:00
Tim Pambor
d4dfc87f49 test: drivers: flash: Use fill buffer size as expected size
EXPECTED_SIZE must be a multiple of the write block size. The same
applies to CONFIG_FLASH_FILL_BUFFER_SIZE. Ensure EXPECTED_SIZE is
at least as large as the flash fill buffer, which is already adjusted
via config overlays for boards/chips with a particularly large write
block size.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-12 09:21:31 -05:00
Jose Alberto Meza
5e083ad15c tests: drivers: i2c: boards: npcx: Enable NPCX I2C target test
Add overlay to be able to run I2C target test

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2026-03-12 09:20:46 -05:00
Daniel Leung
93a25f7b24 xtensa: set is_fatal_error before stack bound check
is_fatal_error is used to determine whether an exception is
a fatal one. In the default switch case for exception handling,
is_fatal_error needs to be set true. However, setting this
variable was done after stack bound check. So if stack bound
check fails, is_fatal_error is never set. So set the variable
earlier before the stack bound check.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-03-12 09:20:28 -05:00
Lyle Zhu
6e6eac656d bluetooth: Classic: l2cap: Correct segment buffer size
Fix buffer pool allocation size for BR/EDR L2CAP non-basic modes by
using the appropriate macro that accounts for SDU segmentation
overhead.

The previous implementation used BT_L2CAP_BUF_SIZE() which is designed
for basic mode and does not account for the additional overhead
required when segmenting SDUs in retransmission or flow control modes
(I-frame control field, FCS, and SDU length field).

- Replace BT_L2CAP_BUF_SIZE() with BT_L2CAP_RT_FC_MAX_SDU_BUF_SIZE()
- Ensures sufficient buffer space for segmented I-frames
- Aligns buffer allocation with recent MPS and MTU calculation fixes

This prevents potential buffer overruns when transmitting segmented
SDUs in non-basic modes.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-03-12 09:20:02 -05:00
Lyle Zhu
a61edf6f04 bluetooth: Classic: l2cap: simplify get_pdu_len() MPS calculation
Simplify the PDU length calculation in get_pdu_len() by using the
configured MPS value directly without manual adjustments for overhead.

The previous implementation attempted to manually calculate available
payload space by subtracting header/tail sizes and then adding back
the SDU length field size, which was unnecessarily complex and
error-prone.

- Remove manual calculation of actual_mps with header/tail overhead
- Use br_chan->tx.mps directly as the MPS limit
- Remove special handling for start segments (SDU length field
  adjustment)
- Simplify logic: return pdu_len if within MPS, otherwise return MPS

The MPS value already represents the maximum PDU size that can be
transmitted, so no additional adjustments are needed. This aligns with
the recent fixes to MPS validation and MTU calculation.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-03-12 09:20:02 -05:00
Lyle Zhu
236775f226 bluetooth: Classic: l2cap: extract SDU length before MPS validation
Fix incorrect MPS validation for segmented I-frames by extracting the
SDU length field before checking payload size against MPS.

When an I-frame has SAR (Segmentation and Reassembly) set to START,
it contains a 2-byte SDU length field that precedes the actual payload.
The previous implementation validated buf->len against MPS before
removing this header, causing false positives when the SDU length field
pushed the total size over MPS.

- Extract SAR field from control header for all L2CAP modes
- Initialize SAR to UNSEG by default
- Pull SDU length (2 bytes) when SAR indicates START segment
- Perform MPS validation after SDU length extraction
- Move net_buf_simple_save/restore to encompass SDU length handling

This ensures MPS validation checks only the actual payload size,
preventing spurious disconnections for legitimate segmented transfers.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-03-12 09:20:02 -05:00
Lyle Zhu
e785ab7278 bluetooth: Classic: l2cap: fix RX MTU calculation for non-basic modes
Fix incorrect RX MTU calculation when retransmission/flow control modes
are enabled. The previous implementation did not account for I-frame
overhead (control field and FCS), which could cause MTU to exceed the
maximum I-frame payload.

- Add l2cap_br_get_rx_mtu() helper to calculate proper RX MTU
- Discount extended control field size (4 bytes) when enhanced
  retransmission or streaming mode is enabled
- Discount standard control field size (2 bytes) for basic mode
- Always discount FCS size (2 bytes) as it may be required by peer
- Add assertion to validate MTU meets minimum requirements
- Update l2cap_br_check_chan_config() to use new MTU calculation

This ensures the negotiated MTU fits within the I-frame payload limits
and prevents buffer overruns in non-basic L2CAP modes.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-03-12 09:20:02 -05:00
Dharun krithik k
e8537bcfeb boards: infineon: Add DMA to supported list
Add DMA to the list of supported features for the CY8CPROTO-041TP board.

Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
2026-03-12 09:19:33 -05:00
Dharun krithik k
3e8897adcc tests: drivers: dma: add cy8cproto_041tp support
Add board overlay and configuration files to support dma tests
on CY8CPROTO-041TP board.

Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2026-03-12 09:19:33 -05:00
Dharun krithik k
e2fec44a74 drivers: dma: add infineon dma driver
Add a new DMA driver for the Infineon DMAC (Direct Memory Access
Controller) specifically for PSoC4 Series.

Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2026-03-12 09:19:33 -05:00
Dharun krithik k
7cc68955f7 dts: arm: infineon: add dma support for psoc4100tp
Add DMA controller node to PSoC 4100TP device tree and introduce
the corresponding binding file `infineon,dmac.yaml`.

Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2026-03-12 09:19:33 -05:00
Maksim Salau
363336b999 scripts: gen_cfb_font_header.py: Improve PNG support
The commit allows matrix arrangement of glyphs in a PNG file.

Signed-off-by: Maksim Salau <maksim.salau@gmail.com>
2026-03-12 09:18:39 -05:00
Robert Lubos
b43e96baa5 manifest: uoscore-uedhoc: Update with upstream
Update the uoscore-uedhoc repository with the upstream changes.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-03-12 11:37:47 +01:00
Mathieu Choplain
35c029474b doc: release: 4.4: add new STM32 NVM OTP driver
Add a section about the new `st,stm32-nvm-otp` compatible and corresponding
driver to the 4.4 release notes.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-12 11:37:25 +01:00
Fabian Blatz
e020078e0e manifest: Update LVGL to 9.5.0
Update the west yaml to point to the new LVGL version.
Update CMakeLists accordingly.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-03-12 11:37:01 +01:00
Maureen Helm
9e2a8ee8f7 samples: drivers: adc: Extend adc_dt sample for optional adc shield
Extends the adc_dt sample with an option to use with the
eval_cn0391_ardz shield, which provides an adi ad7124-8 multichannel
adc.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2026-03-12 11:36:40 +01:00
Maureen Helm
22d82a56c5 boards: shields: Add EVAL-CN0391-ARDZ thermocouple shield
Adds a new shield definition for the Analog Devices EVAL-CN0391-ARDZ
thermocouple shield. This shield provides support for an ADI AD7124-8
multichannel, 24-bit, sigma-delta ADC over an Arduino SPI connector.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Signed-off-by: Raluca Bozdog <raluca.bozdog@analog.com>
2026-03-12 11:36:40 +01:00
Maureen Helm
17bc03c31c samples: drivers: adc: Increase sample buffer size
Modifies the adc_dt sample to increase the sample buffer size to support
ADCs with more than 16 bits of resolution, such as ad7124.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2026-03-12 11:36:40 +01:00
Amneesh Singh
abdfea826f clock_control: tisci: fix macro argument
TISCI_GET_CLOCK_DETAILS_BY_INST takes the instance number of the DT node,
this is supposed to be denoted by `inst`. However, due to a typo it is
currently DT_DRV_INST which makes no sense since that is a separate macro
of its own. Hence, fix this typo.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 11:35:43 +01:00
Jordan Yates
ca0815a856 net: lib: sntp: output response delay
Add a new field to the `sntp_time` struct which is an estimate of the
delay between the SNTP server sending the response and the SNTP client
(the application) receiving it. This information can then be used by
the caller to correct for the systemic bias introduced by non-zero
network latencies.

Includes internal variable naming to make it clearer which timestamps
are which.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-03-12 11:34:52 +01:00
Stephan Linz
8f2a3fc529 boards: shields: add support for MikroElektronika Flash 6 Click
Add shield definition for the MikroElektronika Flash 6 Click shield,
an mikroBUS compatible evaluation module for the Winbond W25Q128JV
(128M-bit) SPI Serial NOR Flash chip.

Tested with the command mentioned on the index.rst page.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-03-12 11:34:18 +01:00
Jiafei Pan
0a703e6ece drivers: memc_mcux_flexspi: enable MMIO mapping
Adding MMIO memory mapping support for the flexspi memc driver.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-12 11:33:24 +01:00