Test runs on internal RRAM. Do NOT limit test execution
to CI setups with external memory present.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Add overlay required to run the reset_cause test on
nrf54lv10dk/nrf54lv10a/cpuapp platform.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Order of Properties in Device Node
The following order of properties in device nodes is preferred:
“compatible”
“reg”
“ranges”
Standard/common properties (defined by common bindings,
e.g. without vendor-prefixes)
Vendor-specific properties
“status” (if applicable)
Child nodes, where each node is preceded with a blank line
Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
bl54l15u_dvk is a deprecated alias of bl54l15_dvk, so board overlays and
configuration fragments named after it are never picked up. bl54l15_dvk
already has identical copies; the spi_controller_peripheral copy only
adds a zephyr,user sck-gpios property the test does not use.
Assisted-by: Claude:claude-opus-5.5
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The members of struct net_if are internal to the network subsystem.
Get the interface configuration through net_if_get_config() instead of
accessing iface->config directly.
Assisted-by: Claude:claude-opus-5.5
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
With peripheral power down, CPU retention is enabled on ESP32-P4 rev
1.3, but the CPU domain itself stays on. Do not expect it to power
down there.
Run peripheral power down with flash supply power down on the v3
function EV board. The rev 1.3 board keeps the flash supply on, so it
runs in the scenario without that option.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Updates callers of rtio_sqe_cancel to use the newer opaque handle
version which takes into account the generational allocation of SQEs.
The validation of cancel is now safe in that each SQE being cancelled
must belong to the pool in struct rtio the caller has access to and
knows about. It must also be the correct generation of the SQE so that
recycled or freed SQEs are not incorrectly dereferenced with undefined
behavior.
Adds a coccinelle semantic patch to update callers both in and outside
the tree.
A migration guide was updated to include information about the API
change and the usage of the spatch to help out of tree applications
update to the new call semantics. The spatch likely won't fix all
callers but could save some time.
Assisted-by: claude:claude-opus-5 coccinelle
Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
Remove overlay for vpr_launcher for nrf54h20. It is not needed and it
enabled both cpuppr and cpuflpr disregarding which target was tested.
It lead to misbehavior as VPR core was started without a valid code.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The test takes its sink from a dut_egu node, but the nrf54h20dk cpuppr
and cpuflpr overlays still reserve pdm0 and define no dut_egu, so both
fail to build. Use egu130 as the cpuapp overlay does.
Assisted-by: Claude:opus-5.5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a dedicated ztest application validating the SILABS_EMU_TEMP
driver (internal die temperature sensor) on the kg100s_rb4332a
board, following the existing tests/boards/silabs/ layout used for
this board's other driver tests.
Covers the normal sample_fetch/channel_get path for both
SENSOR_CHAN_ALL and SENSOR_CHAN_DIE_TEMP, the -ENOTSUP error path
for unsupported channels, and a plausibility bound on the returned
value (EFR32xG21 commercial/industrial operating range) to catch
gross conversion errors such as returning Kelvin instead of Celsius.
Built and flashed via J-Link on real kg100s_rb4332a hardware; all 5
test cases pass.
Assisted-by: Claude:claude-sonnet-5
Signed-off-by: Nahuel Mesa <nahuel.mesa@focus.uy>
Extend test with checking if previous reset reasons are cleared after
triggering next one.
This mechanism is not expected for nrf54h20 so dividing test
configurations.
Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
Rename the rp2350[ab]_(hazard3|m33).overlay files in the tests directory to
rp2350[ab]_(hazard3_0|m33_0).overlay to fit with the updated rp2350 cpu
cluster names.
Assisted-by: Claude:sonnet5
Signed-off-by: Andrew Fantino <fantino@qti.qualcomm.com>
Update the rpi_pico2's board files and documentation to use
hazard3_0/m33_0 cpu clusters over the hazard3/m33 cpu clusters. Update
board overlays and references in yaml files in samples, shields, and
tests directories.
For example, instead of rpi_pico2/rp2350a/m33, the board target is now
rpi_pico2/rp2350a/m33_0.
Add old board targets to deprecated boards list to be replaced by new
targets automatically and warn on use of old targets.
Assisted-by: Claude:sonnet5
Signed-off-by: Andrew Fantino <fantino@qti.qualcomm.com>
This adds test coverage for the bsim hw models.
Some tests are modified to make the test timer tick at 1MHz
to avoid that multiple events trigger at the same microsecond
which is not fully supported in the bsim TIMER hw models.
When enabling these tests, the following issues were found:
- nrfx_gppi_dppi.c needs to use nrf_ppib_<> hal APIs to
to work with bsim.
- nhw_convert_per_addr_hw_to_sim(timer1) returns the wrong
address on nRF53 app core.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Use a EGU to act as a sink in this test. An EGU is present
on all platforms. Using this peripheral allows us to simplify
the test.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Add the "silabs clocks" shell command and related build/test wiring to
inspect clock status and rate during bring-up and PM validation.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Assisted-by: Cursor:Grok 4.5
The loopback scenario only allows esp32p4x_function_ev_board, but the
board overlay is still named after esp32p4_function_ev_board. No
overlay applies, lp_uart stays disabled, and DEVICE_DT_GET names a
device that is never defined.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:opus-5
Fix flash sync implementation unsigned underflow that caused
timeout with Bluetooth and settings enabled.
Fixed by using the Controller's EVENT_OVERHEAD_START_US CPU
overhead timing as the minimum interval between flash
operation in co-operation with Bluetooth tickers.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Align configuration after change in the default IPC configuration.
ICBMSG backend is now ready to use out-of-the-box on that board.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Enable CONFIG_SOC_ESP32_PM_SLEEP_STATS in samples/tests with PM support,
so it prints a statistics log line to help evaluate sleep
configuration and health.
Assisted-by: Grok:4.6
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
The KMU requires a 96-byte push area at the start of RAM. This was
previously handled by a linker script, but as a hardware requirement it
belongs in devicetree.
Add a kmu_push_area reserved-memory node at 0x20000000 for all nRF54L
devices with KMU support, and add a cpuapp_sram_app child node to
cpuapp_sram covering the SRAM that is left for the application. The
chosen zephyr,sram is pointed at that child node, so cpuapp_sram keeps
describing the SRAM as the hardware presents it, starting at
0x20000000.
Every overlay and snippet that limits the SRAM available to the
application is updated to resize cpuapp_sram_app instead of
cpuapp_sram, since resizing the latter would put the application RAM
back on top of the KMU push area.
Both nodes are guarded by USE_NON_SECURE_ADDRESS_MAP, as TF-M/NS builds
manage the KMU push area through their own partition layout.
Signed-off-by: Dag Erik Gjørvad <dag.erik.gjorvad@nordicsemi.no>
Replace the esp_threadbr_ethernet shield with an ethernet board
qualifier for esp_threadbr. Move the W5500 wiring into the new
variant, enable NET_L2_ETHERNET for it by default and retarget
the existing tests and board documentation.
Assisted-by: Codex:GPT-5
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The STM32N6 AXISRAM was originally located within drivers/misc.
As such, corresponding test was located into tests/drivers/../misc.
Now that the stm32n6_axisram.c is located in the soc/stm32 part,
move the test into a tests/boards/stm32 subfolder.
While doing this, correct a type in the tests.yaml leading to
incorrect overlay file line.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Use controller/peripheral and SDO/SDI terminology in the SPI tests,
following coding guideline rule A.2:
- Switch to SPI_OP_MODE_CONTROLLER/PERIPHERAL, CONFIG_SPI_PERIPHERAL
and the spi_config peripheral member in the spi_controller_peripheral,
spi_error_cases, spi_loopback, spi_ram, build_all and MEC QSPI board
tests.
- Rename the spi_loopback zephyr,user test fixture properties from
mosi-gpios/miso-gpios to sdo-gpios/sdi-gpios together with the test
code reading them.
- Update comments, informational devicetree labels and wiring
documentation.
Pin control entries and comments citing SoC-datasheet signal macro
names (NRF_PSEL(SPIM_MOSI, ...), ESP32 SPIM2_MOSI_GPIO*, Renesas
RSPCK/SSL pin groups, ...) keep the vendor naming.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Invert the in-tree ethernet driver configuration logic.
The current logic is boards enabling `NET_L2_ETHERNET`, which then
unconditionally defaults `ETH_DRIVER` to enabled. This means that
`ETH_DRIVER` end up set for boards that use the L2 Ethernet layer but
don't have an ethernet device (see some WiFi drivers).
This commit:
* Removes the `default y if NET_L2_ETHERNET` from `ETH_DRIVER`
* Adds `default y if ETH_DRIVER` to `NET_L2_ETHERNET`
* Adds `imply ETH_DRIVER` to `NET_QEMU_ETHERNET`
* Updates in-tree ethernet boards to default `ETH_DRIVER` instead of
`NET_L2_ETHERNET`
The outcome of this PR is that Kconfig can now use `ETH_DRIVER` to
reasonably assume that an actual ethernet driver is enabled.
Conversion of in-tree boards/samples performed by GPT-5.5.
Assisted-by: GPT-5.5
Signed-off-by: Jordan Yates <jordan@embeint.com>
Extend test configuration so it can be run on VPR (ppr, flpr) core.
VPR cores are using external allocator IPC service to allocate DPPI
resources.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Assisted-by: Cursor:auto
Add test overlays and platform_allow entries for the kg100s_rb4332a
board across ADC, comparator, DMA, flash, GPIO, PWM, retained memory,
UART, and watchdog driver test suites.
Signed-off-by: Martin Moya <martin.moya@focus.uy>
Add an nRF54L15 CBWT scenario that disables RX with ENDRX pending
and interrupts locked. Verify complete buffer release, RX_DISABLED
delivery, absence of spurious events, and successful receiver reuse.
Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
The suite drives an Espressif driver through an Espressif-only
devicetree fixture and can never run anywhere else, so move it under
tests/boards/espressif/ with the eleven ESP32 suites already there
rather than leaving it in tests/drivers/dma/.
Name the scenario the way those tests are named and declare the
integration platform, so it is picked up by the board CI that already
runs them rather than only by a full twister sweep.
depends_on and the nodelabel filter go with it: platform_allow already
pins the one board this can run on, and that board declares dma
support, so neither narrowed anything.
Signed-off-by: Hsiu-Chi Tsai <hctsai@linux.com>
CONFIG_SMP_BOOT_DELAY was a global, application-level switch that made
the kernel skip starting every secondary CPU at boot, used in-tree only
by two tests and in practice by one platform class (intel_adsp, where
the host or PM policy brings DSP cores up on demand). Boot topology is
a hardware/platform property, and all-or-nothing is needlessly coarse.
Replace it with a per-CPU devicetree flag, zephyr,deferred-start, on
the /cpus children (mirroring zephyr,deferred-init for devices):
z_smp_init() now always runs and simply skips flagged CPUs, which are
brought up at run time with the existing k_smp_cpu_start() (or
k_smp_cpu_resume()). Deferral is per CPU, so asymmetric bring-up
(start some cores at boot, defer others) is now expressible, and the
special-case branch disappears from the boot path.
The flag is declared in the common cpu.yaml binding. The lookup uses
DT_PROP_OR() so cpu nodes whose binding does not cover the property
simply cannot be deferred rather than breaking the build; a binding
for the intel,x86_64 compatible used by qemu_x86_64's cpu nodes was
missing entirely and is added.
The two users are converted: tests/kernel/multiprocessing/
smp_boot_delay marks the secondary CPUs in per-board overlays (both
tests pass on qemu_x86_64) and tests/boards/intel_adsp/smoke gains
overlays for its four platforms (all build). Normal SMP boot is
unaffected (verified on qemu_x86_64, all CPUs online).
Out-of-tree users migrate by dropping CONFIG_SMP_BOOT_DELAY=y and
adding zephyr,deferred-start to the deferred cpu nodes in their board
overlay.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add asynchronous RX coverage for DMAEND-capable UARTEs and the STOPRX
fallback path. Verify shortcut selection, event ordering, short
buffers, zero and infinite timeouts, multiple baud rates, and no-data
reception.
Stress repeated buffer rollovers and uart_rx_disable() races, including
a pending ENDRX with interrupts blocked. Verify data integrity, buffer
ownership, teardown behavior, and subsequent receiver reuse.
Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
Add esp32p4 board overlays and platform entries for the pcnt
self-loopback test and the qdec_multi and qdec_trigger samples.
Assisted-by: Claude Code:opus-4-8
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
A handful of samples and tests were merged in parallel with the
tree-wide bump to CMake 3.28.0 and still declare 3.20.0 (or 3.20.5) as
their minimum required version. Update them so the whole tree is
consistent again.
Assisted-by: Claude:opus-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Raise the minimum required CMake version from 3.20.0 (documented as
3.20.5) to 3.28.0, which is satisfied by the CMake 3.28.3 package
shipped in the Ubuntu 24.04 LTS repositories. Ubuntu 24.04 is the
current Ubuntu LTS release targeted by the Zephyr getting started
guide, and by the time of the next Zephyr release, Ubuntu 22.04 will be
within months of its end of standard support. Users of distributions
shipping an older CMake can use the Kitware APT repository or a
pip-installed CMake, as the documentation already suggests.
Raising the floor to 3.28 unlocks a range of modern CMake features for
the build system, among which the cmake_file_api() command (3.27),
file(COPY_FILE) (3.21), block()/endblock() (3.25), and allows removal
of several version-conditional workarounds.
The tree-wide cmake_minimum_required() occurrences in samples, tests
and boards are updated accordingly, together with the documentation
and the sysbuild CMake presets. The IAR C-STAT integration keeps its
own higher requirement (4.1.0).
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Header file include/zephyr/sys_clock.h is deprecated and will be removed
someday. Update the whole file tree to include zephyr/sys/clock.h
straight instead of zephyr/sys_clock.h.
This change was made running the sed shell command below:
$ sed -i 's/zephyr\/sys_clock\.h/zephyr\/sys\/clock\.h/' \
`grep -rsl "zephyr/sys_clock\.h" tests/`
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Use #include <> instead of #include "" to include a header file which path
is not relative to the directory path of the file emitting the #include
directive.
This change was made running scripts/check_quoted_includes.py script
proposed in https://github.com/zephyrproject-rtos/zephyr/pull/112135
with Linux shell commands like the below and manually selecting the
applicable changes:
$ ./scripts/check_quoted_includes.py -w tests/boards/espressif
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Added two tests that a) uses a PIO loopback to detect incorrect double
sends that potentially happen when using dma_reload followed by dma_start,
and b) verifies that the DMA callback runs when using only dma_reload.
Signed-off-by: Robin Sachsenweger Ballantyne <makenenjoy@gmail.com>
Add a board test that verifies the esp32p4 non-cacheable region.
It reads back the PMA entry to confirm the non-cacheable attribute
was applied, checks the region sits in the DMA-reachable window and
is cache-line aligned, and confirms a store survives a cache line
invalidate so the region is proven non-cacheable rather than just
relying on a driver's own cache maintenance.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Initial pin mapping was partly arbitrarily defined, this commit
aligns .overlay files to the proposed pins on DK.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
Rename the test metadata file(s) in this area from testcase.yaml to
tests.yaml so sample and test metadata share one consistent filename
across the tree. Pure rename, no content change.
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Repoint the board-specific overlays, platform_allow lists and the LP
core sysbuild default from esp32p4_function_ev_board to the newer
esp32p4x_function_ev_board, which carries the recommended v3.1 silicon.
The shared socs/esp32p4_hpcore overlays are keyed on the SoC series and
already apply to both boards, so they are left unchanged.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>