Commit graph

116882 commits

Author SHA1 Message Date
Saravanan Sekar
3fe1eda7fb dts: arm: ti: mspm0: Add a support for TI MSPM0 Timer Counter
Add a support for TI MSPM0 Timer which has sub module for Counter,
Timer Capture and Timer Compare.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-06-10 10:25:10 -04:00
Saravanan Sekar
7a3f79ef86 drivers: counter: Add a support for TI MSPM0 Timer counter
TI MSPM0 SoC series has General Purpose Timer and Advanced control timers
with Counting module, Capture block (measure input signal period/time) and
Compare block (to generate time expiry, output waveform like PWM).

Add a support for counter driver with alarm and counter top functions.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-06-10 10:25:10 -04:00
Krzysztof Chruściński
0261d7d96d drivers: pwm: nrfx: Add option to glitch free 100% duty cycle
IDLEOUT presence in PWM means that there are 3 sources from which
PWM pin can be driven:
- GPIO setting when PWM peripheral is disabled.
- IDLEOUT setting when PWM is enabled.
- PWM Sequence when it is in use.

IDLEOUT setting cannot be changed after enabling PWM so it is
configured to the initial state of the pin. It means that if duty
cycle is 100%, GPIO output is set to 1 but initial pin state was 0
(IDLEOUT setting) there will be a glitch between disabling a PWM
sequence and disabling a PWM peripheral.

By default, PWM driver tries to disable PWM peripheral if all channels
are 0% or 100% duty cycle to safe power. When IDLEOUT feature is
present there will be a short glitch on channels with 100% duty cycle.

In order to avoid that CONFIG_PWM_NRFX_NO_GLITCH_DUTY_100 option is
added (enabled by default). When option is enabled 100% duty cycle
is achieved by PWM sequence and not by driving a GPIO pin. It will
consume more power in cases where all channels are 0% or 100% with
at least one channel set to 100% duty cycle.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-06-10 10:24:16 -04:00
Krzysztof Chruściński
28cfb3fecd dts: pwm: nordic: Add idleout-supported property
Add property which indicates that PWM instance supports IDLEOUT
feature. Add property to all instances that supports it.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-06-10 10:24:16 -04:00
Bjarki Arge Andreasen
39233656b2 tests: spi: loopback: get spi controller before timed transfer
The test which measures and validates transfer times is using the
helper spi_loopback_transceive() to perform the transfer. This
helper internally gets the spi controller, which is useful for
most tests, but for this one, it means the time to get and put
the spi controller is included in the transfer time measurement.

This commit gets the spi controller before calling
spi_loopback_transceive() which results in only the actual
transfer time being measured.

Before this commit, on the nrf54h20:

  START - test_spi_complete_multiple_timed
  Transfer took 745 us vs theoretical minimum 108 us
  Latency measurement: 637 us
   PASS - test_spi_complete_multiple_timed in 0.008 seconds

  START - test_spi_complete_multiple_timed
  Transfer took 700 us vs theoretical minimum 54 us
  Latency measurement: 646 us

      Assertion failed at ...
  Very high latency
   FAIL - test_spi_complete_multiple_timed in 0.027 seconds

After this commit:

  START - test_spi_complete_multiple_timed
  Transfer took 250 us vs theoretical minimum 108 us
  Latency measurement: 142 us
   PASS - test_spi_complete_multiple_timed in 0.008 seconds

  START - test_spi_complete_multiple_timed
  Transfer took 204 us vs theoretical minimum 54 us
  Latency measurement: 150 us
   PASS - test_spi_complete_multiple_timed in 0.008 seconds

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-10 10:23:20 -04:00
Bjarki Arge Andreasen
5163b8c96a tests: spi: loopback: use CONFIG_ZTEST_STACK_SIZE for thread stacks
The spi_loopback test suite creates three internal threads. The
stack sizes for these threads is hardcoded to 512, which is to little
for some socs, namely the nrf54h20 cpuapp if pm device runtime is
enabled. Instead, determine the stack sizes the same way ztest
stack sizes are determined.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-10 10:23:20 -04:00
Maciej Perkowski
61e9de5ec4 twister: Minor quarantine fixes
Statuses of quarantined test cases were not updated properly.
Quarantined tests shouldn't cause errors in integration mode.
Removed obsolate filter type.

Signed-off-by: Maciej Perkowski <maciej.perkowski@nordicsemi.no>
2025-06-10 10:22:51 -04:00
Axel Le Bourhis
b1ad7877f2 samples: bluetooth: enable PM standby on rd_rw612_bga and frdm_rw612
Enable the standby power state by default for the rd_rw612_bga and
frdm_rw612 boards in the peripheral_ht and central_ht Bluetooth samples.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-06-10 13:36:56 +02:00
Benjamin Cabé
e37631eea7 drivers: dac: max22017: return negative errno
Changed the return value for unsupported channel from ENOTSUP to -ENOTSUP

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-10 13:30:33 +02:00
Firas Sammoura
d67cd57fd4 boards: Add drbg0 node to the google_quincy dts file
Enable node drbg0 in the google_quincy device tree. This node is
required to enable the entropy upstream test.

Signed-off-by: Firas Sammoura <fsammoura@google.com>
2025-06-10 13:30:26 +02:00
Romain Jayles
a114b3961b dts: stm32wba: add die_temp node to the nucleo_wba65ri
The die_temp node and die-temp0 alias was missing to the nucleo_wba65ri

Signed-off-by: Romain Jayles <romain.jayles@st.com>
2025-06-10 13:29:47 +02:00
Romain Jayles
778b2dfc40 dts: stm32wba: split temperature calibration address between socs
The temperature calibration addresses of ts-cal1-addr and ts-cal2-addr
are not shared between stm32wba5 and stm32wba6 these addresses are now
separated to the dedicated device-tree

Signed-off-by: Romain Jayles <romain.jayles@st.com>
2025-06-10 13:29:47 +02:00
Alberto Escolar Piedras
f19432a576 include mwdt: Change ifdef from NATIVE_APPLICATION to NATIVE_BUILD
NATIVE_APPLICATION is now deprecated so nobody will set it,
but NATIVE_BUILD should cover the same case this build error
is trying to warn about. Let's use it instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-06-10 13:29:28 +02:00
Alberto Escolar Piedras
3c55048c76 unit_testing: Fix NATIVE_APPLICATION kconfig dependency
NATIVE_APPLICATION is deprecated, let's not use it, let's use instead
NATIVE_BUILD.
unit_testing is not really meant to be covered by NATIVE_APPLICATION,
or NATIVE_BUILD for that matter, as these options are meant for POSIX
arch based targets.
Still, some kconfig options will default to something which will
also be incompatible with unit_testing (primarily CONFIG_PICOLIBC=y)
if we don't set at least NATIVE_BUILD, which would cause some unit
tests to fail. So let's select NATIVE_BUILD to avoid needing to add
extra dependencies on the libCs options.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-06-10 13:29:28 +02:00
Lyle Zhu
f924af1df5 Bluetooth: Classic: HFP_HF: Fix out of bounds potential issue
There is a potential issue that the index of ACL may out of the
bounds of the array `bt_hfp_hf_pool` if the array size is not aligned
with the array size of `acl_conns`.

To avoid the potential issue, check if the ACL conn index is less than
the array size of `bt_hfp_hf_pool` before accessing the array
`bt_hfp_hf_pool` with ACL conn index.

Fixes #91172

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-10 13:29:17 +02:00
Aksel Skauge Mellbye
837b0d303a drivers: clock_control: siwx91x: Fix clock init
New versions of the Wiseconnect HAL require a clock manager init
function to be called as part of clock configuration.

Without this, the default reference clock isn't configured correctly
for use with peripherals.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-06-10 13:29:06 +02:00
Mark Wang
d166d53238 bluetooth: keys: addr is null and assert in bt_keys_find_addr
When there are br connections connected, find_key_in_use call
bt_conn_get_dst to get br connection's dst and bt_conn_get_dst return NULL,
then bt_keys_find_addr aseert because addr is NULL.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-06-10 13:28:55 +02:00
Jérôme Pouiller
69202a7908 tests: drivers: memc: Simplify filters
Currently, every boards that implement a memory controller add an entry
in tests/drivers/memc/ram/testcase.yaml. However, the configuration is
exactly the same for all the boards. So, we can just consider that any
board that declare "memc" capability has to be tested.

For the record here are the boards that has the memc capability:

    adi/apard32690/apard32690_max32690_m4.yaml
    adi/eval_adin1110ebz/adi_eval_adin1110ebz.yaml
    adi/max32690evkit/max32690evkit_max32690_m4.yaml
    arduino/giga_r1/arduino_giga_r1_stm32h747xx_m7.yaml
    arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_1_0_0.yaml
    arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_4_10_0.yaml
    atmel/sam/sam4s_xplained/sam4s_xplained.yaml
    renesas/da1469x_dk_pro/da1469x_dk_pro.yaml
    sifive/hifive_unmatched/hifive_unmatched_s7.yaml
    sifive/hifive_unmatched/hifive_unmatched_u74.yaml
    silabs/radio_boards/siwx917_rb4342a/siwx917_rb4342a.yaml
    st/stm32f746g_disco/stm32f746g_disco.yaml
    st/stm32f7508_dk/stm32f7508_dk.yaml
    st/stm32f769i_disco/stm32f769i_disco.yaml
    st/stm32h735g_disco/stm32h735g_disco.yaml
    st/stm32h745i_disco/stm32h745i_disco_stm32h745xx_m7.yaml
    st/stm32h747i_disco/stm32h747i_disco_stm32h747xx_m7.yaml
    st/stm32h750b_dk/stm32h750b_dk.yaml
    st/stm32h757i_eval/stm32h757i_eval_stm32h757xx_m7.yaml
    st/stm32h7b3i_dk/stm32h7b3i_dk.yaml
    st/stm32h7s78_dk/stm32h7s78_dk.yaml
    st/stm32n6570_dk/twister.yaml

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-06-10 13:28:48 +02:00
Jérôme Pouiller
033ffd1a2c boards: silabs: siwx91x: Fix test for memory controller
tests/drivers/memc/ram requires the board contains a node labeled
"memc"/.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-06-10 13:28:48 +02:00
Benjamin Cabé
be504b000d west: spdx: allow to generate for different SPDX versions
When support for SPDX 2.3 was added, it effectively dropped support for
SPDX 2.2, which in retrospect was a bad idea since SPDX 2.2 is the
version that is the current ISO/IEC standard.
This commit adds a `--spdx-version` option to the `west spdx` command
so that users can generate SPDX 2.2 documents if they want.
Default is 2.3 given that's effectively what shipped for a few releases
now, including latest LTS.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-10 13:28:38 +02:00
Benjamin Cabé
22b089432c scripts: west: spdx: handle error codes in makeSPDX()
Add missing error handling of some of the calls to writeSPDX().

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-10 13:28:38 +02:00
Benjamin Cabé
90c6d7f1ba scripts: west: remove excludes for west_commands/spdx.py
File passes all ruff linter checks so no exclude rules needed anymore

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-10 13:28:38 +02:00
Benjamin Cabé
4655e0d9d4 west: spdx: remove unnecessary format strings
As reported by sonarqube, "String formatting should be used correctly"

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-10 13:28:38 +02:00
Szymon Janc
256401ed2b tests: Bluetooth: Tester: Add support for PAST
This adds support for BTP commands and events required for running
PAST tests.

struct btp_gap_ev_periodic_transfer_received_ev is also adjusted
to match BTP specification.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2025-06-10 13:28:31 +02:00
ZhongYao Luo
821e9f3c6a Bluetooth: SDP: Don't clear l2cap chan on disconnect
- Remove memset on bt_l2cap_br_chan during SDP
  disconnect to prevent overwriting resources
  (e.g., rtx_work) still in use by L2CAP,
  which handles channel cleanup itself.
- Delete unused partial_resp_queue to clean up code.

Signed-off-by: ZhongYao Luo <LuoZhongYao@gmail.com>
2025-06-10 13:28:24 +02:00
Lu Jia
634b72a76c Bluetooth: Add API to obtain ACL connection corresponding to a2dp
When connecting two devices with an application, it
is necessary to differentiate which is the remote device.

Signed-off-by: Lu Jia <jialu@xiaomi.com>
2025-06-10 13:28:16 +02:00
Pieter De Gendt
9983ff708e modules: openthread: platform: logging: Take kconfig into account
Currently all calls to otPlatLog with debug log level are printed.
Cleanup logging.c

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-06-10 12:26:04 +02:00
Lyle Zhu
2a1bcc2919 Bluetooth: Classic: L2CAP: Fix issue is received data len less than 2
If the received data length is less than 2 in none basic mode, the
L2CAP channel connection will be dropped.

Only check the received data length if the `SAR` is
`BT_L2CAP_CONTROL_SAR_START`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-10 12:25:55 +02:00
Lyle Zhu
63dbc4c7f9 Bluetooth: Classic: L2CAP: Support zero-length SDU in none basic mode
Support zero-length SDU sending if the L2CAP channel connection is not
in basic mode.

Flag the zero-length SDU buffer and clear it if it has been processed.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-10 12:25:55 +02:00
Lyle Zhu
cad801a314 MAINTAINERS: Add samples/bluetooth/classic/* to Bluetooth Classic
Add the path `samples/bluetooth/classic/*` to Bluetooth Classic.
And remove the path from Bluetooth LE.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-10 12:25:46 +02:00
Lyle Zhu
14eba9d2d9 Samples: Bluetooth: HF: Move handsfree and handsfree_ag to './classic'
Move `handsfree` and `handsfree_ag` to sub-folder './classic'.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-10 12:25:46 +02:00
Pieter De Gendt
b69fa39904 boards: nxp: mimxrt1170_evk: Add arduino GPIO/SPI/UART header nodes
The MIMXRT1170-EVK/EVKB has an Arduino compatible header, add device
tree nodes for the corresponding pins.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-06-10 12:25:18 +02:00
Mark Wang
263cc93827 tests: Bluetooth: Classic: Add uuid128 service test
add one sdp service that contains uuid128, improve test to save bumble
hci log.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-06-10 12:13:18 +02:00
Tomasz Chyrowicz
13a0f0504c sysbuild: Allow to use file suffix DTS overlays
Allow to add an image-specific DTS overlay, that is applied based on the
FILE_SUFFIX.
Up to this point, it was possible to specify such Kconfig files
(sysbuild/<image>_<file_suffix>.conf),
but it did not work with dts overlays
(sysbuild/<image>_<file_suffix>.overlay).
This commit aligns the logic of finding configuration files for both
scenarios mentioned above.

Ref: NCSDK-NONE

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
2025-06-10 12:13:10 +02:00
Szymon Janc
ad37e04d17 test: Bluetooth: Tester: Fix build with EATT disabled
This allows to disable EATT when needed.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2025-06-10 12:13:01 +02:00
Jean Nanchen
bc097a6fe6 drivers: i2c: stm32: fix build error after timeout patch
Follow-up to PR #88631: fix missing variable declarations introduced in
the STM32 I2C LL driver after adding timeouts to blocking loops.

The missing declarations caused a build failure when interrupts were
disabled (CONFIG_I2C_STM32_INTERRUPT=n).

Fixes a regression introduced in #88631.

Signed-off-by: Jean Nanchen <jean.nanchen@gmail.com>
2025-06-10 12:10:59 +02:00
Anas Nashif
4f4ad2e9c3 maintainers: add options to area command
Add options to area command:

--without-maintainers
--without-collaborators

To show areas without any collaborators or maintainers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-06-10 12:10:40 +02:00
Anas Nashif
047c9f58d8 scripts: get_maintainers: improve display of areas table
Improve layout and make it more readable.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-06-10 12:10:40 +02:00
Leifu Zhao
3555c26053 drivers: serial: sedi: add ifndef to uart busy set
The uart_busy_set and uart_busy_clear are only used when runtime
pm is not enabled. So add #ifndef CONFIG_PM_DEVICE_RUNTIME to
enclose these two functions.

Signed-off-by: Leifu Zhao <leifu.zhao@intel.com>
2025-06-10 12:10:01 +02:00
Clément Laigle
b921db6608 driver: sensor: as6212: fix sampling frequency
AS6212 supports 0.25Hz, 1Hz, 4Hz, and 8Hz sampling frequencies, but the
current driver supports 0.25Hz, 1Hz, 4Hz, and 16Hz sampling frequencies.

Signed-off-by: Clément Laigle <c.laigle@catie.fr>
2025-06-10 12:09:51 +02:00
Fabrice DJIATSA
905e3032a0 boards: stm32n6570_dk: add irq-gpios property
There was a missing irq-gpios property that cause
building failure on lvgl and display samples.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-06-10 12:09:25 +02:00
Mathieu Choplain
4282d67ac2 soc: st: stm32h7: synchronize cores during boot properly
On dual-core STM32H7, the Cortex-M4 core is supposed to wait until the
Cortex-M7 initializes the system before starting to execute. CM7 should
signal this by locking a specific HSEM, which CM4 should poll until locked.
However, the logic on the Cortex-M4 side was reading the "RLR" register of
HSEM, which *locks the semaphore on read* - in turn, this makes the CM4
start directly since it sees that the semaphore is locked (by itself).

Use proper LL API to read HSEM status - which will read the "R" register
instead - to make sure CM4 doesn't begin execution earlier than it should.

Suggested-by: hglassdyb
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-06-10 12:08:35 +02:00
Mathieu Choplain
86c5135982 soc: st: stm32: hsem: update description for fifth HSEM
The fifth HSEM (#define is equal to 4 due to zero-indexing) is used on
STM32H7 to synchronize the two cores. Update the comment above the SEMID
define to reflect this alternate usage. Also remove the associated define
CFG_HW_ENTRY_STOP_MODE_MASK_SEMID, which is unused.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-06-10 12:08:35 +02:00
Mathieu Choplain
97e2dd28b3 soc: st: stm32: hsem: sort hardware semaphore IDs by value
Reorder the HSEM semaphore ID definitions to be sorted by ascending value.
The dummy defines are also changed to be sorted in the same order. The
definitions for STM32MP1 are already in an order that follows this order
so they don't need to be changed.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-06-10 12:08:35 +02:00
Julien Panis
a92339b8cd dts: arm: ti: cc23x0: Add DMA mode support to UART module
Add support to use DMA mode with cc23x0 UART module. This consists in
specifying the DMA channels and peripherals.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-06-10 12:08:22 +02:00
Julien Panis
fa199b6f6c drivers: serial: cc23x0: Add support for DMA mode
Two DMA channels are assigned to TX and RX respectively:
- A TX DMA request is asserted when there is space in the FIFO.
- A RX DMA request is asserted when data is in the FIFO.

When DMA is enabled for a peripheral, the DMA transfer completion is
signaled on the peripheral's interrupt only (here UART's interrupt).
It is not signaled on the DMA dedicated interrupt.

Also, when DMA is enabled for a peripheral, the DMA controller stops
the normal transfer interrupts for this peripheral from reaching the
NVIC (the interrupts are still reported in the interrupt registers of
the peripheral). Thus, when a large amount of data is transferred using
DMA, instead of receiving multiple interrupts from the peripheral as
data flows, the NVIC receives only one interrupt when the transfer
completes (unmasked peripheral error interrupts continue to be sent
to the NVIC).

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-06-10 12:08:22 +02:00
Julien Panis
b3a32a95d1 dts: arm: ti: cc23x0: Add DMA mode support to ADC module
Add support to use DMA mode with cc23x0 ADC module. This consists in
specifying the DMA channel and peripheral.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-06-10 12:07:54 +02:00
Julien Panis
45a8a0f0c6 drivers: adc: cc23x0: Add support for DMA mode
The ADC has a dedicated interface for communicating with the DMA.
The ADC module provides four interrupt sources (one for each
conversion result storage register) which can be configured to
source the DMA trigger.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-06-10 12:07:54 +02:00
Sai Santhosh Malae
6dcf2fdf34 drivers: adc: siwx91x: adc_api test app support
Add siwx917_rb4338a board overlay and congig files

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-06-10 12:07:33 +02:00
Sai Santhosh Malae
bfe4065657 drivers: adc: siwx91x: Add siwx91x ADC driver
Implement ADC driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-06-10 12:07:33 +02:00