Commit graph

136,983 commits

Author SHA1 Message Date
Vinayak Kariappa Chettimada
9351a1ab79 samples: Bluetooth: observer: Fix Extended Scanning on BBC Micro:bit
Fix configuration overlay file to support observer sample
with Extended Scanning on BBC Micro:bit board.

Due to slow CPU, there were assertions and, this commit
addresses them by defaulting to use of BT_CTLR_LOW_LAT.

Asserts mitigated:

- ASSERTION FAIL [start_us == (aux_start_us + 1U)]
  @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/
  nordic/lll/lll_scan_aux.c:359
  This will happen for small aux offset value, definitely
  for the 300 us because CPU usage latency to setup such
  auxiliary PDU reception on nRF51 is high due to slow CPU.

- ASSERTION FAIL [0]
  @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/
  nordic/lll/lll_scan_aux.c:592
    prepare_cb: Actual EVENT_OVERHEAD_START_US = 579
  This will happen due to CPU usage latencies scheduling
  the radio events, due to slow CPU.

Relates to commit eba31282e8 ("samples: Bluetooth:
observer: Extended Scanning on BBC Micro Bit board").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-12-02 15:22:52 -05:00
Vinayak Kariappa Chettimada
57e8cf516c Bluetooth: Controller: Fix BT_CTLR_LOW_LAT scan disable hang
When using BT_CTLR_LOW_LAT and LLL_PRIO equals ULL_LOW_PRIO,
add missing mayfly_enable() call for ULL_LOW execution
context, without this ticker_stop() does not get processed.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-12-02 15:22:52 -05:00
Raffael Rostagno
b3d34a20f6 drivers: sensor: dietemp: esp32: Update driver
Update driver to new version, from legacy driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-12-02 15:22:30 -05:00
Stoyan Bogdanov
57ea97ca8e tests: build_all: counter: Enable GPIO in prj.conf
Add missing CONFIG_GPIO in prj.conf which cause fails
while testing drivers which use GPIOs

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
7af8403a51 tests: sensor: Add microcrystal,rv3032-temp in build_all test suite
Ensure this driver is tested in the build_all test suite.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
1659a967e6 tests: counter: Add microcrystal,rv3032-counter in build_all test suite
Ensure this driver is tested in the build_all test suite.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
036cd7a451 tests: rtc: Update microcrystal,rv3032 in build_all test suite
Update rv3032 to reflect latest chanes to the driver.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
641ec27106 drivers: sensor: rv3032c7: Add temperature sensor driver for rv3032
Expose internal temperature sensor for rv-3032-c7. Driver is reporting
temperature from internal deice sensors and have HIGH an LOW temperature
treshhold which are triggering interrupts. I2C communication and IRQ are
handled from parent MFD driver.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
5028aa4036 drivers: counter: rv3032c7: Add rv3032 counter driver
Expose timer functionality from rv-3032-c7 via counter api.
I2C communication and IRQs are arbitrated via MFD parent driver
for rtc, sensor and counter at once.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
1a93d33d29 drivers: rtc: rv3032: Rework driver to use MFD driver
Rework rv3032 implementaion to use MFD driver unstead of local
implementaion for I2C access and Interrupt managements. This way
could be utilized parts which are not implemented because did not fit
in to RTC api - counter and temperature sensor. To have propper
sincronization arbitration is need which is handled from mfd_rv3032.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
c7bf6e83d6 dts: bindings: rv3032: Remove backup from rtc driver
Remove backup flag from RTC driver and move it to parent instead.
RTC driver still can access the values of the flags but MFD need
to know what is expected in term of initial behaviour.
Some assumptions done in RTC driver are causing inconsistant behaviour.
We cannot assume that the RTC alarms and notifications need to be
cleaned only if POR bit is triggered. We can have situation where
whole system go throigh soft restart and need to zero RV3032, so driver
need to have option to allow that kind of behaviour.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
f39882472a dts: bindings: rtc: Update rv3032 bindings
Remove gpio-int since interrupts will be managed from MFD driver
insted, acticting like dispatcher for interrupts.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
395d97bf81 drivers: rtc: Kconfig: Update rv3032 Kconfig to utilize MFD driver
Add dependecy for MFD driver and remove I2C dependency since it will
be managed from MFD driver together with interrupts.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
4d1713a07e drivers: mfd: rv3032: Add MFD driver for rv3032
Add MFD driver for managing rv3032 functionality which did not fit RTC
api. That way are implemented part which otherwise will not be used:
- RTC
- counter/timer
- temperature sensor

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
S Mohamed Fiaz
376747f2dd tests: gpio: siwx917_rb4342a: Add gpio_basic_api overlay files
This commit adds the GPIO overlay files for the brd4342a board,
enabling gpio_basic_api support in Zephyr.

Signed-off-by: S Mohamed Fiaz <Fiaz.Mohamed@silabs.com>
2025-12-02 15:20:47 -05:00
Mathieu Choplain
6cab9e7343 boards: st: *c0: add missing wake-up pins
On the STM32C0 series, the availability of certain wake-up pins depends on
the exact SoC in use. To avoid providing a large amout of SoC DTSI files,
boards are responsible for defining these "optional" wake-up pins inside
their own DTS.

Update existing STM32C0 boards' DTS to include the missing wake-up pins.
While at it, align Nucleo-C092RC which has the pins, but no comment about
why they are provided.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 15:20:11 -05:00
Trond F. Christiansen
e716bb7546 tests: zbus: add channel name test suite
Add tests to verify the zbus_chan_from_name() functionality

Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>
2025-12-02 15:19:32 -05:00
Trond F. Christiansen
46eca1e3a9 zbus: add zbus_chan_from_name() function
Add a new API function zbus_chan_from_name() that allows retrieving a
zbus channel by its name string. This complements the existing
zbus_chan_from_id() function and provides more flexibility for channel
lookup operations.

The implementation is conditionally compiled when CONFIG_ZBUS_CHANNEL_NAME
is enabled, ensuring it's only available when channel names are configured
in the system.

Signed-off-by: Trond F. Christiansen <trond.christiansen@nordicsemi.no>
2025-12-02 15:19:32 -05:00
Fin Maaß
5c152e19fa drivers: gpio: use I2C_INIT_PRIORITY as default for gpio chips on i2c bus
use I2C_INIT_PRIORITY as default for gpio chips,
that are on a i2c bus.

If childs have the same priority as their parents,
the init order is decided by the devicetree ordinals.
This ensures, that these childs are init after their parent.
Because of that gpio chips on a i2c bus can have the
same priority as the i2c controller.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-12-02 15:19:24 -05:00
Fin Maaß
66f572e24b drivers: gpio: Kconfig: use if for pca95xx and pca_series
use if instead of multiple depends on for pca95xx and pca_series GPIO
Kconfig files to improve readability.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-12-02 15:19:24 -05:00
Emil Gydesen
9155e50d3d doc: releases: Fix duplicate Bluetooth entry
There were 2 entries for Bluetooth in the New APIs and options

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-12-02 15:19:13 -05:00
Pieter De Gendt
5c56bf0240 tests: unit: util: Add tests for COND_CASE_1
Add test cases for the COND_CASE_1 macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-12-02 15:19:02 -05:00
Pieter De Gendt
0d43cd2ba0 sys: util: Add COND_CASE_1 macro
Add a switch/case like variant of the COND_CODE_1 macro where the first
flag that equals 1 has its value expanded, with a default fallback.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-12-02 15:19:02 -05:00
Martin Hoff
ff3637bf83 soc: silabs: siwx91x: enabled clock control by default for siwx91x soc
Enable clock control by default for siwx91x SoCs. Moreover, most
drivers for siwx91x soc depend on clock control, but didn't declare
it.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-02 15:18:53 -05:00
Yves Wang
bf9f4c0cee ci: compliance: Correct dts-linter install cmd
Install dts-linter requires prefix for package.json

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2025-12-02 15:18:43 -05:00
Mathieu Choplain
16a14f9dd8 boards: st: *: use lowercase hex for properties
Update various properties using hex values in STM32 boards DTS to comply
with the DTS Coding Style which says that "hex values in properties should
use lowercase hex".

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 15:18:36 -05:00
Mathieu Choplain
c30fd6e3e4 dts: arm: st: *: use lowercase hex for vrefint-cal-addr property
Update all `vrefint-cal-addr` properties in STM32 DTSI to comply with DTS
Coding Style which says that "hex values in properties should use lowercase
hex".

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 15:18:36 -05:00
Mathieu Choplain
e9e1d12496 dts: arm: st: *: use lowercase hex for dietemp cal-addr properties
Update all `cal-addr` properties in STM32 DTSI to comply with DTS Coding
Style which says that "hex values in properties should use lowercase hex".

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 15:18:36 -05:00
Mathieu Choplain
9176880f25 dts: arm: st: *: use lowercase hex for reg property
Update all `reg` properties in STM32 DTSI to comply with DTS Coding Style
which says that "hex values in properties should use lowercase hex".

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 15:18:36 -05:00
Fabio Baltieri
db1a4f6e54 ci: pr_metadata_check: add a concurrency key
Add a concurrency key so old runs are cancelled automatically.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-12-02 15:18:18 -05:00
Fabio Baltieri
d646664406 ci: pr_metadata_check: timeout after 30mins
This workflow spins forever if the manifest workflow does not run, and
apparently sometimes GitHub "forgets" to run it.

Add a timeout so that this fails after some time rather than the whole
6h timeout.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-12-02 15:18:18 -05:00
Qingsong Gou
f45b55404f boards: sifli: sf32lb52_devkit_lcd: enable reset
Enable reset on sf32lb52_devkit_lcd board

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-12-02 16:16:20 +00:00
Mathieu Choplain
bfef7e6de9 soc: st: stm32: reorganize family-wide common Kconfig
Split STM32 family-wide common Kconfig in two separate files: a new Kconfig
file `soc/st/stm32/common/Kconfig` to hold options that affect the common
code found in the same directory, and the existing top-level Kconfig file
`soc/st/stm32/Kconfig` which now only holds options used by multiple series
but not consumed by the common code - for example, options that are used by
SoC-specific code or consumed by the STM32Cube HAL module go in this file.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:16:13 +00:00
Mathieu Choplain
236e0d0765 soc: st: stm32: use autogenerated compatible Kconfig macro variables
Instead of defining our own, use the DT_COMPAT_<> macro variables generated
by the build system inside the STM32 SoC Kconfig file.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:16:03 +00:00
Yasushi SHOJI
912dd66608 boards: sc: Add SC-OBC module V1 support
Add initial board support for the Space Cubics SC-OBC Module V1. The
hardware is based on an AMD Versal AI Edge VE2302 and a Microchip
IGLOO2. This Zephyr port runs on the Versal device’s Real-Time Processing
Unit (dual Arm Cortex-R5F).

This commit is the first in the series and only supports the basic devices
needed to run samples/hello_world and samples/philosophers. Specifically,
it adds the Cortex-R5F, UARTs, and the GIC interrupt controller.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2025-12-02 16:15:49 +00:00
Erwan Gouriou
eefebb4555 dts: stm32l4: Clean up comment from can nodes
Remove use less comments

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-12-02 16:15:29 +00:00
Jilay Pandya
a3ce6ccb0a drivers: tmc51xx: move DT_DRV_COMPAT to tmc51xx.c
TMC51XX would have to be remodeled as a mfd, this means
that each device tmc51xx, tmc51xx_motion_controller and
tmc51xx_stepper_driver will have their own DT_DRV_COMPATs.
Whenever the common header is included as of now, the
adi_tmc51xx DT_DRV_COMPAT would have to be undef-ed each time
in order to define a new DT_DRV_COMPAT i.e. required by the devices
of the tmc51xx mfd.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-12-02 16:14:47 +00:00
Mathieu Choplain
d49fc11661 drivers: usb: udc: stm32: instance-aware ULPI reset GPIO handling
Make ULPI reset GPIO accessible via a pointer in the instance configuration
block, initialized only when the instance's PHY is an ULPI PHY with the
corresponding property. Check at runtime during instance initialization for
this GPIO, and perform appropriate action depending on its presence.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
4c51bf6987 drivers: usb: udc: stm32: instance-aware disconnect GPIO handling
Make disconnect GPIO accessible via a pointer in the instance configuration
block, initialized only when the instance does have it as property. Always
provide the HAL_PCDEx_SetConnectionState() callback which configures the
GPIO when present in the instance configuration block.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
659c6e91f2 drivers: usb: udc: stm32: instance-aware message queue handling
Move message queue backing buffer inside instance data block to reduce
usage of globals. The message queue structure itself was already inside the
instance data block, only the initialization code needed an update.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
d3769f7385 drivers: usb: udc: stm32: instance-aware worker thread handling
Obtain the stack info for each instance's worker thread from the instance
configuration block instead of using globals.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
419860eb97 drivers: usb: udc: stm32: instance-aware pinctrl configuration handling
Use pinctrl from the instance configuration block instead of global object.
Create pinctrl on all series (even STM32N6) and always attempt to configure
it, but don't treat empty configuration as an error to allow pinctrl-less
series to work.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
a06a97c40a drivers: usb: udc: stm32: instance-aware EP configurations handling
Get rid of global macro USB_NUM_BIDIR_ENDPOINTS by using the direct DT
macro when creating the endpoint configuration arrays and initializing
the instance configuration block. Access the endpoint configurations
through the instance configuration block instead of using global objects.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
eccb243bdf drivers: usb: udc: stm32: instance-aware IRQ configuration handling
Get rid of global macros UDC_STM32_IRQ and UDC_STM32_IRQ_PRI by using the
direct DT macro when initializing the instance configuration block, and
performing IRQ_CONNECT() in a per-instance function called indirectly via
the instance configuration block.

While at it, get rid of the driver's useless ISR wrapping layer: the Zephyr
ISR calling convention just so happens to allow using the HAL IRQ handler
directly without a trampoline, which is slightly faster and ought to use
less ROM.

Note that global UDC_STM32_IRQ_NAME is still consumed, but it will be
replaced by another mechanism as part of the final step of multi-instance
support implementation.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Valerio Setti
f5ec45bf49 tests: benchmark: renew Mbed TLS crypto testing
The previous source file was copied from Mbed TLS several years ago and
since then not many updates were made. For example:
- testing stopped at CTR-DRBG exiting with failure;
- emulation wasn't really catching any output so a timeout of 60 seconds
  was required in order to fully complete the testing;
- the "harness: crypto" was preventing the code from being really tested
  with twister.

Last but not least, all of the functions used here belong to the legacy
Mbed TLS crypto support that is going to be removed from the next
TF-PSA-Crypto release.

The goal of this commit is to renew the test code making it really usable
and testable. For the time being hash and ciphers are tested, but
asymmetric key testing can be added in the future if desired.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 16:14:25 +00:00
Valerio Setti
e41a4098b5 tests: mbedtls: remove crypto.mbedtls
The file "mbedtls.c" was copied from upstream Mbed TLS several years ago
and since then only minor fixes has been added when failing, no real
upgrade was made since then.

Reasons for removal include:
- some of the symbols were already removed (ex: MD2, MD4, RIPEMD160, ARC4,
  etc) but their testing was not removed;
- most of the code is guarded but "prj.conf" doesn't set any Kconfig
  related to the crypto features in Mbed TLS, so likely only the default
  ones are really tested;
- last but not least all of these "mbedtls_xxx_self_test()" function will
  disappear in the next TF-PSA-Crypto release so they cannot be maintained
  here.

This suite is replaced with tests in "zephyr/tests/crypto/mbedtls_psa".

"MAINTAINERS.yml" was also updated in this commit in order to reflect
this removal and add path for existing tests.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 16:14:25 +00:00
Valerio Setti
ad8ffe9c14 tests: crypto: mbedtls_psa: add tests for hash, hmac and cipher
Extend current testing of Mbed TLS' PSA Crypto API adding hash and hmac
functions.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 16:14:25 +00:00
Valerio Setti
97e4511a03 doc: migration-guide: add note for JWT_SIGN_RSA_LEGACY removal
Add a note about CONFIG_JWT_SIGN_RSA_LEGACY removal. The note also includes
details on why this removal is done before the usual Zephyr deprecation
period.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 16:14:11 +00:00
Valerio Setti
6ebc151f6d tests: subsys: jwt: remove tests for legacy RSA support
Since support for CONFIG_JWT_SIGN_RSA_LEGACY has been removed,
corresponding tests should be removed as well.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 16:14:11 +00:00
Valerio Setti
597fc3bbe1 jwt: remove support for legacy RSA crypto
CONFIG_JWT_SIGN_RSA_LEGACY was already deprecated, but we agreed on
removing all usages of legacy Mbed TLS crypto from Zephyr codebase quickly
in order to prepare for the transition to Mbed TLS 4.0/TF-PSA-Crypto 1.0.

Therefore this commit remvoes support for CONFIG_JWT_SIGN_RSA_LEGACY
before the deprecation period expires.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 16:14:11 +00:00