Commit graph

115350 commits

Author SHA1 Message Date
Quang Le
580996deee dts: renesas: Add SPI support for RZ/G3S
Add SPI nodes to Renesas RZ/G3S devicetree

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-05-15 09:00:31 +02:00
Quang Le
4f63592f56 drivers: spi: Initial support for RZ/G3S
Add SPI driver support for Renesas RZ/G3S

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-05-15 09:00:31 +02:00
Tom Burdick
c0a423426f rtio: API version 0.2.0, unstable
We're well past the experimental stage, but there are still some things
that may change. Bumping the API version to 0.2.0 signals this.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-05-14 23:35:15 +02:00
Stoyan Bogdanov
f1b4c12237 drivers: hwinfo: cc23x0: Add support for cc23x0 in hwinfo
Add support for get_reset_cause and get_supported_reset_cause.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-05-14 23:35:07 +02:00
Fabio Baltieri
6d8eb270fc samples: usb: add a cdc_acm_bridge sample
Add a sample for the UART bridge driver using a USB CDC-ACM UART and a
normal one. Demonstrates how to do settings propagation (bitrate
changes) and multiple instances.

The sample needs to know what specific UART are available on each board,
so unfortunately any additional board needs its own overlay.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 20:11:00 +01:00
Fabio Baltieri
3cb8f745a6 serial: add an uart-bridge driver
Add a reusable uart-bridge driver that echoes data between two serial
devices. It's mainly meant to be used with one of the devices being an
USB CDC-ACM, the data is buffered, there's a pause feature to stop the
USB endpoint when the hardware UART is filling up to avoid overrun and
there's a helper function used to propagate the USB uart configuration
to the hardware one.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 20:11:00 +01:00
Benjamin Cabé
6e9cfcdcd5 boards: pan1783: add RST pin on mikrobus connector
The RST pin of the Mikrobus connector is P1.06

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-05-14 19:37:08 +02:00
Chris Friedt
1fc7ccbf96 doc: west: add documentation for west patch
Add documentation for the `west patch` command.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-14 19:36:58 +02:00
Henrik Brix Andersen
b240f11592 tests: drivers: virtualization: qemu_kvm_arm64.overlay: fix SPDX license
"UNLICENSED" is not a valid SPDX License Identifier. Remove it from the
list and just keep "Apache-2.0".

Fixes: #89413

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-05-14 19:36:38 +02:00
Harris Tomy
e31a6be0b0 soc: st: add stm32u535 support
Adds the u535 soc, similar to the u545 except without the AES HW
accelerator

signed-off-by: Harris Tomy <harristomy@gmail.com>
2025-05-14 19:36:26 +02:00
Lyle Zhu
0b0cfd5ec7 Bluetooth: Classic: SSP: Correct pairing method
In current implementation, if the MITM flag of both sides is disabled,
the pairing method is incorrect.

Such as, the IOCAP of both sides is `display_yesorno`, the pairing
method is `PASSKEY_CONFIRM`. But actually, it should be `JUST_WORKS`
in this case.

Fix the issue by setting the pairing method to `JUST_WORKS` if the
MITM flag of both sides is false.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-14 19:36:17 +02:00
Jérôme Pouiller
31646fd06e modules: hal_silabs: Update WiseConnect SDK
Import the new version of the WiseConnect SDK.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-14 19:36:07 +02:00
Emil Gydesen
6887b58d4e Bluetooth: ISO: Remove BT_ISO_TX_FRAG_COUNT
The Kconfig option has not been in use for anything for
a long time, and can safely be removed.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-05-14 16:28:42 +02:00
Aksel Skauge Mellbye
6a7cbff9b2 soc: silabs: siwx91x: Initialize NWP sufficiently early
The NWP provides Bluetooth, Wi-Fi and crypto services, and must
be initialized before any users of these. Mbed TLS is initialized
at priority level 40 (kernel default priority), ensure that the
NWP is initialized before that.

Make the priority configurable to allow users to tweak the init
sequence.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-05-14 16:27:27 +02:00
Fabio Baltieri
39e56e9a71 led: drop a bunch of now redundant brightness validations
This check is now part of the API, individual drivers don't need to do
it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
6f47466899 led: drop a bunch of on/off wrappers
These are now handled at API level, drop them from the drivers.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
2f0d14176e led: fallback from set_brightness to on/off and vice versa automatically
Change the on/off/set_brightness API to automatically use whatever
function is available, this allows dimmable drivers to not implement the
on/off wrapper and vice versa.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
62c1fb2097 led: drop min/max brightness from struct led_data
This is always 0 to 100, hardcode the range.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
69e739359f led: check for valid brightness range at API level
The API specifies that brightness is 0 to 100, no point checking it in
the individual drivers.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
551c1363dd led: add and use a LED_BRIGTHNESS_MAX definition
The led_set_brightness API says that brightness is defined as
percentage, add a macro from the max and use it everywhere.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Bjarki Arge Andreasen
9dfeaf2054 soc: nordic: nrf54h: gpd: select PINCTRL
Select PINCTRL if SOC_NRF54H20_GPD is selected as it is dependent
on it.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 16:27:10 +02:00
Derek Snell
2ad7c8c9cc doc: tests: drivers: i2s_speed: MIMXRT1060-EVK jumpers
Add correct jumper for EVKB board revision.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-05-14 16:27:05 +02:00
Bjarki Arge Andreasen
726fd18e88 tests: drivers: spi: spi_loopback: nrf54h20 cpuapp: add cs gpio
Add CS GPIO to nrf54h20dk/nrf54h20/cpuapp which is connected to
PORT which is in the "fast domain". The fast domain needs to be
resumed from thread context given it requires IPC communication.

This thus ensures that GPIO can be used with and without
PM_DEVICE_RUNTIME enabled.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Bjarki Arge Andreasen
937a44a74e drivers: spi: nrfx_spim: prevent self suspend until spi_release()
In case the SPI transaction has SPI_HOLD_ON_CS set, we need to keep
SPI resumed until spi_release() is called. This is required as we
now need to keep the CS GPIO port resumed until transaction is
complete.

Suspending CS GPIO is not allowed from ISR in some cases (H20 fast
GPIO instance) so we have to defer CS GPIO suspend to some thread
context (put_async or spi_release()).

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Bjarki Arge Andreasen
acbed8a8bf drivers: spi: nrfx_spim: impl spi_context_cs_get_all/put_all
Implement calling spi_context_cs_get_all() and
spi_context_cs_put_all() in line with pm resume/suspend.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Bjarki Arge Andreasen
1cda0eeba0 tests: drivers: spi: spi_loopback: impl pm_device_runtime support
Implement pm_device_runtime support to spi_loopback test suite.

Specifically:
- call pm_device_runtime_get() on SPI bus before using SPI bus
- call pm_device_runtime_put() once SPI bus is no longer needed.
  This is after transceive has been performed, or after calling
  spi_release_dt() after a transceive has been performed.

This addition has no affect if PM_DEVICE_RUNTIME is not enabled
on a board/test case basis.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Bjarki Arge Andreasen
cbd9535551 drivers: spi: context: Add helper for CS GPIO PM
Introduce spi_context_cs_get() and spi_context_cs_put() which shall
be used from drivers to get/put the GPIO port the CS GPIO belongs to
before and after a transaction, in line with the SPI drivers pm
action hook being called.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Bjarki Arge Andreasen
c4d475c1f2 drivers: gpio: nrfx: impl pm device runtime
Implement PM_DEVICE_RUNTIME for gpio_nrfx.c

PM is required to request/release the GPD domain if such exists
for a given GPIO instance. Without this, every single API call
will result in a requesting the GPD domain, which makes it slow
and unusable from ISRs, given GPD requires IPC. Now, user can
simply get the GPIO before using it, and put it once done,
calling the APIs from ISR while resumed.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Kai Vehmanen
d411288bda dma: intel_adsp_hda: re-enable interrupts upon resume
Commit fa4a9db7a3 ("dma: intel_adsp_hda: Fix invalid init sequence and
register use") moved intel_adsp_hda_channels_init() out from resume
path. This causes a regression to CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT
as without irq_config() call the interrupt configuration may be partial.

Address this by calling irq_config() unconditionally on resume path.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2025-05-14 15:19:06 +02:00
Benjamin Cabé
a3f658454a posix: clock: fix maybe-uninitialized warning in z_clock_gettime
Compiler gets confused and thinks base may be used uninitialized. This
shouldn't be possible, but to make the warning go away, initialize it.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-05-14 15:18:57 +02:00
Bas van Loon
0b9fce4612 drivers: serial: uart_mcux_lpuart: Restore lpuart CTRL register.
When RTS/CTS is toggled it disables the receiver and transmitter
bits to be able to change the flow control bits in the MODIR register.

After it has done so, it should restore the original value of the
CTRL register to re-enable the transmitter and/or receiver if they
were enabled before calling the mcux_lpuart_line_ctrl_set_rts()
function.

Signed-off-by: Bas van Loon <bas@arch-embedded.com>
2025-05-14 15:18:46 +02:00
Anas Nashif
1938403854 debug: define thread_info offset for RX
Handling for RX architecture.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-05-14 14:16:03 +02:00
Aleksander Wasaznik
0e138cb777 Bluetooth: Host: K_NO_WAIT in bt_att_req_alloc() in SYS WQ
This commit prevents ATT request APIs from blocking waiting on the
req_slab pool on the system work queue. The API will instead return
-ENOMEM.

This aligns with commit 05b16b971b, which
establishes that the GATT request APIs are non-blocking on the system
work queue. That commit makes GATT request APIs fail with -ENOMEM when
they fail to allocate a buffer for the ATT PDU on the system work queue.

There is no reason to make this distinction between the two resources,
and this makes the API more consistent.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2025-05-14 14:15:58 +02:00
Nithin Ramesh Myliattil
70a97a8222 Bluetooth: BAP: Add control point cbs to BASS
For the control point operations, add/modify/
remove source, callbacks are added so that Application
can decide whether to accept/reject the control point
operations.

Signed-off-by: Nithin Ramesh Myliattil <niym@demant.com>
2025-05-14 14:15:51 +02:00
Jordan Yates
0f1d7d3b59 net: dns: dispatcher: fix OOB array access
Validate that the file descriptor is not a negative number before
writing to the `dispatch_table` `ctx` field. Setting file descriptors
to `-1` is the standard "not in use" value, and in fact the entire array
of `fds` is set to this value in `dns_resolve_init_locked`. This
resolves memory corruption of whichever variable is unfortunate to exist
just before `dispatch_table` in memory.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-05-14 14:11:11 +02:00
Qingsong Gou
2e484fc6e5 rtc: fix gpio_pin_configure_dt error
GPIO_PULLUP is not in other driver gpio int API, so keep the same

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-05-14 14:11:00 +02:00
Robert Lubos
e1d77710b7 net: mqtt-sn: Correct the allowed Keep Alive value range
Keep Alive timeout is represented by 2-byte unsigned integer, however
the corresponding Kconfig option was limited to UINT8_MAX only.
Also, similarly to regular MQTT, allow to disable the Keep Alive
functionality by specifying the Keep Alive value to 0.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-05-14 14:10:34 +02:00
Markus Lassila
5b6a865464 modem_cellular: Add dormant state to support network loss
Previously, it was expected that the modem would immediately
disconnect and close the PPP link, when the network was lost
(+CEREG: 4 is received). Failure to do so, would result in
modem attempting to chat with dlci2 channel, where as cellular
modem driver would drop to dlci1. This would show as dial
script timing out, which would freeze cellular modem driver.

Adding dormant state enables graceful disconnection of PPP-link
when the network is lost. This allows the modems which do
not automatically close with network link loss to close
based on PPP link closure.

Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
2025-05-14 14:10:21 +02:00
Markus Lassila
93c3975fe6 net: l2: ppp: Terminate connection with dormant
When PPP net_if is changed to dormant, the PPP connection
is terminated asynchronously. This is used so that the driver
can terminate the PPP connection gracefully.

Note: net_if_down() is not used as it would require synchronous
operation which would block the system workqueue thus causing
deadlock.

Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
2025-05-14 14:10:21 +02:00
Sylvio Alves
0090ca6d50 west.yml: update hal_espressif
- Fix ESP32-C2 rom puts call, which crashes when
using printf without arguments.

- Fix espressif monitor error when CTRL+C
is pressed to exit terminal.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-05-14 14:10:07 +02:00
Emil Gydesen
615409b349 tests: Bluetooth: Audio: Remove dependency on host mocks
Removes the dependency on the host mocks for LE Audio tests.
This is done by copying the missing mocks for assert into
the audio mocks, and then always including ztest.h.

The inclusion of ztest.h is due to the fact that
arch/cpu.h does not have an appropriate header file for
ztest, and some header files depend on ARCH_STACK_PTR_ALIGN
which is usually defined by those headers in cpu.h. However
ztest.h does define this value as well, and thus needs
to be included always.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-05-14 14:10:02 +02:00
Daniel Schultz
55e8966999 doc: releases: Add ElemRV to Release Notes
Add a note about initial support for ElemRV-N.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Daniel Schultz
59008a8f96 boards: aesc: Add ElemRV-N
ElemRV-N is an end-to-end open-source microcontroller. This patch
adds basic support for the platform with any interfaces. They will
be added later since drivers are missing completly.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Daniel Schultz
2120b82ec9 dts: riscv: Add aesc
ElemRV-N is based on the nitrogen SoC platform. Add the
base nitrogen device-tree and one for elemrv-n. The elemrv-n
device-tree will contain all IP cores later.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Daniel Schultz
86b31465f4 drivers: serial: Add aesc UART driver
Add minimal support for the aesc silicon UART IP core.

This core includes an internal clock divider and supports flexible
frame configurations, allowing for variable data length, parity, and
stop bit settings.

The current driver version does not support interrupts.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Daniel Schultz
3112f856d2 soc: Add aesc
Currently, the only available platform is Nitrogen, featuring a
VexRiscv CPU that boots from external SPI flash and runs code from
external HyperRAM.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Daniel Schultz
14b83d130d MAINTAINERS: Add Aesc Platform
aesc silicon is a startup focused on developing open-source
silicon solutions.

Add a new platform to the MAINTAINERS file to ensure changes
get reviewed.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Daniel Schultz
24322dd555 dts: bindings: Add aesc
aesc silicon is a startup focused on developing open-source
silicon solutions.

Link: https://github.com/aesc-silicon/ElemRV

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Sudan Landge
8c02ffc6dd arch: arm: enable pxn support at arch level
Move PXN support selection to arch so that it is enabled
for all Armv8.1-m socs.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-05-14 14:09:31 +02:00
cyliang tw
3a4e12899c tests: drivers: pwm: pwm_loopback: support numaker_m55m1
Add support for Nuvoton numaker board numaker_m55m1.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-05-14 11:04:17 +01:00