Commit graph

126,787 commits

Author SHA1 Message Date
Valerio Setti
13270a43c1 cmake: modules: dts: print error message if DTC fails
Currently stderr is printed only if dtc encounters warnings, but it's
not printed in case of errors. However this information can be useful
to quickly identify and resolve the problem.

To solve this let's add "COMMAND_ERROR_IS_FATAL ANY" to execute_process()
so that CMake will fail in case of errors and a proper message will be
printed on the output.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-03-24 19:33:18 +01:00
Seppo Takalo
15b0f9033b modem: cmux: Do not return error on low buffer space
If we end up writing zero bytes to cmux output, we can return
zero instead of -ENOMEM as it would break various modules when
using small buffers. For example modem_chat.c does not tolerate
-ENOMEM but handles zero OK.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-03-24 19:33:07 +01:00
Seppo Takalo
4501ca1afe modem: modem_cellular: Migration guide for CMUX
Add migration guide for configuring MTU for CMUX.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-03-24 19:33:07 +01:00
Seppo Takalo
c78081e5cf modem: modem_cellular: Configurable MTU for CMUX
Allow configuring MTU for CMUX.
Some AT manual and specification define this as a
frame size. Linux ldattach default to 127 bytes,
3GPP TS 27.010 defaults to 31.

We should limit our CMUX frames to a size that
remote end is capable of handling.
Linux silently drops oversized frames.

Also, remove MODEM_CELLULAR_CMUX_MAX_FRAME_SIZE as
this was only limiting a buffer sizes, and resulted
CMUX frames to be capped to same value.
Use MODEM_CMUX_WORK_BUFFER_SIZE and MODEM_CMUX_MTU instead.

Also rename CONFIG_MODEM_CELLULAR_CHAT_BUFFER_SIZES to
CONFIG_MODEM_CELLULAR_CHAT_BUFFER_SIZE as it is now
only used as a Chat module. DLCI pipes use
CONFIG_MODEM_CMUX_WORK_BUFFER_SIZE.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-03-24 19:33:07 +01:00
Niek Ilmer
2df9e371f5 doc: Renesas: Remove manually inserted pictures
Get rid of the devkit pictures that where included in the old way

Signed-off-by: Niek Ilmer <niek.ilmer.aj@renesas.com>
2025-03-24 19:24:28 +01:00
Lyle Zhu
b78b855d04 Bluetooth: Classic: L2CAP: Fix building warnings
Use `UINT_TO_POINTER` to convert a number to pointer.
Use `POINTER_TO_UINT` to get a number from a pointer.

Fixes #87527.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-24 19:24:16 +01:00
Roudy Dagher
c67f17de0e boards: st: nucleo_l152re: fix LED polarity in device tree
Fix incorrectly defined LED polarity (GPIO_ACTIVE_LOW → GPIO_ACTIVE_HIGH)
to match hardware schematic and ensure consistent GPIO API behavior.

Fixes: #87424
Link: https://www.st.com/en/evaluation-tools/nucleo-l152re.html#cad-resources

Signed-off-by: Roudy Dagher <roudy.dagher@gmail.com>
2025-03-24 19:24:06 +01:00
Daniel Hajjar
a4e139b9f8 drivers: intc_ioapic: Fix Out of Bounds shift
Hexadecimal integer literals are signed if they can fit into a signed int,
which causes undefined behavior.

This happens here because 0xFF can fit into a signed int and then gets
left-shifted by 24, undefined behavior for signed integers.

Signed-off-by: Daniel Hajjar <daniel.hajjar16@gmail.com>
2025-03-24 19:23:55 +01:00
Ingar Kulbrandstad
a65a16424b Bluetooth: Mesh: Fix proxy advertiser handling with GATT server enabled
When the GATT server is enabled the proxy advertiser
server need to be stopped. This solved a bug where the
Mesh Proxy Service is not restared.
This fix is done to fix several failing PTS test that
was failing when CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE
was enabled. Calling the stop_proxy_adv was left out
in a prevouis commit when doing code cleanup.

Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
2025-03-24 19:23:45 +01:00
Grzegorz Chwierut
3acfeafa35 doc: twister: update the quarantine section
Update the quarantine section in the twister.rst documentation
to include information about excluding specific platforms,
architectures, and simulators

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-03-24 19:23:31 +01:00
Grzegorz Chwierut
5d049b6451 twister: Fix quarantine filtering simulations
Quarantine filter was not correctly identifying the simulator name.
Now it uses the simulator name from the Platform object,
ensuring that quarantined tests are properly excluded or verified

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-03-24 19:23:31 +01:00
Martin Durietz
022903f01b samples: boards: Add MCO support for nucleo_wl55jc
Added overlay and modified sample.yaml to support the nucleo_wl55jc
board in the MCO example.

Signed-off-by: Martin Durietz <martin.durietz@gmail.com>
2025-03-24 19:23:09 +01:00
Martin Durietz
17403aa14a dts: arm: st: wba: Add MCO1 peripheral to STM32WLdevice tree
Added MCO1 peripheral definition to the STM32WL device tree to enable
MCO functionality.

Signed-off-by: Martin Durietz <martin.durietz@gmail.com>
2025-03-24 19:23:09 +01:00
Martin Durietz
c7453da082 dt-bindings: clock: Add MCO register definition for STM32WL
Added MCO register definition to support MCO functionality in the STM32WL
series. This update also includes the addition of MCO_PRE_DIV and MCO_SEL
defines.

Signed-off-by: Martin Durietz <martin.durietz@gmail.com>
2025-03-24 19:23:09 +01:00
Michał Stasiak
1e97295622 tests: drivers: flash: extend support for nRF54L09 and nRF54L20
Added missing nodes, configurations and filters in
testcase.yaml.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-03-24 19:22:56 +01:00
Derek Snell
b259b18752 drivers: serial: uart_mcux_lpuart: add DTR, DSR, and DCD signals
Add support for additional line control signals.  Improved configuring
uart_config_flow_control options.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-03-24 19:22:42 +01:00
Mathieu Choplain
7288223a28 drivers: entropy: stm32: clear data available IRQ flag on WB09
The STM32WB09 TRNG does not clear FIFO_FULL IRQ flag in hardware once the
FIFO is no longer full, a behavior which differs from all other series.
This results in spurious IRQs, as the TRNG IRQ line effectively remains
high forever once a single interrupt has been generated.

Clear the flag in software after reading from the FIFO on STM32WB09 SoC.

N.B.: the error IRQ flag is already handled properly, as this flag must
also be cleared by software on other series.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-03-24 19:22:30 +01:00
Mathieu Choplain
6cdc3ada3c drivers: entropy: stm32: simplify WB0-related #ifdef in LL wrappers
CONFIG_SOC_STM32WB09XX implies CONFIG_SOC_SERIES_STM32WB0X, making it
pointless to assert the latter is defined before checking the former.

Simplify #ifdef checks in the entropy driver's LL wrappers thanks to
this observation, by removing unnecessary nesting.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-03-24 19:22:30 +01:00
Khoa Tran
e1b90bf3d9 tests: i2c: add support for i2c sci-b on Renesas RA boards
Add Renesas RA board support for i2c test use sci_b_i2c:
- tests/drivers/i2c/i2c_api

Example for i2c use sci_b_i2c:

west build -b ek_ra8m1 tests/drivers/i2c/i2c_api/ -p always \
 -DDTC_OVERLAY_FILE=boards/ek_ra8m1_sci_b_i2c.overlay \
 -DCONF_FILE="boards/ek_ra8m1_sci_b_i2c.conf"

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-03-24 19:22:18 +01:00
Khoa Tran
ed65eb43d4 boards: renesas: add support for i2c sci-b driver on Renesas RA boards
Enable support of i2c sci-b driver on these boards: ek_ra8m1,
ek_ra8d1, mck_ra8t1

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-03-24 19:22:18 +01:00
Khoa Tran
be41f80e72 dts: arm: add i2c device node to sci device for Renesas RA family
This commit to add i2c device node to support i2c sci-b driver
on Renesas RA SoCs

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-03-24 19:22:18 +01:00
Khoa Tran
d0c0f1d036 drivers: i2c: initial support for i2c sci-b driver on Renesas RA family
First commit to add support for Renesas RA i2c sci-b driver

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-03-24 19:22:18 +01:00
David Lim
459a078d22 drivers: spi: cc13xx_cc26xx: Allow clocks below 2 MHz
Remove unnecessary check that the SPI clock is being set to a frequency
above 2 MHz to allow devices running at common lower frequencies (i.e.
1.2 MHz and 400 kHz).

Replace with check that the frequency is not below the minimum frequency
supported by the chipset to prevent overflow error which can occur if
the HAL sets a frequency too low resulting in a SPI clock much larger
than expected.

Fixes #69986

Signed-off-by: David Lim <dlim04@qub.ac.uk>
2025-03-24 15:11:01 +01:00
Troels Nilsson
0448f4bd55 MAINTAINERS: Add Tronil as collaborator for Bluetooth Controller
Also removes mtpr-ot from collaborators (account is no longer active)

Signed-off-by: Troels Nilsson <trnn@demant.com>
2025-03-24 15:10:49 +01:00
Pavel Vasilyev
7592b049ef bluetooth: mesh: pb_adv: Fix resending Generic Transaction Ack PDU
The Generic Provisioning protocol requires that a transaction must be
acknowledged before the next Generic Provisioning PDU is processed
(section 5.3.3, MshPRT_v1.1).

In the current PB-ADV implementation, if there is an ongoing transaction
(link.tx.adv points to a valid advertisement), any received Generic
Provisioning Start and Continuation PDUs are ignored.

This creates a scenario where a remote device misses the Transaction
Acknowledgment PDU and retransmits the last PDUs, but they are ignored
by the local device because the local device has already started sending
the next Provisioning PDU.

In particular, in the observed failure, the Provisioner missed the
Generic Transaction Acknowledgment PDU during the transmission of the
Provisioning Data PDU.

This commit modifies the processing logic for Generic Provisioning Start
and Continuation PDUs by checking if the received PDU has already been
received. If so, it attempts to re-send the Generic Transaction
Acknowledgment PDU.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-03-24 15:10:39 +01:00
Tomasz Moń
2aa26ad261 drivers: udc_dwc2: Optimize endpoint event clear
There is no point in calling k_event_test() to determine what events are
posted and then passing that value to k_event_clear(). Simply pass
UINT32_MAX to k_event_clear() and use the return value to slightly
reduce overhead.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-24 15:10:25 +01:00
Tomasz Moń
2395452656 drivers: udc_dwc2: Reset core on shutdown
OUT endpoint 0 cannot be disabled and therefore the only way to forcibly
reclaim the buffer is to reset the core. The reset does not finish if
PHY clock is not running, but just triggering the reset seems to be
enough to be able to reclaim the buffer.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-24 15:10:13 +01:00
Tomasz Moń
437983e2c9 drivers: udc_dwc2: Ensure overlapping USBHS reset
Wait for PHY clock before triggering START task to ensure overlapped
reset for PHY and DWC2 core.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-24 15:10:13 +01:00
Tomasz Moń
2be960ad2b drivers: udc_dwc2: Disable endpoint while hibernated
When the endpoint is disabled while the core is hibernated, there are
timeouts waiting for interrupts. It is not clear how the stack should
behave when class and/or application wants to disable the endpoint while
device is suspended. The problem was originally observed when the
endpoints were disabled as a result of usbd_disable() call.

Avoid the timeouts by modifying the backup values instead of the real
registers (which are not accessible when hibernated).

Split the 32-bit txf_set variable into two 16-bit variables (txf_set and
pending_tx_flush) because maximum number of TxFIFO instances is 16.
The txf_set variable is used as-is, while the pending_tx_flush is used
to keep track of TxFIFOs that have to be flushed on hibernation exit.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-24 15:10:13 +01:00
James Roy
afb75959e8 doc: releases: Add a new migration guide entry to espi
Add the following property renaming entries to
the migration:

* io_girq
* vw_girqs
* pc_girq
* poll_timeout
* poll_interval
* consec_rd_timeout
* sus_chk_delay
* sus_rsm_interval

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-24 15:10:06 +01:00
James Roy
32d5ad75c1 dts: bindings: espi: Change the property names in the DTS
Rename the following properties in bindings and DTS:

-- io_girq =>io-girq
-- vw_girqs => vw-girqs
-- pc_girq => pc-girq
-- poll_timeout => poll-timeout
-- poll_interval => poll-interval
-- consec_rd_timeout => consec-rd-timeout
-- sus_chk_delay => sus-chk-delay
-- sus_rsm_interval => sus-rsm-interval

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-24 15:10:06 +01:00
Evgenii Kosenko
c8e28d15b8 bluetooth: tester: btp_gap: adds set rpa timeout cmd
Adds BTP_GAP_SET_RPA_TIMEOUT command to btp, it allows dynamically set
Resolvable Private Address timeout.

Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
2025-03-24 15:09:53 +01:00
Guillaume Gautier
3b8e472039 boards: st: stm32n6570_dk: enable xspi psram
Enables XSPI PSRAM on the STM32N6570-DK board.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-24 15:09:47 +01:00
Guillaume Gautier
3a7f4f70cc dts: arm: st: n6: add xspi1 node
Add XSPI1 node for STM32N6

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-24 15:09:47 +01:00
Guillaume Gautier
33b2b1481b drivers: memc: add driver for stm32 xspi psram
Add a driver for STM32 XSPI PSRAM in memory mapped mode.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-24 15:09:47 +01:00
Guillaume Gautier
d4153320de dts: bindings: memc: add bindings for stm32 xspi psram
Add bindings for STM32 XSPI PSRAM

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-24 15:09:47 +01:00
Lyle Zhu
9b8297545a tests: Bluetooth: BR: Add test suite sdp_server
IUT works as a SDP Server. The peer device, SDP client, is a PC with
running `bumble` on it.

Define 10 SDP records. 8 normal SDP records. one SDP record with large
service name that cannot be discovered by peer since the data length
exceeds the MTU of SDP. And one SDP record with large service name
that can be discovered by peer but `continuation state` needs to be
involved.

By default, no SDP record will be registered.
Add shell command `register_sdp` to register specific SDP record.
Add shell command `register_sdp_all` to register all normal SDP
records.
Add shell command `register_sdp_large` to register SDP record with
large service name that cannot be discovered by peer.
Add shell command `register_sdp_large_valid` to register SDP record
with large service name that can be discovered by peer.

In the test suite, there two test cases,
Case 1, discover the IUT.
Case 2, connect to the IUT. And send serial SDP discovery requests.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-24 15:09:26 +01:00
Andre Heinemans
2338f8efc5 samples: openamp_rsc_table: enable support for imx95_evk
openamp_rsc_table will run on the i.MX95 M7 core and can communicate
to the A55 that runs linux-imx.

Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
2025-03-24 12:17:53 +01:00
Andre Heinemans
0da69b11aa dts: nxp_imx95_m7: Add mu7 to dts
The Messaging Unit 7 peripheral is made available for
use with IPC such as OpenAMP/RpMsg. MU7 connects
to the A55 core

Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
2025-03-24 12:17:53 +01:00
Andre Heinemans
ad65b81024 lib: open-amp: optional copy of rsc_table to memory region
Option OPENAMP_COPY_RSC_TABLE is added for cases where the placement of the
.resource_table section is not controlled by the remote. This option lets
zephyr do the copying of the .resource_table section to a specified memory
region.

Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
2025-03-24 12:17:53 +01:00
Andre Heinemans
f0134cdd83 soc: nxp: imx: add .resource_table section for imx95
Add .resource_table section to the linker script for the
i.MX95. This section is used by intercore communication to
publish features and configurations to the remote

Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
2025-03-24 12:17:53 +01:00
Anas Nashif
be18415fc3 ci: codeql: enable on PRs
Enable CodeQL on PRs to catch issues before they are merged.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-03-24 12:17:19 +01:00
Emil Gydesen
1a2ea57885 Bluetooth: Classic: Shell: Remove last use of ctx_shell
The Bluetooth Classic sdp_client was the last user
of the ctx_shell, which could easily be removed.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-24 12:14:42 +01:00
Emil Gydesen
5fa78d09fe MAINTAINERS: Add tests/bluetooth/classic/ to Classic
Add the tests/bluetooth/classic/ path to the Bluetooth Classic
label and exclude it from the host (LE) label.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-24 12:14:34 +01:00
Benjamin Cabé
b2c2f905fb tests: lwm2m: add ignored vulnerabilities for CoAPthon3
CoAPthon3 is only used for testing, ignore PYSEC-2019-166.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-24 12:14:20 +01:00
Michał Stasiak
3f76006327 tests: drivers: counter: basic_api: Add nRF54L20 FLPR
Added common overlay for nRF54L20 cores.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-03-24 12:14:13 +01:00
Carles Cufi
98bea0d957 doc: getting started: windows: Switch to winget
Winget has become the standard Windows package manager, and it already
contains all the packages required for Zephyr development. Switch to it
from Chocolatey for simplicity and consistency with the OS.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-03-24 12:13:56 +01:00
Florijan Plohl
78f05163d6 drivers: audio: Add driver for tlv320aic3110
Add driver for the Texas Instruments TLV320AIC3110 audio codec.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
2025-03-24 12:13:51 +01:00
Krzysztof Chruściński
8d13b6b65b tests: drivers: uart: async_api: Align test to gcov
When CONFIG_COVERAGE is enabled then performance is degraded.
In that case higher baudrates shall be avoided because CPU may
not have enough time to handle UART interrupts. Limit baudrate
to 115200 when CONFIG_COVERAGE=y.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-24 09:58:57 +01:00
Jukka Rissanen
ff769d4c40 net: hostap: Set names for the threads
The interface workq thread and supplicant handler thread
did not had names set to them. Set the names so that it is
easier to find them from "kernel thread stacks" list.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-03-24 09:54:42 +01:00