Commit graph

118,807 commits

Author SHA1 Message Date
Tran Van Quy
081911f576 dts: renesas: Add device tree support for Renesas RA4M1 SoC
- Add device tree support for Renesas r7fa4m1ab3cfp with basic
gpio, clock control, sci, counter drivers, adc
- Add clock-frequency in renesas,ra-cgc-pclk binding to use the
clock frequency for iclk

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
c91e0db1f7 dts: renesas: Update dts property for ra4-cm4-common
- Remove redundant node adc1 on ra4-cm4-common due to unsupported
- Update interrupt number for spi1

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Tran Van Quy
5c81b70442 soc: renesas: ra: Add SoC support for Renesas RA4M1
Add support for Renesas RA4M1 SoC series with r7fa4m1ab3cfp

Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-02-03 14:01:59 +01:00
Alexandre Rey
769df0b579 boards: frdm_mcxc242: Add lpuart1 support
According to the quick start guide of the FRDM-MCXC242 board, PTE0/PTE1
should be used for lpuart1. Enable and configure it in board dts.

Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
2025-02-03 11:19:08 +01:00
Jamie McCrae
98d5aa3792 mgmt: mcumgr: grp: img_mgmt: Fix calling confirm
Fixes calling the registered callbacks for image being confirmed
if the confirmation was not successful

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-03 11:18:25 +01:00
Ofir Shemesh
80e42f288b drivers: flash: flash_mcux_flexspi_nor: Add validation checks
Added area_is_subregion() to validate offset and size within bounds.
Ensured read, write, and erase operations check for valid memory regions.
Added null buffer check in read and write functions to prevent errors.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2025-02-03 11:18:11 +01:00
Mihira Madhava Bollapragada
484a513a99 doc: update zephyr path in docs generation
Under the documentation generation sections, the path to the docs folder
and the zephyr path is inconsistent with the getting started pages.
Update to match

Signed-off-by: Mihira Madhava Bollapragada <madhava@ti.com>
2025-02-03 11:17:55 +01:00
Krzysztof Chruściński
fe6a4d0f93 tests: drivers: uart: uart_async_api: Use 4Mbaud for nrf54h20dk uart120
Use high baudrate when testing uart120 on nrf54h20dk/nrf54h20/cpuapp.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
38c129da39 tests: drivers: uart: uart_async_api: Tweak test_read_abort test
Test was staring a TX transfer and aborting it after 300 us from
the timer handler. Test was assuming that ongoing transfer will
not finish in those 300 us. This might not be true for higher
baudrates. Instead of using fixed timeout, a value is calculated
from the baudrate and targets to abort the transfer after approx.
20 bytes of 95 byte long transfer.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
e235e7b384 drivers: serial: nrfx_uarte: Fix spurious RXTO event
Fast instance in nrf54h (uart120) can generate a spurious RXTO event
some time after RXTO event that indicates that RX path is disabled.
The time when event is generated depends on baudrate and when slower
baudrates are used peripheral is disabled on time to not notice it
in the test but with higher baudates issue become visible. In order
to avoid spurious interrupt, RXTO interrupt is disabled during RXTO
event handling and enabled when RX is enabled. This workaround is
applied only for fast instance to avoid unnecessary register
accesses for slower instances.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
972ec824f1 drivers: serial: nrfx_uarte: Add support for higher baudrates
nrf54x devices have UARTE instance capable of using baudrate higher
than 1M. Higher baudrates does not have predefined values for
BAUDRATE register. A formula can be used to calculate BAUDRATE
value that shall be used for desired baudrate. Add UARTE_ANY_HIGH_SPEED
macro which is set when high speed is enabled (uart00 in nrf54lx or
uart120 in nrf54h20). For high speed instance use formula for getting
value that shall be written to BAUDRATE register.

When runtime configuration is not used then same formula is used to
calculate fixed BAUDRATE value.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
1573be5e9f drivers: serial: nrfx_uarte: Rename FAST to FAST_PD
Rename UARTE_ANY_FAST to UARTE_ANY_FAST_PD. There are 2 types of
'fast' UARTE instances. In nrf54h20 instance uart120 is in fast
power domain that requires additional power and clock management
of that domain. In nrf54lx fast uart00 instance does not require
that. Add _PD to indicate fast power domain.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Krzysztof Chruściński
e737895368 dts: bindings: serial: nordic,nrf-uart-common: Extend baudrate enum
Add faster baudrates (2M, 4M and 8M).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-03 11:17:31 +01:00
Christian Galante
2fdfa973ee tests: drivers: build_all: comparator: add silabs_acmp test configurations
Add build test configurations for the silabs_acmp comparator. Enable this
build testing on all series 2 silabs boards that currently support the
comparator driver.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
270db3c40d tests: drivers: comparator: gpio_loopback: extend to xg24 and xg29 boards
Add board overlays to execute the comparator gpio_loopback testsuite on
xg24_dk2601b and xg29_rb4412a. The testsuite was executed and was seen
to pass on both boards locally with twister.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
7d4e972f4a boards: silabs: update board support for comparator driver
The xg24_dk2601b, xg24_ek2703a, xg27_dk2602a, xg23_rb4210a,
xg24_rb4187c and xg29_rb4412a board yaml files were updated
to support the comparator driver. Documentation hardware
support was updated for each of these boards as well to
mention support for the ACMP hardware block and comparator
driver.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
a1aaa6b8f2 drivers: comparator: implement the silabs_acmp compatible driver
This implements the comparator driver for silabs acmp peripherals
using the silabs,acmp compatible binding.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
9f563b4685 dts: arm: silabs: instantiate acmp nodes for xg2x parts
Defines an acmp node for xg21, xg23, xg24, xg27 and xg29
parts, which are all compatible with the silabs,acmp
binding.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
dc4929c9c3 dts: bindings: comparator: define silabs,acmp bindings
Defines bindings that are compatible with silabs acmp.
`input-positive` and `input-negative` are required
properties to be configured by an application.
It is recommended to use the bindings generated in
`include/zephyr/dt-bindings/comparator/silabs_acmp.h`
and reference your part's design book when configuring
values for these properties.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
78163b9717 include: zephyr: dt-bindings: comparator: silabs: generate acmp
Generates bindings that define acmp inputs. These bindings can be
used in devicetree sources to configure the acmp's
input-positive and input-negative properties. Depending on the
part, some inputs may not be available as positive and/or
negative inputs to the ACMP, therefore always reference your
part's design book when selecting these inputs.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
014a869ecf module: hal_silabs: enable acmp module in series 2 hal
This enables silabs series 2 hal source files for the silabs
acmp module to be compiled when the SOC_SILABS_ACMP
configuration is selected.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Christian Galante
dd7547420b soc: silabs: add configuration to enable acmp module
The ACMP module is enabled with this change in the gecko
and simplicity_sdk hal libraries for development on silabs
devices. This is a pre-requisite for implementing the
comparator driver that is compatible with silabs acmp
peripherals.

Signed-off-by: Christian Galante <christian.galante@silabs.com>
2025-02-03 11:16:57 +01:00
Ajay Neeli
b7d13ea6ca serial: xilinx: uartlite: update irq_enable to use DT_INST_IRQN_BY_IDX
Update the irq_enable macro to use the DT_INST_IRQN_BY_IDX helper.

This ensures proper handling of IRQ numbers in systems with multi-level
interrupt configurations.

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
2025-02-03 09:05:19 +01:00
Chris Friedt
1237c8699a doc: posix: mark XSI_REALTIME as supported
Mark the XSI_REALTIME Option Group as supported, such that the
_XOPEN_REALTIME feature test macro may be tested.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-02-03 09:05:09 +01:00
Chris Friedt
f4259c384f posix: options: add xsi realtime option group
Add a POSIX Option Group called XSI_REALTIME (with Kconfig
option CONFIG_XSI_REALTIME).

When XSI_REALTIME is selected (or when required POSIX Options
are enabled), define _XOPEN_REALTIME to be something other
than -1 (_XOPEN_VERSION seemed appropriate).

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-02-03 09:05:09 +01:00
Chris Friedt
d08d63676b posix: options: split kconfig.xsi into separate option groups
Since XSI is composed of several distinct POSIX Option Groups
split Kconfig.xsi into separate files - one for each Option
Group.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-02-03 09:05:09 +01:00
Chris Friedt
0ac931b386 posix: options: profiles: uncomment options that should be selected
For the REALTIME_MINIMAL Application Environment Profile, uncomment
the POSIX_MEMLOCK, POSIX_MEMLOCK_RANGE, POSIX_MEMORY_PROTECTION,
POSIX_MAPPED_FILES, and POSIX_SHARED_MEMORY_OBJECTS options.

These should have been uncommented back when Kconfig options for
those features were added, so this can probably be called a
Kconfig bug.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-02-03 09:05:09 +01:00
Benjamin Cabé
2d4703dd07 boards: panasonic: remove arduino_gpio from pan178x_evb boards
Remove arduino_gpio from supported features on pan1781_evb and
pan1782_evb boards due to them expsosing only a "reduced" Arduino header
see compatible panasonic,reduced-arduino-header

Fixes test failures in weekly CI run.

west twister -p pan1782_evb/nrf52833 -s drivers.gpio.st_2pin_arduino

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-03 01:03:20 +01:00
Benjamin Cabé
d29798f3cf drivers: pwm: sam0: Add missing semicolon in PWM initialization macro
Add missing ; that was causing the driver to fail compiling.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-03 01:03:09 +01:00
Benjamin Cabé
94cd7865a9 boards: samr34_xpro: add pre_dt_board.cmake
Add pre-devicetree CMake configuration for SAMR34 Xplained Pro board to
suppress SPI bus bridge warnings promoted to errors in weekly CI run.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-01 11:27:46 +01:00
Benjamin Cabé
21156f88a6 tests: adc: wio_terminal: enable adc0 node
the adc0 node is now disabled by default in the soc
enable it so that adc test passes for this board

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-01 11:27:37 +01:00
Jacob Wienecke
8e778d86f7 scripts: ci: check_compliance.py: Fix perl script running on windows
Add an if clause to the CheckPatch Class that checks for windows os.
If windows os, check for perl installation.
If no perl installation present. Fail the check.
Without this change, CheckPatch can fail silently on windows,
as windows does not have a way to run perl scripts.

Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
2025-02-01 11:27:28 +01:00
David Leach
9791034413 MAINTAINERS: Update NXP Drivers collaboration
Adding Raymond Lei (Raymond0225) to NXP Drivers collaboration group.

Signed-off-by: David Leach <david.leach@nxp.com>
2025-02-01 00:26:54 +01:00
Martí Bolívar
73903389bf devicetree: document limitations related to for-each macros
Document a C preprocessor limitation that prevents "nested" use of
for-each style devicetree macros in the way users sometimes expect.

Put this in the devicetree.h header where it will show up in the
detailed doxygen description in our HTML documentation, in addition to
being in the sources themselves for people who prefer to look for
docstrings there.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2025-02-01 00:26:38 +01:00
Holger Adams
e4b04b41c0 dts: arm: st: u0: usb_fs_phy was erroneously placed under soc
Fixes warning:

Warning (simple_busi_reg): /soc/usbphy: missing or empty reg/ranges
property

Fixes #84880

Signed-off-by: Holger Adams <mail@dm5tt.de>
2025-02-01 00:26:22 +01:00
Benjamin Cabé
74cccfa1dc drivers: dac: sam: Fix typo in BUILD_ASSERT
Fixed a typo in BUILD_ASSERT macro causing driver to effectively fail to
compile as seen in:
west twister -p sam_v71_xult/samv71q21b -s drivers.dac.api

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-01-31 21:43:45 +01:00
Gediminas Sidlauskas
88c7a443f9 soc: nxp: imxrt: fixed relocated file name
Added .c ending to lpm_rt1064 file name.

Signed-off-by: Gediminas Sidlauskas <gediminas.sidlauskas@gmail.com>
2025-01-31 21:43:25 +01:00
Chaitanya Tata
83592e818b modules: hostap: Decrease supplicant thread stack size
Based on few tests, it was observed that WPA supplicant's maximum usage
for connection and disconnection is 4360.

This would save ~4K which is huge as we have a crunch for RAM.

This was missed when hostap was upstreamed from NCS.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-01-31 21:43:09 +01:00
Felix Schramek
9f2f4a4256 soc: add FlexSPI2 clock configuration in clock_init for rt11xx
The current soc clock_init only configures the FlexSPI1 interface and
not the FlexSPI2.

This Commit adds the clock configuration for the second FlexSPI
in case one boots from the FlexSPI2.

Signed-off-by: Felix Schramek <felix.schramek@gmail.com>
2025-01-31 21:42:56 +01:00
Martin Hoff
2594eae6f1 drivers: uart: silabs: revert pm deletion for usart_gecko
Revert delete of the uart_gecko_pm_action function.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-01-31 19:51:27 +01:00
Robert Lubos
57189b410e net: lwm2m: gateway: Prevent underflow when processing URI options
lwm2m_gw_handle_req() function logic expects that at least one URI
option was found, therefore add an extra check to return the function
early if that isn't the case.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-01-31 19:51:17 +01:00
Algot Axelzon
3fd7f89f64 drivers: usb: stm32: add support for incomplete isochronous in transfer
Implement the HAL callback function `HAL_PCD_ISOINIncompleteCallback` in
which the endpoint write semaphore is given back, thus allowing subsequent
writes to the endpoint after an isochronous transfer has been incompleted
(not read by the host).

This approach was chosen because it is similar to what is done in the
already implemented HAL callback `HAL_PCD_DataInStageCallback` which also
gives the write semaphore back but also calls the endpoint callback
function.

The reason for not also calling the endpoint callback function is because I
do not see any appropriate cb_status (`enum usb_dc_ep_cb_status_code`) to
pass. If passing `USB_DC_EP_DATA_IN` is okay even though "In transaction
done on this EP" is not completely true, then this should also be added.

This has been tested by setting up an isochronous endpoint, writing to it,
and verify that `HAL_PCD_DataInStageCallback` is called and subsequent
writes are possible.

Signed-off-by: Algot Axelzon <algot.axelzon@satcube.com>
2025-01-31 19:51:00 +01:00
Sven Ginka
0c6a367d36 dts: sy1xx: add trng support
With this commit we add the trng functionality to
the sensry soc sy1xx.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-01-31 19:50:43 +01:00
Sven Ginka
8d07f6b4d6 drivers: entropy: sy1xx add support for trng
Add entropy support for the sensry soc sy1xx, based
on trng.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-01-31 19:50:43 +01:00
Titouan Christophe
9be79bc145 samples: subsys: usb: midi: add new sample
Add a sample application that demonstrates how to use the new USB-MIDI 2.0
device class. This shows how to set up the device tree, how to exchange
MIDI data with the host, and how to use the data accessors provided by
the new API.

Signed-off-by: Titouan Christophe <moiandme@gmail.com>
2025-01-31 19:50:26 +01:00
Titouan Christophe
c525e7a0a5 usb: device_next: add new MIDI 2.0 device class
This adds a new USB device class (based on usb/device_next) that implements
revision 2.0 of the MIDIStreaming interface, a sub-class of the USB audio
device class. In practice, the MIDI interface is much more simple and has
little in common with Audio, so it makes sense to have it as a separate
class driver.

MIDI inputs and outputs are configured through the device tree, under a
node `compatible = "zephyr,usb-midi"`. As per the USB-MIDI2.0 spec,
a single usb-midi interface can convey up to 16 Universal MIDI groups,
comprising 16 channels each. Data is carried from/to the host via
so-called Group Terminals, that are organized in Group Terminal Blocks.
They are represented as children of the usb-midi interface in the device
tree.

From the Zephyr application programmer perspective, MIDI data is exchanged
with the host through the device associated with the `zephyr,usb-midi`
interface, using the following API:

* Send a Universal MIDI Packet to the host: `usb_midi_send(device, pkt)`
* Universal MIDI Packets from the host are delivered to the function passed
  in `usb_midi_set_ops(device, &{.rx_packet_cb = handler})`

Compliant USB-MIDI 2.0 devices are required to expose a USB-MIDI1.0
interface as alt setting 0, and the 2.0 interface on alt setting 1.
To avoid the extra complexity of generating backward compatible USB
descriptors and translating Universal MIDI Packets from/to the old
USB-MIDI1.0 format, this driver generates an empty MIDI1.0 interface
(without any input/output); and therefore will only be able to exchange
MIDI data when the host has explicitely enabled MIDI2.0 (alt setting 1).

This implementation is based on the following documents, which are referred
to in the inline comments:

* `midi20`:
    Universal Serial Bus Device Class Definition for MIDI Devices
    Release 2.0
    https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf
* `ump112`:
    Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol
      With MIDI 1.0 Protocol in UMP Format
    Document Version 1.1.2
    https://midi.org/universal-midi-packet-ump-and-midi-2-0-protocol-specification

Signed-off-by: Titouan Christophe <moiandme@gmail.com>
2025-01-31 19:50:26 +01:00
Jamie McCrae
f19e5bc577 mgmt: mcumgr: mgmt: callbacks: Align doxygen links
Aligns doxygen links to have the same style for all in the file.
Also adds some missed links

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-01-31 16:16:08 +01:00
Jukka Rissanen
6a19162deb samples: net: Do not setup VLAN if there is no VLAN interfaces
No point trying to initialize VLAN interfaces if the VLAN
interface count is zero.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-01-31 16:12:50 +01:00
Jukka Rissanen
94361d5964 tests: net: vlan: Support case where VLAN count is 0
Make sure the tests work if VLAN count is set to 0. This means
that only priority tagged (tag 0) VLAN frames can be received.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-01-31 16:12:50 +01:00
Jukka Rissanen
9c24578cc4 net: vlan: Allow VLAN count to be set to 0
If VLAN count is set to 0, then only priority tagged VLAN frames
that have tag value 0 can be received. Also this means that VLAN
interfaces are not created which can save memory if you do not need
to receive any other VLAN frames than those tagged with value 0.

Fixes #84023

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-01-31 16:12:50 +01:00