Commit graph

116892 commits

Author SHA1 Message Date
Maksim Salau
bdd94261a5 modbus: serial: Add non-compliant mode with custom stop-bit settings
The mode is activated by the CONFIG_MODBUS_NONCOMPLIANT_SERIAL_MODE option
and allows any stop-bit setting for the serial port.

Signed-off-by: Maksim Salau <msalau@iotecha.com>
2025-06-10 12:53:23 -04:00
Jordan Yates
6e0d0f5879 spi: nrfx_spim: fix incorrect clock control logic
To determine whether device runtime PM is enabled on a device, use
`pm_device_runtime_is_enabled`. This results in the same behaviour when
`CONFIG_PM_DEVICE_RUNTIME=n`, but properly controls the clocks on a
per-instance basis when `CONFIG_PM_DEVICE_RUNTIME=y`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-06-10 12:53:07 -04:00
Guennadi Liakhovetski
4de0c9abc0 SoC: Intel: ADSP: ACE30: add .imrdata to MMU definitions
On ACE30 platforms adding a section to the linker script isn't
enough, it should also be added to the xtensa_soc_mmu_ranges[] array.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2025-06-10 12:52:38 -04:00
Guennadi Liakhovetski
5f4177b47c llext: add context save and restore
Some applications need to save LLEXT context, e.g. when suspending,
to later restore it quickly without a full relinking. Add 2 functions
for context saving and restoring. Since these functions are likely to
change in the future, put them in llext_experimental.c, which depends
on CONFIG_LLEXT_EXPERIMENTAL and is disabled by default.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2025-06-10 12:52:38 -04:00
Guennadi Liakhovetski
d8195c05c7 llext: rename _llext_list to llext_list
Beginning symbols or structure field names with an underscore isn't a
widely used style in Zephyr, remove the leading underscore from
_llext_list.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2025-06-10 12:52:38 -04:00
Axel Le Bourhis
4a275a06a0 maintainers.yml: Update NXP Platform Wireless scope
Increase the scope of this group to include wireless boards, wireless
socs, hdlc_rcp_if driver, and overlays/conf files in samples.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-06-10 12:52:23 -04:00
Miguel Gazquez
9a30e6bb53 doc: fix file path in sample "perf"
On the documentation of the sample "perf" the path for the script
"stackcollapse" is incorrect.
Fix the path

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-06-10 12:52:09 -04:00
Alberto Escolar Piedras
2356c1db3c doc native: Clarify that in Windows one needs a VM for native_sim
Be more explicit about the need for a Virtual Machine running Linux if
running in Windows.
Also WSL2 has been out for ~5 years. Let's reduce the amount of info
on how  to run it in WSL1, as probably almost nobody is using it
anymore.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-06-10 12:51:54 -04:00
Emil Gydesen
44d5e8316d tests: Bluetooth: Fix use of BTP PAST event in BSIM
The is_valid_gap_packet_len check for
btp_gap_ev_periodic_transfer_received_ev referenced a field
that was recently removed.

Modify the check to just check the size, as the event now
has not variable length fields.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-06-10 12:51:32 -04:00
Saravanan Sekar
2c5c0e24e8 samples: drivers: counter: Add support alarm for lp_mspm0g3507
Add a support for timer/counter alarm sample for lp_mspmg3507 board.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
2025-06-10 10:25:10 -04:00
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