Commit graph

136,983 commits

Author SHA1 Message Date
Julien Racki
b3cb7040e8 samples: watchdog: Add CI build test for STM32 IWDG EWI
This commit ensures the CI will run test build  for the STM32
that supports the IWDG early wake-up.

Signed-off-by: Julien Racki <julien.racki-ext@st.com>
2025-12-04 17:12:08 -05:00
Julien Racki
086b873667 drivers: watchdog: Add the support of the IWDG Early Wakeup
Add the support of the IWDG early wakeup.
Gives the possibility for the user to set a
callback that will be called before an IWDG reset.

Signed-off-by: Julien Racki <julien.racki-ext@st.com>
2025-12-04 17:12:08 -05:00
Julien Racki
d3baaac688 drivers: watchdog: Add Kconfig option for the IWDG Early Wakeup
Add a Kconfig option that is enabled if the soc's
IWDG support early wakeup.

Signed-off-by: Julien Racki <julien.racki-ext@st.com>
2025-12-04 17:12:08 -05:00
Julien Racki
2715539964 dts: arm: st: Add the interrupt line for the IWDG
Add the interrupt line for the socs with the IWDG implemented.

Signed-off-by: Julien Racki <julien.racki-ext@st.com>
2025-12-04 17:12:08 -05:00
Farsin Nasar V A
2a5077b407 tests: drivers: pwm: pic32cx_sg61_cult: added pwm test support files
Added pwm test support files for pic32cx_sg61_cult

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2025-12-04 17:11:56 -05:00
Muhammed Asif
6b6711f520 boards: microchip: pic32cx_sg41_cult: Add pwm-led on board
- Configures the pwm led on board.

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2025-12-04 17:11:56 -05:00
Muhammed Asif
b936e42adf boards: microchip: pic32cx_sg61_cult: Add pwm-led on board
- Configures the pwm led on board.

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2025-12-04 17:11:56 -05:00
Muhammed Asif
b70c7bb7d5 dts: arm: microchip: pic32cx_sg: add tcc node for pwm peripheral
- Adds the dts nodes for pwm driver using tcc peripheral.

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2025-12-04 17:11:56 -05:00
Fabin V Martin
7e44876a29 tests: boot: test_mcuboot: Add board to platform allow list
Add pic32cx sg41 and sg61 cult boards.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-04 17:11:43 -05:00
Fabin V Martin
eee296298e samples: sysbuild: update list of allowed platforms
Add pic32cx sg41 and sg61 cult boards.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-04 17:11:43 -05:00
Fabin V Martin
51cf71afea boards: microchip: pic32cx_sg61_cult: update board dts
Add zephyr,flash-controller to the chosen node and
add partitions for mcuboot support

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-04 17:11:43 -05:00
Fabin V Martin
6e7591d772 boards: microchip: pic32cx_sg41_cult: update board dts
Add zephyr,flash-controller to the chosen node and
add partitions for mcuboot support

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-04 17:11:43 -05:00
Fabin V Martin
840a7c6955 dts: arm: microchip: add flash node and bindings
Add flash node and binding parameters for nvmctrl
flash driver

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-04 17:11:43 -05:00
Marco Widmer
9634425478 net: context: release context mutex before clearing IN_USE flag
A race condition was observed with concurrent net_context_get()
and net_context_unref() calls: If net_context_unref() is interrupted
just after clearing the NET_CONTEXT_IN_USE flag, net_context_get() may
try to reuse the context and reinitialize its mutex through
k_mutex_init(). Once net_context_unref() resumes, it calls
k_mutex_unlock() on the newly initialized mutex, which may lead to the
following assertion:

ASSERTION FAIL [mutex->lock_count > 0U] @ zephyr/kernel/mutex.c

Fix this by unlocking the context mutex before clearing the
NET_CONTEXT_IN_USE flag.

Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
2025-12-04 17:11:25 -05:00
Nikhil Namjoshi
79a7106f9d net: Initialize unspec_addr to avoid -Werror=maybe-uninitialized
The variable 'unspec_addr' in net_dhcpv6_init() is implicitly
initialized on some platforms and optimization levels, but not
guaranteed to be initialized on all code paths when built with
compiler instrumentation.

This leads to a build failure with the strict
'-Werror=maybe-uninitialized' warning when code coverage flags are
enabled (e.g., via twister --coverage).

```
zephyr/subsys/net/lib/dhcpv6/dhcpv6.c:2325:26: error: ‘unspec_addr’
may be used uninitialized [-Werror=maybe-uninitialized]
         net_ipaddr_copy(&net_sin6(&unspec_addr)->sin6_addr,
```

Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
2025-12-04 17:11:17 -05:00
Swamidas Nampalli
c2f8f9813d drivers: wifi: siwx91x: Drop the loop back packets
Added a MAC-layer filter to discard frames whose source MAC address
matches the devices own MAC address. These packets are looped-back
frames that do not need to be processed again by the network stack.

Dropping such frames early improves correctness, avoids redundant RX
processing, and reduces load on the IPv4/IPv6 protocol handlers.

This patch is a workaround for a bug in the NWP

Signed-off-by: Swamidas Nampalli <Swami.Das@silabs.com>
2025-12-04 14:05:47 -05:00
Johann Fischer
c828f5db8d doc: usb: add VID/PID documentation for the new USB device stack
The content is almost identical to that of the legacy stack because we
either ported or rewrote all the samples.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-12-04 14:05:35 -05:00
Markus Becker
96944d92f4 net: ocpp: Change Current.OfferedMaximum to Current.Offered
According to
<https://openchargealliance.org/wp-content/uploads/2025/04/OCPP_1.6_documentation.zip>
the Measurand value is called Current.Offered (Maximum current offered
to EV).

Signed-off-by: Markus Becker <markushx@gmail.com>
2025-12-04 14:05:24 -05:00
Jaro Van Landschoot
ca556db5c3 doc: releases: 4.4: Add PWM events
Add an entry for the addition of PWM events

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
2025-12-04 14:05:13 -05:00
Jaro Van Landschoot
9be9684b53 samples: drivers: pwm: event: Add sample
Add a simple sample demonstrating how the PWM event API can be
used to precisely time 5 periods of a PWM signal.

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
2025-12-04 14:05:13 -05:00
Jaro Van Landschoot
1becebc8f9 tests: drivers: build_all: pwm: add pwm event to sam
Add the pwm event functions of the sam pwm driver to the
build all test.

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
2025-12-04 14:05:13 -05:00
Jaro Van Landschoot
8407f1766f drivers: pwm: sam: Add period and fault events
The SAM4S pwm supports several events. This commit
implements the events when a channel period has ended
or a fault event has occured.

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
2025-12-04 14:05:13 -05:00
Jaro Van Landschoot
c6e64a1337 drivers: pwm: extend API to support events
Extend the PWM API to support events, as some
controllers allow interrupts if e.g., a pwm period
has ended or a fault occured.

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
2025-12-04 14:05:13 -05:00
Emil Gydesen
ff4347571b Bluetooth: BAP: Bcast Source: Add missing use of variable
The broadcast_state variable was not used in
bt_bap_broadcast_source_update_metadata to verify the
state, but broadcast_source_get_state was instead called
twice.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-12-04 14:05:05 -05:00
Emil Gydesen
51946986e6 Bluetooth: BAP: Bcast Source: Refactor bt_bap_broadcast_source_reconfig
Refactor the bt_bap_broadcast_source_reconfig function to be less
complex by splitting the verification into multiple functions.

Additionally, it also fixes a rare, but potential, issue where
some subgroups were updated before a later subgroup would fail
to be updated. Added can_merge_codec_cfg_data to verify correctness
before we attempt to update any subgroups. This new check is also
applied to bt_bap_broadcast_source_create.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-12-04 14:05:05 -05:00
Emil Gydesen
b6e3f8ee5c Bluetooth: BAP: Broadcast source: Reduce complexicty of valid_param
Move the subgroup parameter validation to its own function to
reduce the size and complexity of valid_broadcast_source_param
to make Sonarcube happy.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-12-04 14:05:05 -05:00
David Jewsbury
6450eaab48 drivers: nrf_auxpll: Add CHECK_DTS_BINDING_VS_MDK macro
Macro added to compare the devicetree bindings against
values in the MDK to clean up code and check out-div
bindings.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-12-04 14:04:54 -05:00
David Jewsbury
2a395ba0b9 dts: bindings: clock: nrf-auxpll: add out-div binding
It was previously possible to set output division setting
to an invalid number. These bindings ensure a valid number
is set of 0-8.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-12-04 14:04:54 -05:00
David Jewsbury
0e00299dcf dts: nrf9280: Update canpll to use frequency dts binding
CANPLL was not using the frequency binding defined in
nrf-auxpll.h

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-12-04 14:04:54 -05:00
Vignesh Pandian
c310133b3e scripts: checkpatch: fix missing blank line detection
Fix checkpatch not warning when blank line after declaration
is removed. Updated regexes to also handle context lines,
ensuring consistent detection.

Fixes: #98976

Signed-off-by: Vignesh Pandian <vignesh@aerlync.com>
2025-12-04 14:04:45 -05:00
Tomi Fontanilles
82906c642b doc: release-notes-4.4: add entry for TF-M 2.2.2 update
Document the update.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-12-04 14:03:35 -05:00
Tomi Fontanilles
ea3697bf88 manifest: tf-m: update to 2.2.2
Update the TF-M repos to 2.2.2, from version 2.2.0.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-12-04 14:03:35 -05:00
Mathieu Choplain
0289dec335 samples: board: st: wkup_pins: configure the GPIO pin as input
Certain series (e.g., STM32WBA) require pins to be configured as input
to behave properly as wake-up pins.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-04 14:03:17 -05:00
Lyle Zhu
91f19de3f8 tests: Bluetooth: Classic: rfcomm_s: Check connect event before send
Sometimes, the command `rfcomm_s send 9 1` will fail to execute due
to the DLC has not been established.

Check the DLC connected event before sending shell command
`rfcomm_s send 9 1`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-04 14:03:06 -05:00
Emil Hammarström
9538b4f0de drivers: sensor: lsm6dso: Add support for Accel LP filter
Add device tree support for enabling the second low pass filter
(LPF2) for the accelerometer output.

This adds additional low pass on top of the default ODR/2 from
the LPF1 output.

Signed-off-by: Emil Hammarström <emil.a.hammarstrom@gmail.com>
2025-12-04 14:02:57 -05:00
Emil Hammarström
54cd6a3963 drivers: sensor: lsm6dso: Change log level for failures during init
Log level in failures were changed from DBG to ERR so that the reason of
initialization failure may be known.

Signed-off-by: Emil Hammarström <emil.a.hammarstrom@gmail.com>
2025-12-04 14:02:57 -05:00
Axel Le Bourhis
5a2c28236e soc: nxp: mcxw23: increase system workque stack size when BT
Fix sysworkq stack overflow in various bluetooth samples due to using
mbedtls for crypto.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-12-04 14:02:41 -05:00
Carlo Caione
6343677e80 modules: Bump lora-basics-modem to v4.9.0
Bump lora-basics-modem module to v4.9.0.

Signed-off-by: Carlo Caione <carlo.caione@gmail.com>
2025-12-04 14:02:28 -05:00
Mathieu Choplain
92ebb28bb2 doc: generation: bump up known-good Doxygen and Latexmk versions
The "Documentation Generation" page listed a severely outdated "known-good"
version for Doxygen (1.8.13) which is no longer correct: recent attempts to
build the documentation using 1.9.1 failed miserably.

Update the minimum version to 1.15.0 which matches the version used by the
Zephyr-build Docker image, also used as part of CI, to ensure that what we
document as "known-good" is indeed a configuration known to work.

Following the same logic, bump up the known-good version of Latexmk to 4.83
which matches the version found in the Docker image. Even though some older
versions (such as 4.76) are also working, this documentation page is
informative rather than authoritative, so it's fine to merely document one
version known to work rather than the exact minimum version required.

The Graphviz version is untouched as it seems to match the Docker image.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-04 14:01:55 -05:00
Mathieu Choplain
fdd70c3769 dts: arm: st: n6: add nodes for USB2 instance
Even though the USB driver does not support multi-instance yet, out-of-tree
or custom boards may want to use the USB2 instance instead of USB1, which
is not currently possible because its node is not declared.

Add missing USBOTGHS2 and corresponding USBPHYC2 nodes to STM32N6 series
root DTSI file.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-04 14:01:31 -05:00
Stine Åkredalen
78c2b35a0e docs: Bluetooth: Mesh: Add Static OOB entropy requirement
Updates documentation for clarifying that for secure provisioning
with the BTM_ECDH_P256_HMAC_SHA256_AES_CCM algorithm,
the Static OOB value should contain more than 128 bits of
entropy to provide adequate security against attacks.

Signed-off-by: Stine Åkredalen <stine.akredalen@nordicsemi.no>
2025-12-04 14:01:22 -05:00
Valerio Setti
4cf7cd5748 drivers: crypto: mbedtls_shim: allow tag len to be specified in CCM
Retrieve the desired tag length from the "struct cipher_ctx" being passed
to "cipher_begin_session()" when using CCM.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-04 14:01:02 -05:00
Mathieu Choplain
518725cb3b drivers: rtc: stm32: remove ll in driver's file name
The `ll` part of driver's file name indicates that the implementation uses
the STM32Cube Low Level ("LL") library, which is not interesting because
there is only *one* STM32 driver implementation anyways. Addtionnally, the
presence of `ll` among STM32 drivers is not consistent.

Get rid of it for this class's driver to match most other STM32 drivers.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-04 14:00:34 -05:00
Mathieu Choplain
d0113285cf drivers: i2s: stm32: remove ll in driver's file name
The `ll` part of driver's file name indicates that the implementation uses
the STM32Cube Low Level ("LL") library, which is not interesting because
there is only *one* STM32 driver implementation anyways. Addtionnally, the
presence of `ll` among STM32 drivers is not consistent.

Get rid of it for this class's driver to match most other STM32 drivers.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-04 14:00:34 -05:00
Mathieu Choplain
967b42cbfe drivers: i2c: stm32: remove ll in drivers' file name
The `ll` part of drivers' file name indicates that the implementation uses
the STM32Cube Low Level ("LL") library, which is not interesting because
there is only *one* STM32 driver implementation anyways (per IP variant).
Addtionnally, the presence of `ll` among STM32 drivers is not consistent.

Get rid of it for drivers of this class to match most other STM32 drivers.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-04 14:00:34 -05:00
Mathieu Choplain
96632cd686 drivers: counter: stm32: remove ll in drivers' file name
The `ll` part of drivers' file name indicates that the implementation uses
the STM32Cube Low Level ("LL") library, which is not interesting because
there is only *one* STM32 driver implementation anyways (per IP variant).
Addtionnally, the presence of `ll` among STM32 drivers is not consistent.

Get rid of it for drivers of this class to match most other STM32 drivers.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-04 14:00:34 -05:00
Mathieu Choplain
6cb3ea5510 drivers: spi: stm32: remove ll in driver's file name
The `ll` part of driver's file name indicates that the implementation uses
the STM32Cube Low Level ("LL") library, which is not interesting because
there is only *one* STM32 driver implementation anyways. Addtionnally, the
presence of `ll` among STM32 drivers is not consistent.

Get rid of it for this class's driver to match most other STM32 drivers.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-04 14:00:34 -05:00
Piotr Kosycarz
167247ccdd tests: crypto: mbedtls_psa: just use ztest
This is regular ztest, no need to console harness.
(beside that console harness fails)

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2025-12-04 14:00:24 -05:00
Mark Wang
ab09c94377 doc: releases: migration-guide-4.4: libsbc is moved under bluetooth
Document that libsbc (sbc.c and sbc.h) has been moved under the Bluetooth
subsystem, with sbc.h now located in include/zephyr/bluetooth.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-12-04 05:26:00 -05:00
Mark Wang
2739b87566 libsbc: remove unused compile definitions
They are used in the sbc of bluedroid not in the sbc of Android bluetooth,
and Zephyr is using the sbc of Android bluetooth, so remove them.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-12-04 05:26:00 -05:00