Commit graph

136,983 commits

Author SHA1 Message Date
Andrey Smirnov
af04b317e9 bindings: pwm-leds: Include base.yaml
Include base.yaml in order to support zephyr,deferred-init property.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
2025-11-23 05:31:38 -05:00
Fabian Blatz
0ec9fc42a4 modules: lvgl: Fix thread deletion in OSAL
Do not delete the thread from within the thread callback function,
secure thread_delete against trying to delete a terminated thread.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-11-23 05:31:29 -05:00
Fabian Blatz
152e48a9fb tests: lib: gui: lvgl: Add missing DYNAMIC_THREAD dependency
This patch adds a CONFIG_THREAD_STACK_INFO to properly enable
CONFIG_DYNAMIC_THREAD.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-11-23 05:31:29 -05:00
Fabian Blatz
871103d072 manifest: Update LVGL to v9.4
Update the west yaml to point to the new LVGL version.
Update CMakeLists and samples accordingly.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-11-23 05:31:29 -05:00
Alberto Escolar Piedras
4d7944037f tests zbus async_listeners: Fix bug in test
Fix a bug in the test which caused it to fail (depending on compiler,
platform and optimization level).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-11-23 05:31:00 -05:00
Arkadiusz Cholewinski
1d6e0d533a Power harness: Update path for the raw data file.
Change direction for raw data file from $ZEPHYR_BASE
to <path_to>twister-out/../<test>/

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2025-11-22 11:45:44 +01:00
Simone Orru
5f7c451671 west: spdx: Fix copyright parsing in REUSE 0.6.x
Fix broken copyright parsing. Since REUSE 6.0.0 the copyright_lines
attribute has been removed. The new attribute copyright_notices is used.
Additionally, the python package REUSE should now be at least v0.6.0.
This will require an update of REUSE for users that were using a
version earlier than 0.6.

Fixes #98378

Signed-off-by: Simone Orru <simone.orru@secomind.com>
2025-11-22 05:13:26 -05:00
Ha Duong Quang
bf16aeaf4f soc: nxp: mcux: enable driver dmamux for S32Z270
S32ZE use DMAMUX for DMA channel routing instead of TRGMUX.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2025-11-22 05:13:04 -05:00
Håvard Reierstad
627b6e4dd7 Bluetooth: Host: Legacy passkey entry 6.2 update
As of Core v6.2, the passkey entry pairing method for legacy pairing
does no longer grant authenticated MITM protection. This commit
updates `smp.c` accordingly to not grant the authenticated states when
using legacy passkey entry pairing.

Adds a check to make sure that bonds that have been stored persistently
adheres to these changes. Bonds that have been generated using the
legacy passkey entry pairing method will thus be downgraded from
authenticated to unauthenticated when restored from storage.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2025-11-22 05:12:56 -05:00
Mathieu Choplain
cc749290a7 include: crypto: remove experimental API note
Update top-level comment of `include/zephyr/crypto/crypto.h` as the API is
no longer experimental, as indicated by the @version 1.0.0 tag in Doxygen.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-22 05:12:47 -05:00
Benjamin Cabé
2abc94830e docs: gpio: Add GPIO docs
Add more complete documentation page for GPIO

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-22 05:12:37 -05:00
Pete Johanson
625a2c2c7c boards: adi: Ensure no flash access on MAX32657 NS
MAX32657 NS does not have access to the flash peripheral, so ensure the
placeholder flash controller node is disabled, and update the "storage"
node in the evkit board definition to properly document its use for TFM.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2025-11-22 05:12:27 -05:00
Fin Maaß
dee55a64f3 doc: releases: migration-guide: 4.4: mention mdio change
mention mdio change.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-11-22 05:12:18 -05:00
Fin Maaß
374c745e3f drivers: mdio: remove mdio_bus_enable/mdio_bus_disable
remove mdio_bus_enable/mdio_bus_disable, as they are no
longer needed and make the mdio api simpler.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-11-22 05:12:18 -05:00
Fin Maaß
e484f4a842 drivers: mdio: always enable mdio bus
always enable mdio bus during init.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-11-22 05:12:18 -05:00
John Batch
f7594383b4 drivers: i2c: Infineon: Removing references to pdl from device tree
Removes differentiation between pdl and hal based drivers from device
tree.  This differentiation is now done as a Kconfig option.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-11-22 05:12:02 -05:00
John Batch
8275b4fb2f drivers: i2c: infineon: Fixing build errors in i2c_ifx_cat1_pdl.c
Fixing build errors related to reference to an incorrect define.
Adds missing headers to pinctrl_soc.h for Edge platform.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-11-22 05:12:02 -05:00
Emil Gydesen
7bbf704f60 tests: Bluetooth: Tester: Add validation of preconfig values
Add checks for the values in btp_ascs_preconfigure_qos
to determine if they are valid. If they are invalid
we reject the command.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-11-22 05:11:54 -05:00
Emil Gydesen
1d28715d25 Bluetooth: ISO: Add SDU check for CIS
If both the TX and RX SDUs are 0, then we reject
the call as that is an invalid configuration
(minimum SDU size is 1, and 0 indicates that
no data in that direction is being configured).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-11-22 05:11:45 -05:00
Maureen Helm
3cb5e6aff8 drivers: can: Select pin control in max32 driver
Fixes the max32 can driver to follow the convention for drivers to
select pin control if they need it.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2025-11-22 05:11:35 -05:00
Luca Burelli
4e33ca16be boards: arduino: fix docs to remove note about BT only functionality
SDIO is now fully supported on STM32 targets, and this enabled the use
of Wi-Fi functionality on Arduino H7 boards. Remove the note in the
documentation that states only Bluetooth is supported.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-11-22 05:11:24 -05:00
Benjamin Cabé
955317160d Bluetooth: AVRCP: fix doxygen warning
fix a small typo that turns into a doxygen warning on recent doxygen
versions.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-22 05:11:12 -05:00
Rodrigo Peixoto
9463d9a51d doc: zbus: async listeners
Add documentation for async listeners.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2025-11-21 11:42:56 -05:00
Rodrigo Peixoto
854eda699c samples: zbus: add async linstener to the hello world sample
Add the async linstener to the hello_world sample.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2025-11-21 11:42:56 -05:00
Rodrigo Peixoto
52ec497937 samples: zbus: async listeners sample
Add a sample for async listeners.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2025-11-21 11:42:56 -05:00
Rodrigo Peixoto
804a5d68d6 tests: zbus: filter out tests that aren't SMP aware
The tests are failing in architectures that support SMP. Filtering them to
make CI happy, as done in #97827. Issue #98217 was created to address that
separately for all tests.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2025-11-21 11:42:56 -05:00
Rodrigo Peixoto
f4c1bdf57d tests: zbus: add async listeners tests
Add test for async listeners.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2025-11-21 11:42:56 -05:00
Rodrigo Peixoto
71712e2ca0 zbus: introduce async listeners
Add a new type of observer: Async Listeners. They are executed within the
system work queue context, offering distinct advantages:

- Asychrouness: obviously it gains the ability of run some urgent/light
  work load in a separate context.
- Prioritization: Async Listeners typically execute before other
  application observers, as they run within the system work queue context
  which is cooperative.
- Reliability: Ensures no message loss during execution. They use the same
  mechanism as Message Subscribers.

Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
2025-11-21 11:42:56 -05:00
Cristian Bulacu
b9542abf86 net: l2: openthread: border_router: Enhance modules deinit
This commit deinitializes platform modules when external network
interface is brought down. It also delets the multicast routes that are
added for OpenThread interface.

Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
2025-11-21 11:42:46 -05:00
Cristian Bulacu
f1a432d8c8 openthread: platform: Correct handling of closing sockets
In this commit, `net_socket_service_register` is called when a platform
module that has sockets is deinitialized, and it's socket/sockets are
closed.
This commit also handles a case when a module tries to join a multicast
group and a subscription, from another module, is already present.

Also, covered network namespace changes done in #99169

Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
2025-11-21 11:42:46 -05:00
Cristian Bulacu
e888405c61 openthread: platform: trel: Handle enable/disable from CLI
OpenThread interface is initialized beform Wi-Fi interface.
`otPlatTrelEnable` is called by OpenThread stack when it's interface is
being initialized. Given this scenario, socket operation, like `bind`,
will fail. There is also no mean to get a valid pointer to backbone
interface. This is why, `trel_plat_init` was declared and called when
backbone interface reported connectivity.

This commit handles the `ot trel disable/ot trel enable` scenario that
can be initialized from CLI. `otPlatTrelEnable` will be called, but
`trel_plat_init` will not be called anymore, leaving trel socket without
any options set, and `net_socket_service_register` is not called
anymore, to handle incoming traffic.
Now, when `otPlatTrelEnable` is called, it will verify if Wi-Fi
interface is connected and will call `trel_plat_init` if needed.

Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
2025-11-21 11:42:46 -05:00
Alberto Escolar Piedras
1329a097c1 net: ocpp: Correct way of getting strdup prototype
Zephyr subsystems' headers should not duplicate C library prototypes
(in this case strdup(), which is either ISO C23 or a POSIX extension to
the C library <string.h>).

Instead they should request those prototypes from the C library.
By now Zephyr only requires ISO C17, but many C libraries will have
strdup() and expose it also when the POSIX extensions prototypes are
requested, so let's request these prototype from the C library by
setting the feature test macro _POSIX_C_SOURCE to version 2008.09
which includes it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-11-21 11:42:33 -05:00
Aleksandar Stanoev
1eea6adad2 bluetooth: host: Fix bt_conn reference leak in Frame Space Update
Fix a missing unref of a bt_conn reference, leading to a ref count
mismatch, and causing the following warning to be printed:
bt_conn: Found valid connection ... in disconnected state.

Signed-off-by: Aleksandar Stanoev <aleksandar.stanoev@nordicsemi.no>
2025-11-21 11:41:24 -05:00
Johann Fischer
5137439a47 usb: device_next: use slist to store completed transfer requests
USBD_MAX_UDC_MSG configures the number of events coming from the UDC
driver that the stack can keep. This can be filled very quickly if there
would be multiple bus events for some reason, or function handlers of
those events are blocked for long time. As a consequence, subsequent
events could be dropped, and completed transfers not handled. To avoid
it, we can store completed transfer requests in a slist and check it on
every event.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-11-21 11:41:15 -05:00
Peter van der Perk
9f20e79f66 soc: nxp: s32: S32K3 use early reset to init ECC ram before using it.
SOC_RESET_HOOK is already too late because the code touches ram already
instead use the newer SOC_EARLY_RESET_HOOK so we can do ECC
initialization before using the memory

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-11-21 11:40:56 -05:00
Robert Lubos
7a9ca8e410 tests: net: dns_resolve: Add tests for dns_unpack_name()
Verify that dns_unpack_name() generates a valid DNS name when unpacking
records and that it returns an error in case of overflow.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-11-21 11:40:44 -05:00
Robert Lubos
7bd45cd39b net: dns: Fix potential buffer overflow when unpacking labels
As the loop unpacking the DNS name from records checks the current
label length on each iteration, it's also needed to update the remaining
buffer length on each iteration, otherwise the buffer length checks
doesn't work as expected.

Additionally, the remaining buffer checks while technically worked, they
were conceptually wrong and unintuitive. The buf->data pointer doesn't
move, so comparing against this pointer when adding new labels doesn't
make sense. It's more intuitive to simply compare the label size vs
the remaining buffer space.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-11-21 11:40:44 -05:00
Carles Cufi
353dadf54b scripts: test_plan: Fix issue introduced in 3f77560
The rewrite by ruff seems to wrongly pass a single argument to filter(),
as seen in the logs:

```
    f.process()
  File "/home/runner/work/zephyr/zephyr/zephyr/./scripts/ci/test_plan.py",
  line 145, in process
    self.find_boards()
  File "/home/runner/work/zephyr/zephyr/zephyr/./scripts/ci/test_plan.py",
  line 292, in find_boards
    self.resolved_files.extend(list(filter(resolved_filter)))
                                    ^^^^^^^^^^^^^^^^^^^^^^^
TypeError: filter expected 2 arguments, got 1
```

Split things up properly to avoid this.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-11-21 09:48:12 -05:00
Robert Lubos
396fcbf4f5 tests: net: socket: tcp: Add another test case for asynchronous connect
Verify that if the application triggers asynchronous connect with
non-blocking sockets, and starts to monitor the socket with poll()
immediately but with POLLIN only set, the poll() is still able to
report an error if the connection fails. As no POLLOUT is monitored, the
application won't know when the connection is done in case of success,
but it should still be notified in case of errors.

To achieve this, modify the existing test case to allow to specify what
events should be monitored by poll(). Additionally monitor the time
spent in poll() - an error should cause poll() to exit immediately,
not after the specified timeout.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-11-21 09:47:50 -05:00
Robert Lubos
6be292c35e net: tcp: Wake pending threads if non-blocking connect fails
If a thread was sleeping in poll(), monitoring POLLIN only, it should
still be notified if an asynchronous connection, triggered by
non-blocking connect(), failed. Currently that's not the case.
In result the application would never know whether the connection
was successful or not and would be stuck with a disconnected socket
that would not report anything with poll().

This was not an issue if POLLOUT was monitored as well, because POLLOUT
sets up a connect semaphore that was reset in case of errors. POLLIN
however only monitors the recv fifo, which was not waken up in such
case.

Fix this by canceling any pending waits on recv fifo and recv
condition variable.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-11-21 09:47:50 -05:00
Lyle Zhu
17384f450e samples: Bluetooth: Classic: Add guide on how to build/run samples
Add guide on how to build and run samples for the Bluetooth Classic.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-11-21 09:47:42 -05:00
Firas Sammoura
b433573997 tests: riscv: Remove local z_riscv_pmp_read_config() prototype in PMP test
The function prototype for `z_riscv_pmp_read_config()` was previously
declared in `tests/arch/riscv/pmp/clear-pmp-unlocked-entries/src/main.c`.

This local declaration is no longer necessary as the prototype is now
defined within the centralized PMP header, `include/arch/riscv/pmp.h`,
which is already included via `kernel_internal.h`. The prototype
is guarded by the `CONFIG_ZTEST` Kconfig option.

Signed-off-by: Firas Sammoura <fsammoura@google.com>
2025-11-21 09:47:21 -05:00
Alexander Svensen
87997afeb2 bluetooth: audio: scan_delegator: Reject remove when PA synced
- BASS mandates that a remove_source operation is not done if
  we are synced to PA or BIS. This PR fixes that
- Update BabbleSim tests to reflect this behavior
- Fixes BASS/SR/SPE/BI-05-C

Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
2025-11-21 09:47:10 -05:00
Thomas Decker
2864417de9 boards: st: nucleo_h7s3l8 & stm32h7s78_dk: Fix ext_mem MPU type
Change the zephyr,memory-attr of the ext_memory / ext_flash_mem node to
ATTR_MPU_FLASH because ATTR_MPU_IO does not allow unaligned memory access.

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2025-11-21 09:47:01 -05:00
Thomas Decker
50268f5f02 dts: arm: st: h7rs: Remove ext_memory node
Remove the ext_memory: memory@70000000 node as the external flash memory
is part of the board design. The nucleo_h7s3l8 and stm32h7s78_dk boards
already have this node.

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2025-11-21 09:47:01 -05:00
Pieter De Gendt
d43e592f04 drivers: ethernet: eth_sam: Fix BUF_TX_FRAME macro
Add missing n,x macro arguments.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-21 09:46:52 -05:00
Carles Cufi
d6f5aa9258 scripts: west: nrfutil: Use build dir to store generated json
Until now the code was using the path to the .hex file to select the
directory where the generated JSON file required for nrfutil would be
generated. But this has a problem: if the .hex file in a sysbuild
project is located in the tree as a precompiled binary, the runner would
place a file in there and make the tree dirty. Instead use the build_dir
folder which always corresponds (in both sysbuild and regular builds)
to the current target build directory.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-11-21 09:46:41 -05:00
Jukka Rissanen
5b5d42dd92 tests: posix: headers: Tests disable POSIX API but use POSIX symbols
This cannot possibly work, if POSIX is disabled, then the POSIX
symbols are also not found so remove the "without_posix_api" tests.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-11-21 09:46:14 -05:00
Guillaume Legoupil
2baee8af6d drivers: add config NXP_IEEE802154_MAC to pull up MCUX_COMPONENTs for NBU
west: update hal_nxp to integrate mcux: middleware: ieee_802_15_4 MAC: Add
      CONFIG_NXP_IEEE802154_MAC
      zephyr: blobs: add MCXW71 & MCXW72 BLE controller and Host libraries
                     (ieee-802.15.4-mac) to MCUXSDK 25.09.00 release
      This new version of the BLE controller is for ZigBee support and
      implements ieee-802.15.4 MAC interface.

Update connectivity framework for MCXW71 & MCXW72 BLE controller
(ieee-802.15.4 MAC) from MCUXSDK 25.09 release.

Signed-off-by: Guillaume Legoupil <guillaume.legoupil@nxp.com>
2025-11-21 12:02:00 +01:00
Fabrice DJIATSA
56d44d9261 drivers: flash: stm32_h7: invalidate data cache after flash write
STM32H7 platforms now enable cache management by default.
To ensure data coherency after flash writes, invalidate cache
lines to the region written.
This prevents stale data and ensures proper memory visibility.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-11-21 12:01:41 +01:00