Commit graph

136,983 commits

Author SHA1 Message Date
Pascal Bodin
01a86ffd18 drivers: serial: uart_cc13xx_cc26xx: make irq_tx_ready check interrupt
Make cc13xx_cc26xx_irq_tx_ready check that the TX Ready interrupt
occurred, instead of checking whether there is some free space in
the UART TX FIFO. This prevents a race condition from occurring in
OpenThread Spinel protocol implementation, when a UART RX interrupt
is received right after otPlatUartSend was called, between the
assignement of 1 to ot_uart.tx_busy and the initialization of
write_length.

Signed-off-by: Pascal Bodin <pbodin@baylibre.com>
2026-02-02 14:43:24 +01:00
Afonso Oliveira
38c6a40a0b doc: boards: nsim: arc_v: Document lldbac runner usage
Add comprehensive documentation for using the lldbac runner with arc_v
nSIM board targets, covering simulator and hardware debugging workflows.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
Signed-off-by: Mohamed Moawad <moawad@synopsys.com>
2026-02-02 14:43:05 +01:00
Afonso Oliveira
ec902c22c0 boards: nsim: arc_v: Add lldbac runner support
Add lldbac runner configuration to arc_v nSIM board family for
simulator debugging with run-lldbac tool.

Configure --nsim-props argument using the same NSIM_PROPS variable as
arc-nsim runner for consistency. This enables the lldbac runner to
use the board-specific nSIM properties for simulator mode debugging.

The lldbac runner supports both simulator and hardware modes, with
simulator mode being enabled via the --simulator flag. For hardware
debugging, users need to provide --board-json configuration separately.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2026-02-02 14:43:05 +01:00
Afonso Oliveira
5c7be7ecb7 runners: Add lldbac runner for run-lldbac debugging
Introduce a new Zephyr runner, `lldbac`, providing interactive debugging
for both nSIM (simulator) and physical hardware using the run-lldbac
tool from Synopsys ARC MWDT.

This runner provides integrated debugging support:
- debug: Interactive debugging with integrated server management,
  Available for both simulator and hardware (integrated mode)
- flash: Flash and run on physical hardware,
  Available for hardware only (simulator should use arc-nsim)

Key features:
- Hardware mode: Flash and debug on physical hardware using JTAG flags
- Simulator mode: Interactive debugging on nSIM using run-lldbac with
  --nsim flag (props or --tcf). Enable with --simulator flag.
- Board-driven config: Boards can specify defaults in board.cmake
- TCF support: Optional --tcf for simulator mode (mutually exclusive
  with --nsim-props)
- GUI support: Optional --gui flag for VS Code debugging
- Postconnect support: Execute commands after connection via
  --postconnect-cmd and --postconnect-file for hardware initialization
- Board JSON: Optional --board-json for complex board configurations

Hardware configuration (flag-based):
- --jtag-device: JTAG device name (optional, auto-detected)
- --jtag: JTAG adapter type (default: jtag-digilent)
- --jtag-frequency: JTAG clock frequency (default: 500KHz)
- --postconnect-cmd: Command to execute after connection
  (can be used multiple times)
- --postconnect-file: File containing commands to execute after
  hardware initialization
- --board-json: Path to board.json file for board configuration

Simulator configuration:
- --simulator: Enable simulator mode (required)
- --nsim-props: nSIM properties file path
- --tcf: Tool Configuration File (alternative to --nsim-props)

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
Signed-off-by: Mohamed Moawad <moawad@synopsys.com>
2026-02-02 14:43:05 +01:00
Torsten Rasmussen
76f4bc5b8c cmake: ensure CMake 3.20 support
Zephyr supports CMake 3.20, which doesn't support
`file(COPY ... ONLY_IF_DIFFERENT)` and requires `BRIEF_DOCS` and
`FULL_DOCS` when defining properties.

This commit ensures the build system is CMake 3.20 compliant.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2026-02-02 14:42:20 +01:00
Fabrice DJIATSA
799ab6e4fd boards: shields: x_nucleo_iks02a1: boards: remove plli2s Q output
According to  STM32F411xC/E refman(RM0383) and the clock tree, there
is no PLLI2SQ output.

Remove the div-q property to fix build error.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-02-02 12:57:50 +01:00
Robert Lubos
476ae94f31 net: sockets: Fix userspace recvmsg() msg_namelen copying
The recvmsg() msg->msg_namelen was not updated if CONFIG_USERSPACE
was enabled.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-02-02 12:57:28 +01:00
Robert Lubos
6514e7bcf9 net: sockets: Set address in TCP recvfrom()
Sender address and address length were not set in recvfrom() when called
for TCP socket. Fix this by reusing the code used to set source address
on accept().

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-02-02 12:57:28 +01:00
Robert Lubos
c754d12bc7 tests: net: socket: tcp: Improve recvfrom/recvmsg address validation
recvfrom() and recvmsg() were not properly tests in terms of the address
structure they returned, therefore improve the tests in this area.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-02-02 12:57:28 +01:00
Adam Kondraciuk
40b5385176 tests: retained_mem: Fix overlay for nRF54H20dk
Remove `cpux_ram0` node from overlay file as it is
already defined in DTS.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2026-02-02 12:57:16 +01:00
Tim Lin
319b8cf828 drivers/i2c: it51xxx: Refactor read and write buffer handling
Use internal buffer pointers for I2C read and write paths instead of
advancing i2c_msg->buf directly. This avoids unintended pointer side
effects while keeping the read and write data flow unchanged.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2026-02-02 12:57:02 +01:00
Tim Lin
451c2a4f40 drivers/i2c: it8xxx2: enhance: Refactor read and write buffer handling
Use internal buffer pointers for I2C read and write paths instead of
advancing i2c_msg->buf directly. This avoids unintended pointer side
effects while keeping the read and write data flow unchanged.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2026-02-02 12:57:02 +01:00
Tim Lin
67cdfc40d4 drivers/i2c: it8xxx2: Refactor read and write buffer handling
Use internal buffer pointers for I2C read and write paths instead of
advancing i2c_msg->buf directly. This avoids unintended pointer side
effects while keeping the read and write data flow unchanged.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2026-02-02 12:57:02 +01:00
TOKITA Hiroshi
253651384f boards: blackberry: qnxhv_vm: Add VIRTIO devices definitions
Add `virtio-console` and `virtio-entropy` definitions.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-02-02 12:56:47 +01:00
James Walmsley
a794d3d477 tests: drivers: build_all: Add test for ADS79xx ADC devices
Ensure the ads79xx driver and all compatibles are compiled in ci.

Signed-off-by: James Walmsley <james@fullfat-fs.co.uk>
2026-02-02 12:56:29 +01:00
James Walmsley
069141e487 drivers: adc: ads79xx: implement adc driver for ti-ads79xx
Initial implementation of an adc driver for the ads79xx series of
spi-adc chips.

This driver sets the device in auto-1 mode, and supports devices
in the series, with different resolutions (12/10/8-bit),
and number of channels.

Signed-off-by: James Walmsley <james@fullfat-fs.co.uk>
2026-02-02 12:56:29 +01:00
James Bennion-Pedley
4b7ef1878d dts: wch: Add missing 20x/30x SPI and I2C nodes
Adds some missing peripheral bindings for the CH32V20x/30x SOCs.

Signed-off-by: James Bennion-Pedley <james@bojit.org>
2026-02-02 12:56:20 +01:00
Fin Maaß
9934d7e82d drivers: spi: litex: litespi: make the rxtx size a define
make the rxtx size a define, as this driver
does not support any other value and it's
also not configureable in litex.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-02 12:56:11 +01:00
Sudan Landge
20af915623 cmake: linker: Fix rom_start for armclang
If CONFIG_ROMSTART_RELOCATION is enabled, create a *separate* load/exec
memory region for the vector table. This must be separate for armlink,
otherwise moving .rom_start changes the LR base and drags .text with it.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-02-02 12:56:02 +01:00
Sudan Landge
283ab71d3e arch: arm: fix undefined symbol error for armclang
arch_irq_enable(), arch_irq_disable(), arch_irq_is_enabled() are
exported to assembly via GTEXT() but are implemented as C macro mappings
in some configurations. This can leave undefined symbol in objects that
include irq.h, which some linkers diagnose as errors as seen below with
armlink:
```
Error: L6218E: Undefined symbol arch_irq_enable (referred from reset.o).
Error: L6218E: Undefined symbol arch_irq_disable (referred from
reset.o).
Error: L6218E: Undefined symbol arch_irq_is_enabled (referred from
reset.o).
```
Map the arch_irq_* to appropriate underlying implementation in the
_ASMLANGUAGE path so that all assembly-visible exports resolve to real
symbols.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-02-02 12:56:02 +01:00
Sudan Landge
4b635e1879 cmake: toolchain: disable picolibc for armclang
`armclang` doesn't support picolibc right now so disable it and fix
few issues related to it as below:

```
zephyrproject/zephyr/lib/libc/validate_libc.c:17:14: error: static
assertion failed due to requirement 'sizeof(unsigned int) >= 8': time_t
cannot hold 64-bit values
   17 | BUILD_ASSERT(sizeof(time_t) >= 8, "time_t cannot hold 64-bit
   values");
```

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-02-02 12:56:02 +01:00
Sudan Landge
20ba3f561f cmake: armlink: fix No Load Execution Region error
Add system symbols in right region (FLASH) instead of the first
non-empty load section to fix below build errors:

```
Error: L6384E: No Load Execution Region of name ramfunc seen yet at line
11.
Error: L6384E: No Load Execution Region of name bss seen yet at line 13.
Error: L6384E: No Load Execution Region of name bss seen yet at line 17.
```

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-02-02 12:56:02 +01:00
Sudan Landge
ab0473509f cmake: armclang: fix -lgcc error for armclang
Fix below build error with armclang by not passing the gcc
runtime library flags.
```
Fatal error: L3900U: Unrecognized option '-lgcc'.
```

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-02-02 12:56:02 +01:00
Sudan Landge
c586a933cc cmake: linker: do not pass -Os to armlink
`armlink` does not accept -O* flags so, drop linker optimization flags
to avoid below build error:

```
  Fatal error: L3903U: Argument 's' not permitted for option 'O'.
```

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-02-02 12:56:02 +01:00
Holt Sun
d73e311f4a drivers: serial: uart_mcux_lpuart: fix async RX race condition
Fix race condition between DMA ISR and work queue that caused RX
length underflow when calculating len = counter - offset.

Both mcux_lpuart_async_rx_timeout (work queue) and dma_callback
(ISR) modified rx_dma_params without locking, causing the ISR to
update counter/offset mid-calculation, resulting in integer
underflow and system crash.

Solution: Add irq_lock() protection around all rx_dma_params
accesses in async_evt_rx_rdy(), mcux_lpuart_async_rx_flush(),
and async_evt_rx_buf_release().

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-02-02 12:55:52 +01:00
Holt Sun
b07ed4bf93 drivers: serial: uart_mcux_lpuart: improve rx_enable error reporting
Split error handling in mcux_lpuart_rx_enable() to distinguish
between DMA status query failures (error) and busy status (debug).

- Use LOG_ERR for get_status failures with specific error code
- Use LOG_DBG for busy status (expected condition, valid -EBUSY)
- Improves debuggability by providing clearer diagnostic messages

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-02-02 12:55:52 +01:00
Robert Robinson
ccf98f74bf scripts: runners: nrf: Add support for nRF7120
Add support for nrf7120 to use nrfutil runner in
upstream zephyr.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-02 12:55:40 +01:00
Neil Chen
1e03ea8ff7 boards: frdm_mcxa344: add temperature sensor support
1. enable temperature sensor support
2. verified samples/sensor/die_temp_polling

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-02-02 10:01:31 +01:00
Neil Chen
9356f35702 tests: drivers/adc/adc_api: Support adc api test for NXP frdm_mcxa344
Support adc api test for NXP frdm_mcxa344

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-02-02 10:01:31 +01:00
Neil Chen
6691fe1530 samples: drivers/adc: Support adc example for NXP frdm_mcxa344
Support adc example for NXP frdm_mcxa344

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-02-02 10:01:31 +01:00
Neil Chen
fc0fa25f5e boards: nxp: frdm_mcxa344: Support adc for NXP frdm_mcxa344 board
Support adc for NXP frdm_mcxa344 board.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-02-02 10:01:31 +01:00
Ren Chen
222c24b60f sample: subsys: pmci: i3c_bus_endpoint: moves rx msg handler to sys workq
The binding function `mctp_i3c_target_tx()` is called by (libmctp)
`mctp_message_tx()`, and it uses `k_sem_take()`.

In the mctp/i3c_bus_endpoint sample, `mctp_message_tx()` is executed
from isr callback (`stop_cb`). However, `k_sem_take()` must not be
called from isr context. This issue can be detected when
`CONFIG_ASSERT` is enabled.

To fix this, this patch moves the rx message handler to the system
workqueue.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2026-02-02 10:00:55 +01:00
Ren Chen
11a23fccb3 pmci: mctp: mctp_i3c_controller: fix missing STOP flag for i3c write msg
This commit adds the missing `I3C_MSG_STOP` flag for i3c
write message.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2026-02-02 10:00:55 +01:00
Ren Chen
0fc925ee6a pmci: mctp: mctp_i3c_target: fix incorrect return code check
The return value greater than 0 from `i3c_target_tx_write()`
indicates the number of bytes written. This patch fixes
the incorrect check.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2026-02-02 10:00:55 +01:00
Pete Johanson
adb65bce2d drivers: flash: Allow configuring dummy byte count for RDID request
Different flash parts have different requirements on the number of dummy
bytes to send when issued a RDID request, so allow configuring the read ID
dummy byte count in devicetree for the MAX32 SPIXF flash driver.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-02-02 10:00:36 +01:00
Liu Gavin (CSS ICW ENG WFS SW WFSW 1)
85d353d450 drivers: wifi: infineon: fix channel and bandwidth configuration
Pass the selected channel and bandwidth to WHD, so the AP
enables on the requested channel/width.

Signed-off-by: Liu Gavin (CSS ICW ENG WFS SW WFSW 1) <Gavin.Liu@infineon.com>
2026-02-02 09:59:58 +01:00
Guðni Már Gilbert
58bf2dc0e6 scripts: zephyr_module: replace pykwalify with jsonschema
Replace all usage of pykwalify in zephyr_module.py with jsonschema

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
2026-02-02 09:59:40 +01:00
Jérôme Pouiller
de64c007c2 modules: silabs: Force sli_mv_m4_app_from_flash_to_ram() to be in RAM
SiWx917 does not support concurrent read and write on the flash.
sli_mv_m4_app_from_flash_to_ram() ensure that requirement. Especially, it
disable the Zephyr scheduler. However, to guaranty the instruction cache
won't access to the flash, this function has to be located in RAM.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-02 09:59:14 +01:00
Fin Maaß
856aa240ee Kconfig: remove unneeded hack in shields
remove unneeded hack in shields

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-02 09:58:42 +01:00
Fin Maaß
b13819b7e3 Kconfig: net: remove useless default
NET_CONFIG_NEED_IPV6 is by default
already not enabled, so we don't need
to add that default again in a shield.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-02 09:58:42 +01:00
Svitlana Drozd
07aa749d01 xen: arch-arm: sync xen_arch_domainconfig with Xen
The xen_sysctl_getdomaininfo function (which calls the
XEN_SYSCTL_getdomaininfolist hypercall) returned meaningless data
because the xen_domctl_getdomaininfo structure in Zephyr was 8 bits
smaller than in Xen.

This happened because the xen_arch_domainconfig structure, which is used
in both xen_domctl_getdomaininfo and xen_domctl_createdomain, was
missing the uint8_t sve_vl field introduced in Xen Domctl interface
version 0x16.

To fix this, the sve_vl field was added to xen_arch_domainconfig under
the appropriate config macro, synchronizing the structure with Xen and
resolving the data mismatch.

Signed-off-by: Svitlana Drozd <svitlana_drozd@epam.com>
2026-02-02 09:58:20 +01:00
Gaetan Perrot
4f3478391a drivers: wifi: nrf_wifi: remove redundant vif_ctx_zep initialization
Fix redundant initialization of vif_ctx_zep where the variable was
initialized at declaration and immediately overwritten before being
read.

Remove the redundant initialization to improve code clarity.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-31 17:30:30 +01:00
Gaetan Perrot
7f93ac21c7 settings: settings_zms: make settings_zms_dst and settings_zms_src void
settings_zms_dst() and settings_zms_src() never reports errors and
always returns 0.
The error check at the call site is therefore dead code.

Make the function void and drop the unused error handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-31 17:30:07 +01:00
Gaetan Perrot
baffd63304 posix: mqueue: handle pthread_create() failure in send_message
Check and handle errors returned by pthread_create() when using
SIGEV_THREAD notification.

Previously, the return value was ignored, which could lead to silent
failures.

Proper error handling is added to propagate failures and set errno
accordingly.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-31 17:29:53 +01:00
Arthur Gay
2c8f7dd41d samples: drivers: memc: Add support for stm32h7s78_dk PSRAM
This patch adds support for the STM32 XSPI memory controller in order to
enable PSRAM testing. It also adds a board overlay for the STM327S78
Discovery Kit that includes a PSRAM memory.

Signed-off-by: Arthur Gay <arthur.gay@marshmallow.kids>
2026-01-31 17:29:32 +01:00
Ryan Smith
b54d787d3e shell: allow empty prompt
Setting the prompt to the empty string allows it to be hidden. This is the
intent of the shell command 'shell prompt off'. However, in the most recent
change to the prompt handling, this functionality was lost. Presumably,
the check for 'prompt_length == 0' was to avoid a NULL prompt. However,
NULL is already checked for. Remove the zero-length check and restore the
ability to set the prompt to the empty string.

Signed-off-by: Ryan Smith <elryno@elryno.com>
2026-01-31 17:29:18 +01:00
Gaetan Perrot
156ed2690c tests: modem: fix typos in comments and assert
Fix spelling and wording issues in comments and assert across tests
modem files.

No functional change.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-31 10:56:23 +01:00
Hake Huang
cdd9d63a46 twister: handler: add spsdk support with dev_id
spsdk now support dev_id as parameter

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-01-31 10:56:06 +01:00
Torsten Rasmussen
076b625f21 cmake: iar: remove linker optimization workaround
Remove linker optimization workaround for IAR linker as the new
inheritance scheme allows empty linker values.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2026-01-30 16:58:13 -06:00
Torsten Rasmussen
f04c9c0093 cmake: improve linker and assembly optimization inheritance
Switch manual linker and assembly inheritance settings from custom
handling of checking and setting linker/assembly optimization settings
based on compiler properties to instead use CMake's property inheritance
mechanism.

This reduces code to maintain as well as allow toolchain infrastructure
to clear optimization property flags when no flag is required or
supported, for example by the linker.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2026-01-30 16:58:13 -06:00