Add device tree overlay for versalnet_rpu board to enable SPI NOR flash
support on the SPI1 controller. This overlay configures the MX25U3235F
flash device and enables running SPI flash samples on Versal NET RPU.
Signed-off-by: Srikanth Boyapally <srikanth.boyapally@amd.com>
Add flash to the supported feature list for versalnet_rpu and introduce
a board overlay to enable running flash common tests.
Signed-off-by: Srikanth Boyapally <srikanth.boyapally@amd.com>
The Cadence SPI driver relied on a conditional guard around software RX
accounting (tx_remain_entry/fifo_diff) in spi_cdns_send(). During
opcode/address/dummy phases (e.g., SPI NOR reads), the RX segment may be
NULL (discard), causing the guard to evaluate false. This prevented the
driver from tracking RX entries generated by each TX entry and could
lead to RX FIFO overflow.
Fix this by always decrementing tx_remain_entry and incrementing
fifo_diff for every TX FIFO entry pushed. Since SPI is full‑duplex, each
TX entry clocks in one RX entry, regardless of whether the client
provides an RX buffer for that phase. The ISR drains RX while fifo_diff
> 0, so keeping fifo_diff accurate prevents overflow.
Also update spi_cdns_recv() RX context handling to be mode-aware:
- In slave mode, advance RX context only when an RX buffer is present.
- In master mode, advance RX context for each received frame.
This keeps slave receive accounting consistent while preserving correct
master behavior, and aligns with the software-tracking approach used to
avoid unreliable RX_NOT_EMPTY status (AR#65885).
As part of this change, refactor spi_cdns_recv() to reduce cognitive
complexity and improve readability, without changing functional behavior.
Signed-off-by: Srikanth Boyapally <srikanth.boyapally@amd.com>
Reduce CONFIG_TEST_WDT_SLEEP_TIME for drivers.watchdog.reset_none_ewm.
This aligns the feed interval with the current MCXW7x tick timing and
keeps the reset_none_ewm testcase within the effective EWM feed
Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
Use doxygen driver_ops commands to properly document the required/optional
FPGA driver operations
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The HTML file is gzipped so for only about 300 bytes extra, add a minimal
CSS so that the page looks nicer, especially on mobile.
Assisted-by: ChatGPT:gpt-5.4
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
In case a custom CONFIG_NET_LINK_ADDR_CUSTOM_LENGTH LL address length is
used, validate that the configured value satisfies the requirements
coming from other enabled L2 layers, otherwise those L2s may be defunct.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
When logging statically configured network SSID, use the Kconfig string
instead of a SSID buffer where it was copied to, as the latter is not
guarantee to be NULL terminated.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case CONFIG_WIFI_CREDENTIALS_STATIC is used, verify the statically
configured SSID/password lengths to guarantee they don't exceed the
allowed SSID and password character limits and thus overflow credential
buffers.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Introduce documentation for using ZView, a Zephyr RTOS runtime
visualizer, as an external module into Zephyr.
This module provides system-wide thread and heap statistics via an
SWD debug probe, with zero on-target footprint. It integrates into
the west build system through a dedicated west command, allowing
users to monitor any existing or new Zephyr application without
modifying the firmware beyond standard thread introspection Kconfig
options.
Signed-off-by: Paulo Santos <pauloxrms@gmail.com>
Use doxygen driver_ops commands to properly document the required/optional
BT HCI driver operations
Assisted-by: Cursor:composer-2
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
As the number of tests/samples we build/run on push increases over time,
increase distribution by 5 runners to allow for faster turnaround when
merging batches of PRs.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The BLE driver and Radio Timer driver register ISRs for interrupts that are
not declared in the Devicetree. Since CONFIG_NUM_IRQS is now determined
automatically based on IRQn appearing in active Devicetree nodes, this now
causes build failures.
Add missing interrupts in the SoC DTSI to fix build failures.
Further cleanup of the aforementionned drivers to actually obtain IRQn from
DT properties should be done at a later time.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
We need to add properties such as interrupts in DT for these devices.
Add them to the binding by including `base.yaml`.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
If a board is called a ethernet_kit, ethernet should be enabled
by default. Also without this being enabled, the esp32 ethernet driver
is not build tested by the ci.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The allow_low_pwr_dbg option causes the MAX32660EVSYS to remain
halted after flashing, unlike the MAX32662, or MAX32670.
Signed-off-by: Mark O'Donovan <mark.odonovan@analog.com>
This fixes an issue that causes all SPI tests run natively on the
nRF54LM20-DK to fail. Furthermore, this adds a clarification in the
README.txt so that this test intention is clear about being run on only one
device, and not two.
Signed-off-by: Tyler Joseph Huffman <tyler@tylerh.org>
Apply the recently introduced driver_ops Doxygen macros to the LED
Strip driver API. This standardizes how driver operations are
documented, making it easier for developers to distinguish between
mandatory and optional operations directly in the public API
documentation.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Register a pm_action callback that disconnects RF GPIO pins
(antenna enable, TX/RX FE_CTRL) on suspend and reconfigures
them on resume.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
When CONFIG_LORA_SX126X_NATIVE_SLEEP=n, sx126x_ensure_ready() returned
immediately without re-enabling the DIO1 interrupt. On the STM32WL the
radio ISR disables itself on entry (irq_disable), so the interrupt must be
explicitly re-armed before each TX/RX operation.
This caused every send after the first to time out because the TX_DONE
interrupt was never delivered.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Includes file for mapping DFP macros to follow a common macro
name for sercom spi g1 driver
Optimizes the driver
Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
Link to the curated page with information about the related
working group and documents instead of the link listing
all articles tagged with cra.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
Wire the Kinetis LMEM-capable SoCs into the generic cache
management path by selecting the LMEM driver, enabling the
available instruction and system-bus cache capabilities, and
defaulting these parts to CACHE_MANAGEMENT with the external
cache backend.
Keep MCUX eDMA descriptors in the default SRAM placement on
SYSMPU-based Kinetis parts. Their SRAM region remains outside
the cached LMEM area, so they do not use the generic
NOCACHE_MEMORY path.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Enable the MCUX LMEM cache component when a SoC selects
HAS_MCUX_LMEM_CACHE.
This keeps LMEM header and source selection inside the HAL
component layer instead of requiring Zephyr-local include
path workarounds in the cache driver build.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Add LMEM data-cache operations to the NXP LMEM cache driver for
SoCs that expose the system-bus cache and select CONFIG_DCACHE.
Rely on SoC Kconfig capability selection instead of driver-local
unsupported stubs so instruction-only LMEM parts only build
instruction-cache support.
This keeps one driver for both instruction-only LMEM parts and
SoCs that also expose the LMEM system-bus cache.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Fixes a few rendering issues with code fragments + overall compatibility
improvement with Doxygen 1.14+
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
After #99399 the workaround for errata 58 in nRF52 chips is removed from
zephyr RTOS and is now part of the nrfx sdk. The initial glue code
between zephyr->nrfx 4.0.0 missed the initializatio of the errata 58
workaround. This commit adds the initialization to the glue code. Given
the errata only applies to nRF52 chips, is safe to assume there is a
single GPIOTE instance present.
Signed-off-by: Jose Morales <josfemova@gmail.com>
Use doxygen driver_ops commands to properly document the required/optional
IPM driver operations
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
'west sdk install' assumes the host-specific minimal SDK archive
always has a matching entry in sha256.sum and aborts with a Python
KeyError when it does not.
Detect the missing checksum entry and report a normal
west fatal error instead.
Without this patch:
west sdk install --install-base ../
KeyError: 'zephyr-sdk-1.0.0_macos-x86_64_minimal.tar.xz'
With this patch:
west sdk install --install-base ../
FATAL ERROR: No Zephyr SDK 1.0.0 bundle found for host
macos-x86_64.
Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
Update the UICR generator image to correctly track outputs and
dependencies as these depend on the options provided. This fixes
an issue where the UICR generation step was always rebuilt when
secondary PERIPHCONF was disabled, since secondary_periphconf.hex
was specified as an output but never produced. It also fixes
missing outputs/dependencies for mpcconf.hex/secondary_mpcconf.hex.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
In order to use HIBERNATE sleep mode, retention of RAM block used
for hibernating the VPR core need to be enabled. Contrary to all other
blocks, retention for this block is usually by default disabled.
Add property to vpr coprocessor node which indicates if hibernation
is going to be used. It need to be used on nRF54L to achieve low
idle current. On nRF54H20 it is not needed as DEEPSLEEP mode gives
good idle current (~5 uA).
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Adds a missing include of base.yaml which meant some properties
were not available when using the CMake dt functions
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fix swapped dev_id and clk_id arguments in the calls to
tisci_cmd_clk_is_on() and tisci_cmd_clk_is_off() within
tisci_get_status(), aligning them with the TISCI API signature.
Signed-off-by: Dave Joseph <d-joseph@ti.com>
Include the maintainers/collaborators from "nRF IronSide SE Platforms".
This is to enable collaboration on the `hal_nordic` repository, where
the IronSide SE support code is distributed.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Change format specifier to %zu for size_t. While at it, also change
required_size to size_t, for better compatibility. This prevents
compilation warnings.
Signed-off-by: Amneesh Singh <amneesh@ti.com>
Use CAN_MCAN_DT_INST_MRAM_ADDR() for setting the Bosch M_CAN message RAM
address from DTS as this takes the message RAM offset into account.
Fixes: #105113
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Rename "_msg" variable to "msg" to avoid shadowing the "_msg" variable used
in the LOG_* macros.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>