Add an internal-loopback ztest for the esp32 lp_uart driver covering
both poll and interrupt-driven paths on c5, c6 and p4. Add a sysbuild
lp-core test where the lp core runs a loopback self-test and reports
the verdict to the hp core over the mailbox, on c5 and c6.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Bring up BLE LL with non-connectable advertising in the suite setup
(guarded by CONFIG_BT) so that nrf_flash_sync_is_required() returns
true and every flash op is dispatched through the radio-sync
write_op(). Two new testcase variants exercise this path:
boards.nrf.rram.radio_sync - BLE active, no SKIP
boards.nrf.rram.radio_sync_skip - BLE active + SKIP_IF_ERASED
Both overlays pin CONFIG_NRF_RRAM_WRITE_BUFFER_SIZE=32 to match what
MCUboot already uses on nrf54l15dk; the Kconfig default of 1 selected
when not RADIO_SYNC_NONE triggers a pre-existing latent bug in
soc_flash_nrf_ticker.c (FLASH_SLOT_WRITE = 500 us is smaller than
FLASH_SYNC_SWITCHING_TIME = 1700 us, so `interval = duration -
SWITCHING_TIME` underflows uint32_t and any multi-slot write times out
after 24 s).
Add a new test_multislot_stress ZTEST that loops 20 iterations of
write -> read -> verify -> flatten -> read -> verify on a 1024B region.
With WRITE_BUFFER_MAX_SIZE = 512 B every iteration in the radio_sync
variants needs two consecutive radio time slots, which validates:
- write_op() reentry across slots (FLASH_OP_ONGOING -> next slot);
- the defensive nrf_rramc_config_set(write=true) at the start of
every slot, which makes write_op() self-contained instead of
relying on RRAMC config persisting across the radio gap;
- end-to-end commit_changes() with sizes that are multiples of
WRITE_BUFFER_MAX_SIZE (no explicit commit) and not (explicit
commit), interleaved at iteration granularity.
In RADIO_SYNC_NONE the same workload still validates large single-call
rram_write() and flatten paths, so the test is meaningful for every
existing variant of the suite.
Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
Main goal of siwx91x_shell is to check the compilation with the CI.
However, experience shows it is also useful to run this application.
So, add support for DHCP, and various shell commands to make it more
convenient for this scenario.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
The options were listed in random order. Group options related to the
network configuration. Try to order/group them by network layer.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
DNS_RESOLVER is is fact not a requirement for "silabs fota".
DNS_RESOLVER selected NET_SOCKETS, so if we remove DNS_RESOLVER, we need to
explicitly select NET_SOCKETS.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Octal PSRAM modules on esp32s3 are paired with octal flash. Without
CONFIG_ESPTOOLPY_OCT_FLASH the flash runs in untuned STR timing and can
corrupt at high PSRAM speeds, since runtime auto-detect only fixes the
IO mode and cannot enable timing tuning that is gated at build time.
Default ESPTOOLPY_OCT_FLASH to y when SPIRAM_MODE_OCT is selected so the
flash timing is tuned (DTR) out of the box. The user can still disable
it for boards that pair octal PSRAM with quad flash.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add cache_coex variants for flash-to-PSRAM relocation, mcuboot, and
reloc+mcuboot, and extend the base coverage to the esp32c5 and esp32p4
boards, so CI exercises the PSRAM boot paths that previously broke.
Declare integration platforms for the esp32s3 board.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Use public cache API function to get DCache line size instead of
relying on 'CONFIG_DCACHE_LINE_SIZE' that has dependencies and is
primarily meant to be used in places where API function cannot be
used (linker scripts, special macros...). Apps shall not bypass the
public cache API.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Add a "silabs nwp_version" shell command that prints the NWP firmware
version (chip_id, rom_id, major, minor, security, patch, customer_id,
build_num).
With the optional -c flag, the command also checks the version against
siwx91x_nwp_fw_expected_version and returns -EINVAL if major, minor or
security_version do not match.
The command is controlled by CONFIG_SIWX91X_VERSION_SHELL (default y)
which depends on SILABS_SIWX91X_NWP and SHELL.
Assisted-by: Copilot:claude-sonnet-4.6
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Add a build-only test for the siwx91x shell commands to ensure
CONFIG_SIWX91X_FIRMWARE_UPGRADE_SHELL keeps compiling with its
typical TLS/networking configuration.
Tested by building for siwx917_rb4338a.
Assisted-by: Copilot:claude-sonnet-4.6
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
kernel.h implies kernel_structs.h via kernel_includes.h, making
explicit inclusion of kernel_structs.h unnecessary whenever kernel.h
is already included in the same translation unit.
Remove the redundant includes across arch, boards, drivers, kernel,
lib, samples, subsys, and tests trees.
in include/zephyr/kernel_structs.h:
* 2. kernel.h shall imply kernel_structs.h, such that it shall not be
* necessary to include kernel_structs.h explicitly when kernel.h is
* included.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
SCHED_CPU_MASK is an SMP-only feature. Several samples and
tests set CONFIG_SCHED_CPU_MASK=y unconditionally in prj.conf,
which warns on UP boards.
Move the assignment into sample.yaml or testcase.yaml gated on
CONFIG_SMP. Pair with CONFIG_SCHED_SIMPLE=y to satisfy the
scheduler dependency. Drop the flag from tests that do not use
the API. Remove a stale help-text paragraph that no longer
matches the symbol's placement.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
A successful user-triggered disconnect now reports its overlayed
disconn_reason (WIFI_REASON_DISCONN_USER_REQUEST) in the event
status field, which is non-zero and was incorrectly flagged as a
failure by the test. Treat both WIFI_REASON_DISCONN_SUCCESS and
WIFI_REASON_DISCONN_USER_REQUEST as passing outcomes.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Test is using one of the peripherals as sink for PPI events. So far
it supported LPCOMP or ECB on nrf54h20 cpurad. Some SoCs don't have
LPCOMP and another peripheral need to be used. Extended test to
use PDM in that case. nrf54h20 cpuapp configuration is changed to
use PDM instead of LPCOMP.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Don't set CONFIG_ESP32_WIFI_STA_AUTO_DHCPV4
as it is already enabled by default, if all dependencies are met.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
`net_calc_chksum` is designed to return uint16_t checksum.
Its current behavior is to return 0 checksum on error
(or on an empty payload) and a valid non zero checksum for non empty
payloads. 0 could be a valid checksum for empty payload.
So update the `net_calc_chksum` and its wrapper's definition to
return error codes.
Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.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>
Add a new test suite to verify the accessibility of the ROM functions and
data across different configurations and chips (RP2040 and RP235x).
Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
Add ESP32-C5 test overlays for counter, I2S, PWM loopback, retained
memory, and UART async API tests.
The PWM GPIO loopback test requires SKIP_EDGE_NUM=6 on ESP32-C5 to
account for flash cache loading latency on the first GPIO ISR
invocations that skews edge timing measurements.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The OSIF API signature for `os_msg_queue_create` differs between the
RTL8752H series and other supported SoCs (e.g., RTL87x2G). Specifically,
the RTL8752H implementation does not accept a queue name string as an
argument.
This commit adds a conditional check using `CONFIG_SOC_SERIES_RTL8752H`
to invoke the correct API variant. This ensures the test suite compiles
and runs correctly on both RTL8752H and RTL87x2G platforms.
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
Replaces usage of these deprecated macros with ones that support
fixed and mapped partition compatibles. Also includes an update to
hal_espressif which also (rightly or wrongly) has zephyr specific
code in it
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
esp32c3_devkitm has been used as board reference for ESP32-C3 SoC.
Change to default esp32c3_devkitc to align with internal CI tests.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
esp32s2_saola has been used as board reference for ESP32-S2 SoC.
Change to default esp32s2_devkitc to align with internal CI tests.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The memory_layout test uses the ztest framework with zassert macros,
so the harness should be ztest instead of console with custom regex
patterns.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Update the return type of the ICMP callback handler to enum net_verdict.
This fixes an issue where currently all ICMP handler are passed the same
pkt. Handlers could have modified the passed packet resulting in undefined
behavior.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Move PLL frequency array before test_cpu_xtal_src so it can be used
to restore CPU to PLL after XTAL testing. Skip non-exact XTAL
divisions (e.g. 26 MHz / 4) instead of testing invalid frequencies
that would cause the clock driver to fail or hang.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This commit introduces a comprehensive test suite to verify the
Realtek OSIF (Operating System Interface) implementation for the
Bee SoC family.
These tests ensure that the OSIF abstraction layer correctly maps
to the underlying Zephyr kernel APIs.
The test implementation references `tests/subsys/portability/cmsis_rtos_v2`
to adopt a proven testing structure for OS abstraction layers.
The test suite covers the following functional modules:
- Memory management (osif_mem)
- Message queues (osif_msgq)
- Synchronization primitives (Mutexes, Semaphores)
- Task management and Scheduling (osif_task, osif_sched)
- Software timers (osif_timer)
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
MD5 is deprecated and the security methods that use are not officially
supported in Zephyr (EAP-MD5, TLSv1 etc), so, remove the code related to
MD5 and disable it in hostap.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Use platform_allow to explicitly list supported boards instead of
a config filter. This restricts the test to specific devkit boards
and avoids running on appcpu targets.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
Add a test that validates SRAM region sizes and performs
write/read verification across the full heap range from
_end to _heap_sentry for all Espressif SoCs.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>