Commit graph

136,983 commits

Author SHA1 Message Date
Fin Maaß
04f652c4bd drivers: gpio: add macro to set common config struct
use macro to set common config struct.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-19 09:25:11 +01:00
Fin Maaß
aeed5f5c7c drivers: gpio: add macro to set common config struct
add macro to set common config struct.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-19 09:25:11 +01:00
Fabio Baltieri
3ddbc5f9ac samples: button: fix build issue when led0 is defined but disabled
Seems like some boards have an LED that is mounted but not connected to
the gpio by default and needs a jumper or solder bridge to work, and in
that case the led0 node is defined with status = "disabled".

Rework the led_dt_spec led0 initialization to handle that and just build
with no led support.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-02-19 09:24:25 +01:00
Stefan Gloor
647b9c0654 dts: arm: st: add stm32h562xi and stm32h563xg
The STM32H56XXX family is available in 1 and 2 MB versions,
where

STM32H563 V I XXX
        | | |
        | | +- I: 2 MB flash
        | | +- G: 1 MB flash
        | |
        | +- Pin count
        |
        +-- H562: without Ethernet
        +-- H563: with Ethernet

All four options are available, but currently we only have
device trees for two of them.

Introduce two new device tree includes for the other
two combinations:
- stm32h562Xi.dtsi
- stm32h563Xg.dtsi

Signed-off-by: Stefan Gloor <stefan.gloor@siemens.com>
2026-02-19 09:23:30 +01:00
Gaetan Perrot
854e8c3fcb modules: hostap: hapd_api: fix potential null pointer dereference
Prevent a possible NULL pointer dereference in
hostapd_ap_reg_domain() when get_hostapd_handle() returns NULL.

Previously, the function continued execution after detecting a NULL
interface pointer, which could lead to dereferencing iface->state.

Return early via a common exit path when errors are detected to
ensure safe execution.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-19 09:22:25 +01:00
Henrik Brix Andersen
ce1c7feb42 tests: drivers: can: api: pick a platform for the NXP S32 CANXL test
Pick a specific platform for the NXP S32 CANXL specific test configuration
instead of relying on build-time filtering on all twister invocations.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-19 09:21:44 +01:00
Sunil Hegde
945894c8fa drivers: i2c: i2c_omap: fix inconsistent register type definitions
This commit fixes the inconsistent type usage. Functions which
initialised i2c registers as uint16_t, changed to uint32_t to
match with register definition struct.

Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
2026-02-19 09:19:58 +01:00
Sunil Hegde
809ca435a7 drivers: i2c: i2c_omap: improve timeout handling in message transfers
The driver used a decrement loop to check for time out during message
transfer, which was not sufficient. The newer implementation uses a
fixed time of 1000ms for timeout to be consistent with the Linux
kernel.

Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
2026-02-19 09:19:58 +01:00
Sunil Hegde
7eb1cf2133 drivers: i2c: i2c_omap: fix FIFO byte count extraction
The driver was not correctly extracting FIFO byte counts
from the BUFSTAT register, causing multi-byte I2C transfers
to fail.

The BUFSTAT register layout is:
 - Bits [13:8]: RX FIFO byte count
 - Bits [5:0]: TX FIFO byte count

Also, the driver didnot update the remaining bytes after
each transfer which is fixed by decrementing the remaining
message length after each transfer.

This fix aligns the driver implementation with Linux.

Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
2026-02-19 09:19:58 +01:00
Yasushi SHOJI
7c8cc258f8 doc: develop: manifest: external: Add libcsp
Add a new external module page for libcsp (CubeSat Space Protocol).  The
page introduces libcsp and documents how to pull it in via west along with
the required Kconfig setting for Zephyr.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2026-02-19 09:19:16 +01:00
Dave Joseph
2f3af507e9 drivers: firmware: tisci: Fix semaphore cleanup
- Add proper semaphore cleanup in error paths where it was missing

Signed-off-by: Dave Joseph <d-joseph@ti.com>
2026-02-19 09:14:55 +01:00
Dave Joseph
3ad7b47071 drivers: firmware: tisci: Add secure path support
Add support for secure TISCI communication paths to enable
message exchange with secure contexts on TI SoCs.
- Add secure header wrapping for outbound messages on secure path
- Add secure header parsing for inbound messages on secure path

Signed-off-by: Dave Joseph <d-joseph@ti.com>
2026-02-19 09:14:55 +01:00
Dave Joseph
b1bc08eb5a drivers: firmware: tisci: Add secure property
- Add ti,is-secure device tree property to indicate secure host entities
- Add is_secure field in device config

Signed-off-by: Dave Joseph <d-joseph@ti.com>
2026-02-19 09:14:55 +01:00
Dave Joseph
2581dd286e drivers: firmware: tisci: Reorganise macros
- Add missing TISCI message type macros in tisci.h
- Clean macro organisation
- Add Secure indicator for message that require secure thread

Signed-off-by: Dave Joseph <d-joseph@ti.com>
2026-02-19 09:14:55 +01:00
Ryan Erickson
37eb5ad031 drivers: modem: hl7800: do not restore sockets on boot
HL7800 only supports restoring 1 socket on boot. This means,
only the first socket created can be restored.
This isn't very useful, so never restore sockets on boot.
The driver already handles recreating sockets when
low power modes are used.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2026-02-18 16:36:59 +00:00
Scott Coleman - wsl
6c5004e468 drivers: modem: hl7800: unlock before closing all sockets
iface_status_work_cb() calls notify_all_tcp_sockets_closed() while
holding hl7800_lock(). The close-all path can re-enter hl7800 via
socket callbacks, causing a lock inversion deadlock.

Signed-off-by: Scott Coleman - wsl <scott@sjcdev.com>
2026-02-18 16:36:59 +00:00
Scott Coleman - wsl
f6846c5650 divers: modem: hl7800: treat TCP_CONN notif as per-socket error
TCP connect refused triggers +K**P_NOTIF ,5.
The current handler falls through to default, marks network_dropped,
and later closes all sockets, taking down unrelated
connections (e.g., MQTT).

Signed-off-by: Scott Coleman - wsl <scott@sjcdev.com>
2026-02-18 16:36:59 +00:00
Fabrice DJIATSA
af21169d47 tests: drivers: watchdog: wdt_basic_api: reduce window timeout on STM32F7
Due to hardware limitations on STM32F7X series and tand the design of
the drivers.watchdog.stm32wwdg test scenario (which does not allow adding
a board-specific overlay with the appropriate clock configuration
for 200 ms), the window watchdog timeout is decreased from 200 ms
to 170 ms.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-02-18 16:36:44 +00:00
Fabrice DJIATSA
41f57b3721 tests: drivers: watchdog:Fix noinit placement and disable dcache STM32H7
The watchdog basic test was unreliable due to:

- noinit variables being placed in DTCM, which is unsuitable
for this use on all STM32 platforms.

- Data cache preventing last writes from being committed to SRAM
before reset on STM32H7

Also, update the stm32wwdg_h7 scenario to disable cache during CI
testing.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-02-18 16:36:44 +00:00
Fabrice DJIATSA
d37e4da41c watchdog: drivers: stm32: fix timeout validation using absolute difference
The WWDG timeout check used a signed comparison between the requested
and computed timeout, causing valid configurations to be rejected when
the computed timeout was slightly lower than the requested one.

Replace the comparison by an absolute‑difference check so that the
configured timeout is accepted as long as it stays within the allowed
error margin.
This fixes spurious -EINVAL returned by install_timeout() on STM32.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-02-18 16:36:44 +00:00
Marek Matej
80ad4a99b5 boards: espressif: AMP doc update
Update the AMP serial port usability description.
Rephrase the note about the snippets usability condition.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2026-02-18 16:36:28 +00:00
Sylvio Alves
93e76ac3b7 tests: mcuboot: remove harness regex wildcards
The MCUboot test harness regex was hardcoded to match the
"I:" log prefix. Remove the wildcards pattern to match
regardless of the log level prefix format.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-18 16:36:12 +00:00
Eryk Szpotanski
4544c98b16 scripts: instrumentation: Use elftools instead of objdump
System-wise objdump can select different target for the same zephyr.elf
file depending on e.g. operation system, which can lead to discrepancies
and error in zaru.py script.
Using elftools fixes this problem.

Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
2026-02-18 14:45:12 +00:00
Paweł Pelikan
125afecddd tests: kernel: sleep: Adjustments for NRF54H20 PPR xip
Adjusting the max shortest ticks value for slow PPR core with XIP variant.

Signed-off-by: Paweł Pelikan <pawel.pelikan@nordicsemi.no>
2026-02-18 14:44:40 +00:00
Robert Lubos
61603ebdb1 net: openthread: Add missing CMake linkage to mbed TLS
OpenThread platform lib (psa_crypto.c specifically) needs access to mbed
TLS headers, therefore add explicit linkage in the library to avoid
build issues.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-02-18 14:44:15 +00:00
Mohamed Azhar
d04d9e6387 boards: microchip: pic32cm_pl10_cnano: add pinctrl to supported list
Add pinctrl to supported drivers list for pic32cm_pl10_cnano board

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2026-02-18 14:44:06 +00:00
Mohamed Azhar
e129c02d5d soc: microchip: Update pinctrl files for port G1
Updates G1 pinctrl files

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2026-02-18 14:44:06 +00:00
Mohamed Azhar
3a4041d628 dts: arm: microchip: pic32cm_pl: Add pinctrl nodes
Adds the pinctrl node and encapsulates the port nodes within
the pinctrl node for pic32cm pl series of socs, and updates
the binding file

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2026-02-18 14:44:06 +00:00
Mohamed Azhar
b6ec0e74cb west.yml: Update west.yml for updating hal directory
Update west.yml for adding the pinctrl definition in
hal_microchip for pic32cm_pl devices

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2026-02-18 14:44:06 +00:00
Benjamin Cabé
798bacfed5 doc: _extensions: put board status abbr into a paragraph
Commit 7449b51688 introduced a new
"Status" field for indicatting whether a board is actively maintained or
not but the field was added as an abbr node directly to the field list
which causes it to render with an ever so slightly larger font size than
the other fields. Put it into a paragraph to fix this.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-18 14:43:18 +00:00
Mathieu Choplain
6ad783490b tests: arch: arm: user_stack_test: exclude mps2/an386
CI reported failures when running this test. However, this seems to be a
QEMU issue rather than an actual kernel bug: according to reports, the test
runs fine when using the ARM FVPs (Fixed Virtual Platform) instead of QEMU.

Temporarily exclude the platform from CI while the issue is diagnosed.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-18 14:43:10 +00:00
Mathieu Choplain
b669a39738 kernel: events: use abort thread timeout using dedicated function
Use z_abort_thread_timeout() instead of the lower-level z_abort_timeout().
The thread-flavoured version also has a stub fallback when
CONFIG_SYS_CLOCK_EXISTS=n removing the need for preprocessor checks.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-18 14:43:10 +00:00
Mathieu Choplain
5a0f73f045 kernel: events: wake threads atomically using waitq post-walk callback
When CONFIG_WAITQ_SCALABLE=y, wake up all threads from a post-waitq-walk
callback which is invoked while the scheduler spinlock is still held. This
solves the race condition that was worked around via `no_wake_in_timeout`
flag in k_thread and `is_timeout` parameter of z_sched_wake_thread_locked()
which can now both be dropped.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-18 14:43:10 +00:00
Mathieu Choplain
73feef8b20 kernel: sched: add post-walk callback argument to z_sched_waitq_walk()
Modify z_sched_waitq_walk() to accept an optional callback invoked after
the walk while still holding the scheduler spinlock. This can be used to
perform post-walk operations "atomically". Update all callers to work with
this new function signature.

While at it, create dedicated (private) typedefs for the callbacks and
clean up/improve the routine and callbacks' documentation.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-18 14:43:10 +00:00
Mathieu Choplain
3ba7dcfe2c kernel: events: wake threads during wait queue walk if possible
When CONFIG_WAITQ_SCALABLE=n, the callback invoked by z_sched_waitq_walk()
is allowed to remove the thread provided as argument from the wait queue
(an operation implicitly performed when waking up a thread).

Use this to our advantage when waking threads pending on a k_event by
waking threads as part of the waitq walk callback instead of building
a list of threads to wake and performing the wake outside the callback.
When CONFIG_WAITQ_SCALABLE=n, this allows removing a pointer-sized field
from the thread structure which reduces the overhead of CONFIG_EVENTS=y.

The old implementation (build list in callback and wake outside callback)
is retained and used when CONFIG_WAITQ_SCALABLE=y since we can't modify
the wait queue as part of the walk callback in this situation. This is now
documented above the corresponding field in k_thread structure.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-18 14:43:10 +00:00
Mathieu Choplain
e725225489 kernel: sched: perform safe waitq walk inside z_sched_waitq_walk()
z_sched_waitq_walk() used _WAIT_Q_FOR_EACH, a wrapper around the
"unsafe" SYS_DLIST_FOR_EACH_CONTAINER which does not allow detaching
elements from the list during the walk. As a result, attempting to
detach threads from the wait queue as part of the callback provided
to z_sched_waitq_walk() would result in breakage.

Introduce new _WAIT_Q_FOR_EACH_SAFE macro as wrapper around the "safe"
SYS_DLIST_FOR_EACH_CONTAINER_SAFE which allows detaching nodes from
the list during the walk, and use it inside z_sched_waitq_walk().
While at it:
- add documentation on the _WAIT_Q_FOR_EACH macro, including a warning
  about detaching elements as part of the loop not being allowed
- add note to documentation of z_sched_waitq_walk() indicating that
  the callback can safely remove the thread from wait queue as this
  will no longer break the FOR_EACH loop
- add _WAIT_Q_FOR_EACH_SAFE to the list of ForEachMacros in .clang-format

NOTE: this new "safe removal inside callback" behavior is only available
when CONFIG_WAITQ_SCALABLE=n. When the option is 'y', red-black trees are
used instead of doubly-linked lists which prevent mutation of the list
while it is being walked. This limitation is explicitly documented.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-18 14:43:10 +00:00
Mathieu Choplain
eac6c7cb24 kernel: sched: don't acquire scheduler spinlock in z_sched_wake_thread()
Don't acquire the _sched_spinlock in z_sched_wake_thread(). This allows
calling the function from callbacks which already own the spinlock. The
function is renamed to z_sched_wake_thread_locked() to reflect this new
behavior, and all existing callers are updated to ensure they hold the
_sched_spinlock as is now required.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-18 14:43:10 +00:00
Robert Robinson
320f3b4893 samples drivers: counter: alarm: Add support for nRF7120
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-18 14:42:51 +00:00
Robert Robinson
1c33298b40 samples: sysbuild: hello_world: Add support for nRF7120
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-18 14:42:51 +00:00
Robert Robinson
66aa83a8d3 samples: sensor: qdec: Add support for nRF7120
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-18 14:42:51 +00:00
Robert Robinson
3902ab8632 samples: drivers: i2c: rtio_loopback: Add support for nRF7120
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-18 14:42:51 +00:00
Robert Robinson
6d543bede7 samples: boards: nordic: system_off: add support for nRF7120
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-18 14:42:51 +00:00
Robert Robinson
5101fe2832 samples: boards: nordic: nrf_sys_event: Add support for nRF7120
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-18 14:42:51 +00:00
Robert Robinson
8a7282182b samples: basic: minimal: Add support for nRF7120
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-18 14:42:51 +00:00
Benjamin Cabé
979c69eedd doc: services: jwt: Add dedicated page for JWT API
Add more complete/dedicated documentation page for JWT API

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-18 14:42:22 +00:00
Henrik Brix Andersen
bf9007f381 boards: remove odd tags from supported board features
Remove the tags "shell" and "LED" from the lists of supported board
features as there are no tests nor samples that depend on these tags.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-18 10:32:03 +00:00
Jukka Rissanen
d060673658 net: wifi: shell: Convert the code to use SHELL_HELP macro
This will save flash memory by 1489 bytes and make usage help look
uniform in different commands.

Re-order the shell commands to alphabetical order. This has been
done before but has bitrotted over time.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2026-02-18 10:31:49 +00:00
Mirai SHINJO
9ec320d762 tests: coredump: enable coredump_threads test for RISC-V
Add RISC-V QEMU platforms to debug.coredump.threads integration coverage.

Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
2026-02-18 10:31:33 +00:00
Mirai SHINJO
78718321e9 arch: riscv: coredump: add per-thread dump support
Select ARCH_SUPPORTS_COREDUMP_THREADS (if !SMP) and
ARCH_SUPPORTS_COREDUMP_STACK_PTR for RISC-V, and implement
arch_coredump_stack_ptr_get().

This enables CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_THREADS and
CONFIG_DEBUG_COREDUMP_THREAD_STACK_TOP.

For non-current threads, return thread->callee_saved.sp.

For the faulting current thread in stack-top mode, return the
exception-time SP from z_riscv_get_sp_before_exc() (cached during
arch_coredump_info_dump()) instead of thread->callee_saved.sp,
which reflects switch-time state.

Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
2026-02-18 10:31:33 +00:00
Mirai SHINJO
9473277fe2 arch: riscv: coredump: dump all 33 registers
Expand the RISC-V coredump register block to all 33 GDB registers
(x0-x31, pc) in register-number order.

Previously only 18 registers were serialized. Populate zero, sp, gp,
tp, s0, and s1-s11 (when available).

Bump ARCH_HDR_VER from 1 to 3 (RISC-V 32-bit layout) and from 2 to 4
(RISC-V 64-bit layout) for the new wire format.

Keep the RISC-V 32-bit block fixed at 33 fields on the RISC-V RV32E
profile; registers not implemented by RV32E remain zero-filled so
version 3 always has a stable size.

Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
2026-02-18 10:31:33 +00:00