Commit graph

136,983 commits

Author SHA1 Message Date
Zhaoxiang Jin
0aa548add7 dts: test: add vnd,hwspinlock-consumer.yaml for test purpose
add vnd,hwspinlock-consumer.yaml for test purpose

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-02-27 11:51:20 +01:00
Zhaoxiang Jin
e986daabd5 drivers: clock_control: enable sema42 clock control
enabled sema42 peripheral clock control through
clock_control (syscon) driver.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-02-27 11:51:20 +01:00
Zhaoxiang Jin
9b952fc2fe boards: nxp: enable sema42 device node for mcxn947 boards.
enabled sema42 device node for frdm_mcxn947 and
mcx_n9xx_evk boards.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-02-27 11:51:20 +01:00
Zhaoxiang Jin
b61ae973d4 drivers: hwspinlock: enable nxp sema42 based on hwspinlock API
This commit implemented nxp (Semaphores2) sema42 peripheral
based on zephyr hwspinlock device driver API.

The hardware information can be find in MCXN947 RM chapter 27.
https://www.nxp.com/webapp/sps/download/preDownload.jsp?render=true

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-02-27 11:51:20 +01:00
Braeden Lane
4f5d97e671 drivers: i2c: infineon: configure SCB oversampling clock for PSOC4
The I2C driver relies on the SCB oversampling clock (clk_scb) being
within specific frequency ranges for each I2C data rate. On PSOC4, the
peripheral clock dividers default to a division of 1, passing the full
HFCLK (48 MHz) directly to the SCB — far outside the valid range for
any I2C speed. This causes all I2C transfers to fail with -EIO.

Add _i2c_set_peri_divider_psoc4() which calculates the appropriate
divider from HFCLK and configures the peripheral clock using the
Zephyr utility wrappers (matching the UART driver convention).

SCB oversampling clock frequencies (from device reference manuals,
analog filter config AF_in=1, AF_out=0, DF_in=0):

Controller mode:
  Standard (100 kHz):   2 MHz
  Fast (400 kHz):       8 MHz
  Fast Plus (1 MHz):   24 MHz

Target mode:
  Standard (100 kHz):   8 MHz
  Fast (400 kHz):      12 MHz
  Fast Plus (1 MHz):   24 MHz

Tested on CY8CKIT-041S-MAX and CY8CPROTO-041TP in both target and
controller roles.

Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
2026-02-27 11:51:11 +01:00
Alexey Nikolaev
d739a4d0ab scripts: build: emitting syscall/subsystem metadata to JSON if commented
Strip comments from the source files before the parser extracts syscall
and subsystem metadata. The comment removal is performed directly inside
scripts/build/parse_syscalls.py, after which the filtered source is
processed with the existing regular‑expression based parser.

The underlying problem is that metadata for syscalls and subsystem that
has been commented‑out is still extracted and written to the generated
JSON file.

Signed-off-by: Alexey Nikolaev <alexeynikzzz@gmail.com>
2026-02-27 11:51:00 +01:00
Sylvio Alves
5346c0c02d tests: boards: espressif: rtc_clk: fix XTAL source test
Move PLL frequency array before test_cpu_xtal_src so it can be used
to restore CPU to PLL after XTAL testing. Skip non-exact XTAL
divisions (e.g. 26 MHz / 4) instead of testing invalid frequencies
that would cause the clock driver to fail or hang.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-27 11:50:50 +01:00
Sylvio Alves
980d57235f tests: drivers: clock_control: fix ESP32 peripheral module list
Restrict test modules to those available on each SoC and remove
entries that lack proper clock gate support on newer targets.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-27 11:50:50 +01:00
Sylvio Alves
4baacf3c42 tests: drivers: gpio: update ESP32 test overlays
Update ESP32 GPIO pin assignment to avoid PSRAM-reserved pins
and add test overlays for ESP32-C6 and ESP32-H2.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-27 11:50:50 +01:00
Alberto Escolar Piedras
6ef9e8f2d2 net: lwm2m: Use ZTESTABLE_STATIC instead of STATIC
Use the ZTESTABLE_STATIC macro to define symbols which need to be
accessible from ztests, instead of redefining STATIC which causes
trouble with some hals.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 11:50:41 +01:00
Alberto Escolar Piedras
ef2773dffe fs: nvs: Use ZTESTABLE_STATIC instead of STATIC
Use the ZTESTABLE_STATIC macro to define symbols which need to be
accessible from ztests, instead of redefining STATIC which causes
trouble with some hals.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 11:50:41 +01:00
Alberto Escolar Piedras
c77d74fa7d Bluetooth: Classic: Shell: Use ZTESTABLE_STATIC instead of STATIC
Use the ZTESTABLE_STATIC macro to define symbols which need to be
accessible from ztests, instead of redefining STATIC which causes
trouble with some hals.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 11:50:41 +01:00
Alberto Escolar Piedras
2b515458e6 sys: util: Introduce ZTESTABLE_STATIC macro
Introduce the macro ZTESTABLE_STATIC, which can be used to define
private (static) symbols which otherwise need to be accessible from
ztests.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 11:50:41 +01:00
Valerio Setti
73be1b76a2 manifest: uoscore-edhoc: include fix for crypto
The fix replaces PSA_KEY_HANDLE_INIT with PSA_KEY_ID_NULL since the
former has been removed from TF-PSA-Crypto 1.0.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2026-02-27 11:50:31 +01:00
Yves Wang
1934d0c22d dts: nxp: mcxc: move COP watchdog under sim node
Move the COP watchdog device node to be a child of the SIM node, as COP
is part of the SIM register space. This can fix the duplicate unit
address warning.
Also fix the sram0 node definition in nxp_mcxc444.dtsi by deleting and
redefining it to ensure proper memory layout.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-02-27 11:50:19 +01:00
Tomi Fontanilles
92112fa7b3 MAINTAINERS: tf-m: add JordanYates and remove ithinuel
Add @JordanYates, a contributor to and end user of TF-M, as collaborator
to give him the possibility to keep up with changes that are made
in Zephyr.

At the same time remove @ithinuel who has been inactive for a while.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2026-02-27 11:50:08 +01:00
Sebastian Głąb
8b5b7e6bc8 samples: drivers: jesd216: Run sample on nrf54lm20b
Add overlay that defines DTS nodes required to run
the jesd216 sample on nrf54lm20b target.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-02-27 11:49:56 +01:00
Sebastian Głąb
5c92576591 tests: drivers: spi: Run spi_loopback on nrf54lm20b
Enable SPI tests on nrf54lm20b.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-02-27 11:49:56 +01:00
Sebastian Głąb
65899aa42c tests: drivers: spi: Run spi_error_cases on nrf54lm20b
Enable SPI tests on nrf54lm20b.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-02-27 11:49:56 +01:00
Sebastian Głąb
3910a684a0 tests: drivers: spi: Run spi_controller_peripheral on nrf54lm20b
Enable SPI tests on nrf54lm20b target.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-02-27 11:49:56 +01:00
Sebastian Głąb
13224777ea tests: drivers: uart: uart_async_api: Enable test on nrf54lm20b
Add overlay files that define DTS nodes required by the test.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-02-27 11:49:56 +01:00
Sebastian Głąb
41aa8b2405 tests: drivers: i2s: Enable testing on nrf54lm20b
Add overlay files that define all DTS nodes
required by the I2S tests.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-02-27 11:49:56 +01:00
Sebastian Głąb
398934be81 tests: drivers: counter: counter_basic_api: Fix testing on nrf54lm20b
Add overlays that define DTS nodes required by the test.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-02-27 11:49:56 +01:00
Pieter De Gendt
aa00c59167 doc: services: Add a page about cleanup classes
Add information about the introduced cleanup classes, with usage examples.
An explicit warning is added that toolchain support is required.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-27 11:49:41 +01:00
Pieter De Gendt
75d49e36f9 tests: kernel: Add cleanup API test suite
Add a test suite to validate GCC cleanup handling of guard classes.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-27 11:49:41 +01:00
Pieter De Gendt
c9f39f03f4 include: cleanup: kernel: Add guard/defer definitions
Add common kernel definitions for guard and defer constructs.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-27 11:49:41 +01:00
Pieter De Gendt
c7a20689ad include: zephyr: Introduce cleanup header
Add macro definitions for cleanup classes.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-27 11:49:41 +01:00
Pieter De Gendt
e0ea74a667 toolchain: Introduce kconfig symbols for scope-based cleanup helpers
- Add a hidden symbol to indicate variable cleanup attribute support.
- Add a symbol to enable cleanup helper macros.
- Provide a macro for the cleanup attribute in the GCC toolchain.
- Disable IAR toolchain support.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-27 11:49:41 +01:00
Benjamin Cabé
ba81e62f27 tests: cmake: add tests to validate actual SPDX files contents
The initial test was really just a basic smoke test ensuring that
`west spdx` was outputting valid (syntactically correct) SPDX files.
This tests a lot more thoroughly by checking the files contain what they
are supposed to in terms of captured licenses/copyright information,
relationship between sources and build artifacts, etc.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-27 11:49:31 +01:00
Peter Wang
8a0b4d715a boards: nxp: frdm_mcxa577: enable flash driver
enable flash driver for frdm_mcxa577
tested tests/drivers/flash/common/

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2026-02-27 08:00:30 +01:00
Peter Wang
6dd0607939 soc: nxp: mcxa: add series level support
family->series->soc
mcxa1x3 series: soc mcxa153
mcxa1x6 series: soc mcxa156
mcxaxx4 series: soc mcxa344
mcxaxx6 series: soc mcxa346,mcxa266,mcxa366
mcxaxx7 series: soc mcxa577

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2026-02-27 08:00:30 +01:00
Daniel Leung
383662a7ca xtensa: use __ASSERT_NO_MSG for assert with no message
Instead of using __ASSERT() with an empty string as message,
simply convert it to use __ASSERT_NO_MSG().

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-02-27 07:59:49 +01:00
Henrik Brix Andersen
7c55574d6b boards: shields: mikroe_mcp251xfd_click: add missing CAN transceivers
Add missing CAN transceivers to the MikroElektronika MCP251xFD shield
overlays.

Without the CAN transceiver added to the MCP251863 Click, the STBY pin will
be pulled high from the internal pull-up resistor in the AT6563 CAN
transceiver, causing the CAN transciever to stay in stand-by mode,
preventing any CAN bus traffic from taking place.

On the two other shields, the default solder jumpers tie the STBY_I signal
to GND, causing the CAN transceivers to always be enabled.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-27 07:59:32 +01:00
Henrik Brix Andersen
c09ab2f5fa boards: shields: mikroe_mcp251xfd_click: rearrange dts and use macros
Rearrange the devicetree overlays for the MikroElektronika MCP251xFD
shields to better align with node and property order used in the rest of
the tree.

Use "can" as devicetree node name as recommended in the Devicetree
specification.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-27 07:59:32 +01:00
Flavio Ceolin
2517803d98 kernel: msgq: Check possible overflow in put/get
Not only checks if writer_ptr is smaller than buffer_end but also
checks that write_ptr + msg_size is smaller than buffer_end to
avoid overflow when copying data.

Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
2026-02-27 07:59:02 +01:00
Flavio Ceolin
41fbeea3a8 kernel: msgq: Check overflow when initing queue
Check for possible overflow in k_msgq_init.

Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
2026-02-27 07:59:02 +01:00
Flavio Ceolin
26bd97edbc kernel: mem_slab: Check block size equals 0
Borrowing Peter Mitsis rationale in #104283

If someone passes a 0 block_size, then the buffer size must also be 0.
However, we iterate through the loop below num_blocks times, writing a
pointer to the buffer address. If the buffer is truly zero-sized, then
we are overwriting something else. If it is not truly zero-sized, then
we are creating a corrupted linked list as the pointer never actually
changes. This can cause problems later on when attempting to allocate
a slab because k_mem_slab_alloc() will only ever "allocate" the first
zero-sized block and act as though it was never truly consumed because
of the corrupted linked list.

Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
2026-02-27 07:59:02 +01:00
Flavio Ceolin
5688bcc10a kernel: mem_slab: Check possible overflow on init
Check possible overflow when initializing a memory block.

Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
2026-02-27 07:59:02 +01:00
Ayush Singh
f5e5e5f4f1 serial: cc13xx_cc26xx: Fix TX interrupt
In cc13xx_cc26xx, the TX interrupt seems to be generated once initially on
enable and subsequently, when buffer goes from full to empty (since we are
operating in 1-byte buffer mode).

Due to this, if the TX interrupt is cleared in the configure function, a
new TX interrupt will not be generated untill we transition from a full to
empty buffer, even though the buffer itself is empty.

When using Zephyr Interrupt-driven UART API, one first needs to enable TX
interrupts `uart_irq_tx_enable()`, and then write data from the interrupt
callback, after checking `uart_irq_tx_ready()`. In case of cc13xx_cc26xx,
calling `uart_irq_tx_enable()` unmasks the TX interrupt, however, it will
not generate a new TX interrupt. Thus the callback will not be called
unless we first write something to the uart (using polling-API), causing a
transition in buffer state.

According to TI docs, writing 1 byte to the buffer will also clear the
TX interrupt, so it does not make sense to try clearing the interrupt
manulally in `configure` function.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-02-27 07:58:45 +01:00
Stefan Schmidt
27241985fe drivers: audio: tlv320dac310x
This PR routes the DAC output to the mixer amplifier (not headphone output)
so that volume control via registers 0x24/0x25 on page 1 has any effect

Signed-off-by: Stefan Schmidt <kontakt@stefanschmidt-embedded.de>
2026-02-27 07:58:29 +01:00
Jordan Yates
7344fa4db9 debug: thread_analyzer: ISR info to callback
Run the user provided callback for the ISR stacks, instead of ignoring
the callback and printing the summary.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-02-27 07:57:33 +01:00
Jilay Pandya
788177da93 drivers: stepper_shell: split stepper shell
create stepper_ctrl_cmds in order to reflect api split

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2026-02-27 07:56:51 +01:00
Jilay Pandya
5af0e8548a dts: stepper: move m0/m1-gpios property in stepper-controller
m0-gpios and m1-gpios are common in step-dir stepper drivers
and hence placing them in common stepper-controller.yaml along
with step-gpios and dir-gpios

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2026-02-27 07:56:34 +01:00
Alvis Sun
61d3da1b8a drivers: i3c: npcx: fix DMA read when received data is less than expected
When the received data is less than expected, DMA timeout error may occur.
This happens because the DMA transfer is not completed and the TC
(Transfer Complete) flag is never set.

This change adds support for handling cases where the received data length
is smaller than the requested length, preventing false timeout errors.

The CL covers the following scenarios:
1. received < expected  (e.g. requested 10 bytes, got 9 bytes)
2. received = expected  (e.g. requested 10 bytes, got 10 bytes)
3. received > expected
(e.g. requested 10 bytes, got 10 bytes, but more data is coming, T-bit = 1)

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2026-02-27 07:56:00 +01:00
Alberto Escolar Piedras
8c06719191 net: lwm2m: Remove use of fcntl.h macros from messages
Just for consistency with the code and to avoid finding them on searches,
use the actually used macro names in the log messages.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-26 21:25:31 +00:00
Alberto Escolar Piedras
28c6f4d8d5 zvfs: Use own macros and remove include
Use the zvfs macros in the code of the module itself, instead of using
the versions from the POSIX API, and remove the header that defined those
as it is not needed anymore.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-26 21:25:31 +00:00
Denislav Trifonov
7d402f2c4e boards: stm32h7b3i_dk: fix LEDs aliases in devicetree source
Switch the 2 LED aliases, defined in the current devicetree source (dts)
for STM32H7B3I discovery board. This way the naming will be the same as
the corresponding nodes.

Signed-off-by: Denislav Trifonov <trifonovvdenislav@gmail.com>
2026-02-26 21:25:18 +00:00
Benjamin Cabé
ebbd884899 doc: release: document Python version policy
Document the conditions under which Zephyr bumps its minimum required
Python version, ensuring that support for older versions is only dropped
when they are nearing end-of-life and newer alternatives are widely
available in major LTS distributions (e.g., Ubuntu LTS).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-26 21:25:03 +00:00
Benjamin Cabé
2c8957fa0a doc: build: ci: twister: Zephyr now requires Python 3.12 or higher
Update getting started guide, release notes, CI actions, ruff,
build system, and Python version compliance check to use Python
3.12 as minimum supported version.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-26 21:25:03 +00:00
Benjamin Cabé
6f14a1daae scripts: ci: refresh requirements*.txt pinned versions and SHAs
This commit refreshes the pinned versions and SHAs for the
requirements.txt files and requirements-actions.txt files.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-26 21:25:03 +00:00