Commit graph

126,787 commits

Author SHA1 Message Date
Afonso Oliveira
aa5e13f227 dts: cpu: add device tree bindings for Synopsys ARC-V RMX RISC-V CPU
Add device tree binding file for the Synopsys ARC-V RMX RISC-V
CPU core. This binding enables proper device tree property parsing by
the Enhanced Device Tree (EDT) system, allowing Kconfig device tree
macros to access CPU properties like clock-frequency.

The binding includes the standard RISC-V CPU properties by extending
riscv,cpus.yaml, which provides access to properties defined in cpu.yaml
such as clock-frequency.

Also removes hardcoded SYS_CLOCK_HW_CYCLES_PER_SEC from board level
and adds DT-derived value to RMX SoC level.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-10-14 18:51:25 +02:00
Afonso Oliveira
1c52f45aec cmake: arcmwdt: riscv: derive ccac flags from Kconfig
Add arcmwdt RISC-V core/ISA mapping in target_riscv.cmake to
automatically derive compiler flags from Kconfig settings.

- Select series core flag from SoC Kconfig: -av5rmx/-av5rhx
- Map RISC-V Kconfig to ccac -Z flags (M/A/C/Zicsr/Zifencei/Zicntr)
- Handle compressed logic correctly: -Zc or individual Zc* sub-extensions
- Add F/D and compressed FPU (-Zf/-Zd, -Zcf/-Zcd)
- Add -Zmmul when M is not selected and ZMMUL is enabled
- Use OPTIONAL include to allow for arch-specific target files

Keep early compiler checks stable by not pushing -Z flags into
CMAKE_REQUIRED_FLAGS.

Co-authored-by: Torsten Tejlmand Rasmussen <torsten.rasmussen@nordicsemi.no>
Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
Signed-off-by: Torsten Tejlmand Rasmussen <torsten.rasmussen@nordicsemi.no>
2025-10-14 18:51:25 +02:00
Stefan Schwendeler
cb772579f4 driver: spi: spi_release() implementations requires an owner check
Without this check, `spi_context_unlock_unconditionally()` is capable
to release the SPI bus semaphore (ctx->lock) which might be taken by
another SPI slave device in the meantime.

Actually, this race condition happens when `spi_release()` is called
when the SPI slave device in question (spi_cfg) has already released
its chip select and also the SPI bus lock semaphore.

So, any not required call of `spi_release()` may result in a SPI
communication issue where the SPI bus lock, held by another SPI
slave device, is prematurely released.
The observable result is the simultaneous engagement of two SPI
chip selects after such an SPI release call.

Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
2025-10-14 07:45:13 -04:00
Xiang Liu
8e9fa6a273 bluetooth: remove blocking operation in bt_conn_get_info
bt_conn_get_info API is used to retrieve connection-related
information. However, bt_conn_get_info sends the HCI command
BT_HCI_OP_READ_ENCRYPTION_KEY_SIZE to retrieve current
key_size, causing excessive blocking time.

Signed-off-by: Xiang Liu <liuxiang18@xiaomi.com>
2025-10-14 07:45:01 -04:00
Chaitanya Tata
b71d290405 manifest: nrf_wifi: Pull script to parse nRF70 FW stats blob
A helper script is added to the nrf_wifi repo for parsing and dumping
nRF70 FW stats blob.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-14 07:44:51 -04:00
Chaitanya Tata
f6cd5c0e7e net: lib: shell: Add options t display vendor data
Along with key-value pairs, add an option to dump vendor values as a
blob, use can choose either one or both.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-14 07:44:51 -04:00
Chaitanya Tata
fdd7100933 drivers: nrf_wifi: Implement vendor stats
Populate the vendor stats with nRF70 FW statistics, this is handy in
debugging.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-14 07:44:51 -04:00
Quy Tran
153c9e6030 soc: renesas: rx: Add ofsm header file for RX26T
Add ofsm header file for option setting on RX26T MCU

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-10-14 07:44:34 -04:00
Quy Tran
899752322d dts: renesas: rx: Add non-mask interrupt reg for RX26T
Add NMISR, NMIER, NMICLR regs for RX26T

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-10-14 07:44:34 -04:00
Quy Tran
df638db93a arch: rx: Enable HAS_MAPPED_INTERRUPTS config on RX26T
RX26T MCU support mapped interrupt features, add dependency config to
enable zephyr library source from hal

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-10-14 07:44:34 -04:00
Quy Tran
7da22497ff manifest: hal_renesas: update revision for hal_renesas
Update revision for hal_renesas to latest

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-10-14 07:44:34 -04:00
Niyas Hameed
6740d82e04 MAINTAINERS: Add a collaborator for Microchip SAM
Add ArunMCHP as collaborator for Microchip SAM devices from vendor.

Signed-off-by: Niyas Hameed <niyas.hameed@microchip.com>
2025-10-14 07:44:24 -04:00
Jakub Klimczak
e783292ebd drivers: serial: virtio_console: Remove superfluous spinlocks
Spinlocks in functions virtconsole_control_recv_cb and
virtconsole_send_control_msg were unnecessary since those were called
from virtio_pci_isr or virtio_mmio_isr, which already use spinlocks.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-10-14 07:44:12 -04:00
Jakub Klimczak
ff19a01868 drivers: serial: virtio_console: Make Kconfig more informative
Add descriptions to the Kconfig file and restructure it slightly.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-10-14 07:44:12 -04:00
Jakub Klimczak
64b321f72c drivers: serial: virtio_console: Postpone transmission of control messages
There was a bug in the VIRTIO Console driver which could cause a deadlock
by attempting to add buffers to the control-tx virtqueue too fast and
with an infinite timeout.
This commit fixes it by placing messages that couldn't be sent in a FIFO
queue and taking care of them later in a callback function.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-10-14 07:44:12 -04:00
Qingsong Gou
24a579bd18 dts: arm: sf32lb52x: add more uart node def
sf32lb52x series has 3xUSART, adding missing device node

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-10-14 07:44:02 -04:00
Chris Friedt
2870082ad9 drivers: mfd: npm13xx: namespace TIMER_MAX to avoid conflict
`TIMER_MAX` is part of POSIX and defined in limits.h.

To avoid conflict with the standard, namespace the local definition with a
`NPM13XX_` prefix.

This fixes an issue that appeared in weekly CI:

https://github.com/zephyrproject-rtos/zephyr/actions/runs/18437938778/\
job/52533996345

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-10-14 07:43:49 -04:00
Phi Tran
93674a6dbe tests: serial: Add overlay for RSK-RX130@512KB board
Add uart property in tests/uart/uart_async_api for test
async APIs on RSK-RX130-512KB board.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-14 12:53:49 +03:00
Phi Tran
889a21d69d drivers: serial: Add DTC support for serial driver and implement Async API
Update serial driver support for RX MCU:
- Add DTC support for SCI UART driver.
- Implementation Async APIs for serial driver.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-14 12:53:49 +03:00
Phi Tran
58dac199c2 drivers: dtc: support dtc driver on RSK_RX130_512KB.
Initial commit to support DTC driver on Renesas RX130.
* drivers: DTC: implementation for DTC driver on RX130.
* dts: rx: update dts node in SoC layer to support DTC on RX130.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-14 12:53:49 +03:00
Phi Tran
e3aeb4bfd9 soc: renesas: rx: Add section data for dtc_vector_table region on RX130
Add support section data for dtc_vector_table to RAM region
on RSK-RX130.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-14 12:53:49 +03:00
Sudan Landge
826742fca2 boards: mps4: Enable non-secure variant support
Zephyr's TF-M has been aligned with upstream TF-M v2.2.0, which adds
support for Corstone-320 (CS320). The previous commit also updates TF-M
to fix compiler warnings seen with MPS4. So, with this update, enable
build and execution of non-secure variants of MPS4-based boards.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-10-14 12:53:38 +03:00
Sudan Landge
ddb0da1521 manifest: update TF-M to fix MPS4 warnings
Use TF-M that has cherry-picked commits from upstream to fix compiler
warnings for MPS4.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-10-14 12:53:38 +03:00
Sudan Landge
59a19f045f boards: arm: mps4: update ns variant flash layout
Use the flash layout recommended by mcuboot for consistency.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-10-14 12:53:38 +03:00
Sudan Landge
fed87e6bb4 doc: update TF-M requirements
The TF-M requirements document contained a hard-coded list of Python
packages which is incomplete and can easily drift out of sync with the
TF-M project. Replace this list with a reference to TF-M’s own
``tools/requirements.txt`` so that all required dependencies are covered.

Also update the list of boards that support TF-M.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-10-14 12:53:38 +03:00
Sudan Landge
837aa0c96d boards: arm: fix generation of DDR4 memory section
What is the change?
Split and redefine the DDR4 device tree nodes, in their respective board
variants so that linker scripts automatically generates a memory section
for each node.

Why do we need this change?
According to the official memory map of Corstone-320 available here:
https://developer.arm.com/documentation/109760/0000/SSE-320-FVP/SSE-320-FVP-memory-map
the non-secure world alias of DDR4 starts at 0x6000_0000 and
the secure world alias starts at 0x7000_0000.

Previously, the shared DDR4 node in mps4_common.dtsi listed multiple
regions, but Zephyr generated a linker memory region **only** for the
first address (0x6000_0000). This broke samples like `tflm_ethosu`,
on Corstone-320, which expect DDR4 memory region to start at 0x7000_0000
for secure variants of the MPS4 board.

Moving DDR4 definitions to per-board dts files ensures Zephyr creates
correct memory regions for each variant.
This also makes all the DDR4 regions available for applications to use
not just the first (applications would otherwise have to use some linker
magic to make those regions available in linker script).

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-10-14 12:53:38 +03:00
Mark Wang
5422e3f21f bluetooth: avdtp: save avdtp session to ep
when ep is configured, the ep is used by the avdtp session, so combine
them together when ep is configured.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-10-14 12:53:27 +03:00
Mark Wang
02c5974e04 bluetooth: a2dp: ep->stream is cleared when stream l2cap is released
ep->stream is cleared when stream l2cap is released, it should not be
cleared by close and abort cmd procedure.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-10-14 12:53:27 +03:00
Mark Wang
39eaec0513 bluetooth: a2dp: improve the stream l2cap release
When signal l2cap is disconnected, use `release_work` to release the
related stream l2cap connections. When releasing the sep's stream l2cap,
use `delay_work` to check the stream l2cap disconnecting result.
Move the stream l2cap disconnecting callback to sep because the chan is
in sep, then use this callback to indicate the sep stream chan is
released and sep is idle.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-10-14 12:53:27 +03:00
Mark Wang
b9dc6a7fde bluetooth: a2dp: remove the aborted stream callback
The `released` callback is enough indicate that the stream is
invalid/released, so remove the `aborted` callback.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-10-14 12:53:27 +03:00
Qingsong Gou
ee9843cfe4 drivers: serial: sf32lb: add uart interrupt support
add sf32lb52x uart interrupt support

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-10-14 12:53:11 +03:00
Minh Tang
90d032a0e7 samples: boards: renesas: Add sample for CTSU input driver
Add sample for CTSU input driver using QE config files on
RSK-RX130-512KB

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-10-14 12:52:50 +03:00
Minh Tang
63fbe63af2 boards: renesas: Add support CTSU for RSK-RX130 board
Add Pinctrl, status okay for CTSU node on RSK-RX130

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-10-14 12:52:50 +03:00
Minh Tang
34cecdf3ec dts: rx: renesas: Add CTSU node for RX130
Add support CTSU device tree node for Renesas RX130

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-10-14 12:52:50 +03:00
Minh Tang
4c74ff8a0b drivers: ctsu: Add support CTSU driver for RX MCUs
Add support for Capatitive Touch Sensing Unit driver for RX MCUs

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-10-14 12:52:50 +03:00
Seppo Takalo
b1942ced1a modem: cmux: Handle C/R bit from address field
The C/R bit in the address field should be handled as explained
in 5.2.1.2 in the spec (3GPP TS 127.010).

To detect if the frame is a command or a response,
we need to know who was the initiator of the CMUX channel.

>    Initiator is the station that take the initiative to initialize
>    the multiplexer (i.e. sends the SABM command at DLCI 0 )

See the table from given section of the specification.

Also, on UIH frames 5.4.3.1 says
>    The frames sent by the initiating station have the C/R bit set to 1
>    and those sent by the responding station have the C/R bit set to 0.

NOTE: This is different than a C/R bit in the Type field.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-10-14 12:52:39 +03:00
Måns Ansgariusson
6528605a87 shell: Remove shell history initialization function
The shell history initialization function doesn't work in if the shell
instance hasn't been created through the shell macro. This removes the
function to avoid confusion.

Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
2025-10-14 12:52:27 +03:00
Måns Ansgariusson
683819f862 shell: history rewrite to use k_heap instead of ring_buffer
The ring_buffer API was not ideal for this use case, as it is designed for
concurrent access, which is not needed here. The new implementation using
k_heap is more readable and easier to maintain.

There is a slight penalty in memory usage & effectiveness due to the
overhead of k_heap, but since this isn't a production-critical path, the
trade-off is acceptable.

Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
2025-10-14 12:52:27 +03:00
Petri Pitkanen
022de69491 tests: Bluetooth: Tester: Add support for scan parameters
Add new command to set scanning parameters, including scan window,
scan interval, and physical interface (1M and coded PHYs).

Signed-off-by: Petri Pitkanen <petri.pitkanen@silabs.com>
2025-10-14 12:52:13 +03:00
Piotr Krzyzanowski
5bf970516b tests: drivers: gpio: add nrf54h20dk_nrf54h20_cpuppr
Enable GPIO tests on nRF54H20 CPUPPR.

Signed-off-by: Piotr Krzyzanowski <piotr.krzyzanowski@nordicsemi.no>
2025-10-14 12:52:03 +03:00
Bartlomiej Buczek
005cf8fce8 samples: drivers: adc: Enable samples for nrf54h20 PPR.
Fill in necessary config files with platforms data.

Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
2025-10-14 12:51:44 +03:00
Felix Wang
d318537b21 test: drivers: pwm: Enable test cases for frdm_mcxw71
Enable pwm_api and pwm_loopback test.
All test cases passed.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-10-14 12:51:33 +03:00
Felix Wang
705a015b53 drivers: pwm: Enable PWM capture feature for TPM
This implementation refers to the code from FTM,
which supports to capture pulse and period.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-10-14 12:51:33 +03:00
Declan Snyder
eeabcd84f9 soc: mcxn947: Enable TRNG
Enable TRNG driver of MCXN947.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-14 12:51:22 +03:00
Declan Snyder
4770b8293f drivers: entropy: Add basic driver for ELS RNG
Adds a very rudimentary driver for getting some entropy from the
edgelock subsystem random number generator.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-14 12:51:22 +03:00
Can Wang
0610da60e6 tests: Bluetooth: BR: fix import error in smp_io_cap test suite.
Because HCI_XXX_IO_CAPABILITY is removed from bumble v0.0.214.

Signed-off-by: Can Wang <can.wang@nxp.com>
2025-10-14 12:51:13 +03:00
Alain Volmat
f2a3f11427 samples: video: avoid K_FOREVER wait on initial buffer allocation
On samples startup, video buffers are being allocated in order to
hold the captured data. Currently the timeout is set to K_FOREVER,
leading to having those samples waiting forever if there isn't
enought memory available on the platform.
Considering that this is done at beginning of the sample and at
that moment there isn't reason to having to wait for the
availability of memory, the timeout is replaced by K_NO_WAIT which
will allow to have the function returning with an error if the
allocation is failing.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-14 12:50:54 +03:00
Robert Lubos
140f193839 doc: migration-guide-4.3: Add entry about CoAP client request changes
Cover struct coap_client_request changes in the migration guide.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-10-14 12:50:39 +03:00
Robert Lubos
75ef63921d net: coap_client: Move send buffer into request context
Keep a separate buffer for each request context instead of having a
single common buffer for the entire client context. This allows to
simplify the retransmission logic, as parallel requests will no longer
overwrite the buffer for each other. That way, we can simply retransmit
the packet w/o a need to recreate it, and thus reach to the payload
pointer or callback.

This removes the requirement to keep the payload pointer, provided to
asynchronous coap_client_req() call, valid throughout the exchange
lifetime for simple cases (i.e. no block transfer used). In case of
block transfer, this is unavoidable and needs to be documented.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-10-14 12:50:39 +03:00
Robert Lubos
c5c51f23d8 net: coap: Define a symbol for fixed header size
Move the definition from the test suite to a public header.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-10-14 12:50:39 +03:00