From 2b747459b7ed46a939db2cabb084e1262ec46a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Chru=C5=9Bci=C5=84ski?= Date: Mon, 15 Sep 2025 14:33:56 +0200 Subject: [PATCH 1/6] Revert "[nrf fromlist] tests: drivers: timer: nrf_grtc_timer: wait for coverage dump" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 103b06acfc2bf2d3c1f6414e5c3448e74d477ae6. Signed-off-by: Krzysztof Chruściński --- tests/drivers/timer/nrf_grtc_timer/src/main.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/tests/drivers/timer/nrf_grtc_timer/src/main.c b/tests/drivers/timer/nrf_grtc_timer/src/main.c index 7e2b440a9aa..9de554256b4 100644 --- a/tests/drivers/timer/nrf_grtc_timer/src/main.c +++ b/tests/drivers/timer/nrf_grtc_timer/src/main.c @@ -393,13 +393,6 @@ static void grtc_stress_test(bool busy_sim_en) if (counter_dev) { counter_stop(counter_dev); } - -#ifdef CONFIG_COVERAGE - /* Wait a few seconds before exit, giving the test the - * opportunity to dump some output before coverage data gets emitted - */ - k_sleep(K_MSEC(5000)); -#endif } ZTEST(nrf_grtc_timer, test_stress) From db4328cc3ac2877c0023b203bca820a788743feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Chru=C5=9Bci=C5=84ski?= Date: Mon, 15 Sep 2025 14:34:06 +0200 Subject: [PATCH 2/6] Revert "[nrf fromlist] tests: drivers: timer: nrf_grtc_timer: Add stress test" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 6bbe5d64f72b0843ed16f9ef01704759e4e76cff. Signed-off-by: Krzysztof Chruściński --- .../boards/nrf54h20dk_nrf54h20_cpuapp.overlay | 17 -- .../boards/nrf54l15dk_nrf54l15_cpuapp.overlay | 32 --- .../nrf54l15dk_nrf54l15_cpuflpr.overlay | 32 --- tests/drivers/timer/nrf_grtc_timer/prj.conf | 6 - tests/drivers/timer/nrf_grtc_timer/src/main.c | 247 ------------------ .../timer/nrf_grtc_timer/testcase.yaml | 43 ++- 6 files changed, 20 insertions(+), 357 deletions(-) delete mode 100644 tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuapp.overlay delete mode 100644 tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay diff --git a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay index 7ae95926703..04580b71480 100644 --- a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay +++ b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -2,21 +2,4 @@ &grtc { /delete-property/ child-owned-channels; - interrupts = <109 2>; -}; - -test_timer: &timer131 { - status = "okay"; - interrupts = <419 1>; -}; - -&timer130 { - status = "okay"; - prescaler = <0>; -}; - -/ { - chosen { - zephyr,cpu-load-counter = &timer130; - }; }; diff --git a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuapp.overlay deleted file mode 100644 index 7bcede529b0..00000000000 --- a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuapp.overlay +++ /dev/null @@ -1,32 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ - -&grtc { - interrupts = <228 2>; -}; - -test_timer: &timer21 { - status = "okay"; - interrupts = <203 1>; -}; - -&timer20 { - status = "okay"; - interrupts = <202 0>; -}; - -&timer00 { - status = "okay"; - prescaler = <0>; -}; - -/ { - chosen { - zephyr,cpu-load-counter = &timer00; - }; - - busy-sim { - compatible = "vnd,busy-sim"; - status = "okay"; - counter = <&timer20>; - }; -}; diff --git a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay deleted file mode 100644 index cfa72ed0273..00000000000 --- a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay +++ /dev/null @@ -1,32 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ - -&grtc { - /*interrupts = <226 2>;*/ -}; - -test_timer: &timer21 { - status = "okay"; - /*interrupts = <203 2>;*/ -}; - -&timer20 { - status = "okay"; - interrupts = <202 0>; -}; - -&timer00 { - status = "okay"; - prescaler = <0>; -}; - -/ { - chosen { - zephyr,cpu-load-counter = &timer00; - }; - - busy-sim { - compatible = "vnd,busy-sim"; - status = "okay"; - counter = <&timer20>; - }; -}; diff --git a/tests/drivers/timer/nrf_grtc_timer/prj.conf b/tests/drivers/timer/nrf_grtc_timer/prj.conf index 93926f090b7..dea03477519 100644 --- a/tests/drivers/timer/nrf_grtc_timer/prj.conf +++ b/tests/drivers/timer/nrf_grtc_timer/prj.conf @@ -1,8 +1,2 @@ CONFIG_ZTEST=y CONFIG_NRF_GRTC_TIMER=y -CONFIG_COUNTER=y -CONFIG_TEST_RANDOM_GENERATOR=y -CONFIG_XOSHIRO_RANDOM_GENERATOR=y -CONFIG_LOG_PRINTK=y -CONFIG_CPU_LOAD=y -CONFIG_CPU_LOAD_USE_COUNTER=y diff --git a/tests/drivers/timer/nrf_grtc_timer/src/main.c b/tests/drivers/timer/nrf_grtc_timer/src/main.c index 9de554256b4..cede54f026f 100644 --- a/tests/drivers/timer/nrf_grtc_timer/src/main.c +++ b/tests/drivers/timer/nrf_grtc_timer/src/main.c @@ -5,15 +5,7 @@ */ #include #include -#include -#include -#include -#include -#include -#include -#include #include -LOG_MODULE_REGISTER(test, 1); #define GRTC_SLEW_TICKS 10 #define NUMBER_OF_TRIES 2000 @@ -161,243 +153,4 @@ ZTEST(nrf_grtc_timer, test_timer_abort_in_compare_mode) z_nrf_grtc_timer_chan_free(channel); } -enum test_timer_state { - TIMER_IDLE, - TIMER_PREPARE, - TIMER_ACTIVE -}; - -enum test_ctx { - TEST_HIGH_PRI, - TEST_TIMER_CB, - TEST_THREAD -}; - -struct test_grtc_timer { - struct k_timer timer; - uint32_t ticks; - uint32_t expire; - uint32_t start_cnt; - uint32_t expire_cnt; - uint32_t abort_cnt; - uint32_t exp_expire; - int max_late; - int min_late; - int avg_late; - uint32_t early_cnt; - enum test_timer_state state; -}; - -static atomic_t test_active_cnt; -static struct test_grtc_timer timers[8]; -static uint32_t test_end; -static k_tid_t test_tid; -static volatile bool test_run; -static uint32_t ctx_cnt[3]; -static const char *const ctx_name[] = { "HIGH PRIO ISR", "TIMER CALLBACK", "THREAD" }; - -static bool stress_test_action(int ctx, int id) -{ - struct test_grtc_timer *timer = &timers[id]; - - ctx_cnt[ctx]++; - if (timer->state == TIMER_ACTIVE) { - /* Aborting soon to expire timers from higher interrupt priority may lead - * to test failures. - */ - if (ctx == 0 && (k_timer_remaining_get(&timer->timer) < 5)) { - return true; - } - - if (timer->abort_cnt < timer->expire_cnt / 2) { - bool any_active; - - timer->state = TIMER_PREPARE; - k_timer_stop(&timer->timer); - timer->abort_cnt++; - any_active = atomic_dec(&test_active_cnt) > 1; - timer->state = TIMER_IDLE; - - return any_active; - } - } else if (timer->state == TIMER_IDLE) { - int ticks = 10 + (sys_rand32_get() & 0x3F); - k_timeout_t t = K_TICKS(ticks); - - timer->exp_expire = k_ticks_to_cyc_floor32(sys_clock_tick_get_32() + ticks); - timer->state = TIMER_PREPARE; - timer->ticks = ticks; - k_timer_start(&timer->timer, t, K_NO_WAIT); - atomic_inc(&test_active_cnt); - timer->start_cnt++; - timer->state = TIMER_ACTIVE; - } - - return true; -} - -static void stress_test_actions(int ctx) -{ - uint32_t r = sys_rand32_get(); - int action_cnt = Z_MAX(r & 0x3, 1); - int tmr_id = (r >> 8) % ARRAY_SIZE(timers); - - /* Occasionally wake thread context from which timer actions are also executed. */ - if ((((r >> 2) & 0x3) == 0) || test_active_cnt < 2) { - LOG_DBG("ctx:%d thread wakeup", ctx); - k_wakeup(test_tid); - } - - for (int i = 0; i < action_cnt; i++) { - if (stress_test_action(ctx, tmr_id) == false) { - stress_test_action(ctx, tmr_id); - } - } -} - -static void timer_cb(struct k_timer *timer) -{ - struct test_grtc_timer *test_timer = CONTAINER_OF(timer, struct test_grtc_timer, timer); - uint32_t now = k_cycle_get_32(); - int diff = now - test_timer->exp_expire; - - atomic_dec(&test_active_cnt); - zassert_true(diff >= 0); - test_timer->max_late = MAX(diff, test_timer->max_late); - test_timer->min_late = MIN(diff, test_timer->min_late); - - if (test_timer->expire_cnt == 0) { - test_timer->avg_late = diff; - } else { - test_timer->avg_late = (test_timer->avg_late * test_timer->expire_cnt + diff) / - (test_timer->expire_cnt + 1); - } - - test_timer->expire_cnt++; - test_timer->state = TIMER_IDLE; - - if (test_run) { - stress_test_actions(TEST_TIMER_CB); - } -} - -static void counter_set(const struct device *dev, struct counter_alarm_cfg *cfg) -{ - int err; - uint32_t us = 150 + (sys_rand32_get() & 0x3F); - - cfg->ticks = counter_us_to_ticks(dev, us); - err = counter_set_channel_alarm(dev, 0, cfg); - zassert_equal(err, 0); -} - -static void counter_cb(const struct device *dev, uint8_t chan_id, uint32_t ticks, void *user_data) -{ - struct counter_alarm_cfg *config = user_data; - - if (test_run) { - stress_test_actions(TEST_HIGH_PRI); - counter_set(dev, config); - } -} - -static void report_progress(uint32_t start, uint32_t end) -{ - static uint32_t next_report; - static uint32_t step; - static uint32_t progress; - - if (next_report == 0) { - step = (end - start) / 10; - next_report = start + step; - } - - if (k_uptime_get_32() > next_report) { - next_report += step; - progress += 10; - printk("%d%%\r", progress); - } -} - -static void grtc_stress_test(bool busy_sim_en) -{ - static struct counter_alarm_cfg alarm_cfg; -#if DT_NODE_EXISTS(DT_NODELABEL(test_timer)) && DT_NODE_HAS_STATUS(DT_NODELABEL(test_timer), okay) - const struct device *const counter_dev = DEVICE_DT_GET(DT_NODELABEL(test_timer)); -#else - const struct device *const counter_dev = NULL; -#endif - uint32_t test_ms = 5000; - uint32_t test_start = k_uptime_get_32(); - uint32_t load; - - test_end = k_cycle_get_32() + k_ms_to_cyc_floor32(test_ms); - test_tid = k_current_get(); - - for (size_t i = 0; i < ARRAY_SIZE(timers); i++) { - k_timer_init(&timers[i].timer, timer_cb, NULL); - } - - if (IS_ENABLED(CONFIG_CPU_LOAD)) { - (void)cpu_load_get(true); - } - - if (counter_dev) { - counter_start(counter_dev); - } - - alarm_cfg.callback = counter_cb; - alarm_cfg.user_data = &alarm_cfg; - test_run = true; - - if (counter_dev) { - counter_set(counter_dev, &alarm_cfg); - } - - if (busy_sim_en) { - busy_sim_start(500, 200, 1000, 400, NULL); - } - - LOG_DBG("Starting test, will end at %d", test_end); - while (k_cycle_get_32() < test_end) { - report_progress(test_start, test_start + test_ms); - stress_test_actions(TEST_THREAD); - k_sleep(K_MSEC(test_ms)); - } - - load = IS_ENABLED(CONFIG_CPU_LOAD) ? cpu_load_get(true) : 0; - - test_run = false; - k_msleep(50); - - for (size_t i = 0; i < ARRAY_SIZE(timers); i++) { - zassert_equal(timers[i].state, TIMER_IDLE, "Unexpected timer %d state:%d", - i, timers[i].state); - TC_PRINT("Timer%d (%p)\r\n\tstart_cnt:%d abort_cnt:%d expire_cnt:%d\n", - i, &timers[i], timers[i].start_cnt, timers[i].abort_cnt, - timers[i].expire_cnt); - TC_PRINT("\tavarage late:%d ticks, max late:%d, min late:%d early:%d\n", - timers[i].avg_late, timers[i].max_late, timers[i].min_late, - timers[i].early_cnt); - } - - for (size_t i = 0; i < ARRAY_SIZE(ctx_cnt); i++) { - TC_PRINT("Context: %s executed %d times\n", ctx_name[i], ctx_cnt[i]); - } - TC_PRINT("CPU load during test:%d.%d\n", load / 10, load % 10); - - if (busy_sim_en) { - busy_sim_stop(); - } - - if (counter_dev) { - counter_stop(counter_dev); - } -} - -ZTEST(nrf_grtc_timer, test_stress) -{ - grtc_stress_test(false); -} - ZTEST_SUITE(nrf_grtc_timer, NULL, NULL, NULL, NULL, NULL); diff --git a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml index 57835bc386a..cd4f99daede 100644 --- a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml +++ b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml @@ -1,24 +1,21 @@ -common: - tags: - - drivers - platform_allow: - - nrf54l15dk/nrf54l15/cpuapp - - nrf54l15dk/nrf54l15/cpuflpr - - nrf54l15bsim/nrf54l15/cpuapp - - nrf54h20dk/nrf54h20/cpuapp - - nrf54h20dk/nrf54h20/cpurad - - nrf54h20dk/nrf54h20/cpuppr - - nrf54l20pdk/nrf54l20/cpuapp - - nrf54lm20dk/nrf54lm20a/cpuapp - - nrf54l20pdk/nrf54l20/cpuflpr - - nrf54lm20dk/nrf54lm20a/cpuflpr - - ophelia4ev/nrf54l15/cpuapp - - ophelia4ev/nrf54l15/cpuflpr - integration_platforms: - - nrf54l15dk/nrf54l15/cpuapp - - nrf54lm20dk/nrf54lm20a/cpuapp tests: - drivers.timer.nrf_grtc_timer: {} - drivers.timer.nrf_grtc_timer.no_assert: - extra_configs: - - CONFIG_ASSERT=n + drivers.timer.nrf_grtc_timer: + tags: drivers + platform_allow: + - nrf54l09pdk/nrf54l09/cpuapp + - nrf54l09pdk/nrf54l09/cpuflpr + - nrf54l15dk/nrf54l15/cpuapp + - nrf54l15dk/nrf54l15/cpuflpr + - nrf54l15bsim/nrf54l15/cpuapp + - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpurad + - nrf54h20dk/nrf54h20/cpuppr + - nrf54l20pdk/nrf54l20/cpuapp + - nrf54lm20dk/nrf54lm20a/cpuapp + - nrf54l20pdk/nrf54l20/cpuflpr + - nrf54lm20dk/nrf54lm20a/cpuflpr + - ophelia4ev/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuflpr + integration_platforms: + - nrf54l20pdk/nrf54l20/cpuapp + - nrf54lm20dk/nrf54lm20a/cpuapp From d35e90286500faf611758ac99eb144cc0c8e4a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Wed, 9 Jul 2025 13:04:55 +0200 Subject: [PATCH 3/6] [nrf fromtree] tests: drivers: timer: nrf_grtc_timer: Cleanup after nRF54LM20 rename MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove duplicated test configuration after nrf54l20pdk/nrf54l20/cpuxxx was renamed to nrf54lm20dk/nrf54lm20a/cpuxxx. Signed-off-by: Sebastian Głąb (cherry picked from commit afd90f42a2f6af48ab324a40fcd59d74385243bf) --- tests/drivers/timer/nrf_grtc_timer/testcase.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml index cd4f99daede..8d01344c49c 100644 --- a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml +++ b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml @@ -2,20 +2,18 @@ tests: drivers.timer.nrf_grtc_timer: tags: drivers platform_allow: + - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpurad + - nrf54h20dk/nrf54h20/cpuppr - nrf54l09pdk/nrf54l09/cpuapp - nrf54l09pdk/nrf54l09/cpuflpr - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuflpr - nrf54l15bsim/nrf54l15/cpuapp - - nrf54h20dk/nrf54h20/cpuapp - - nrf54h20dk/nrf54h20/cpurad - - nrf54h20dk/nrf54h20/cpuppr - - nrf54l20pdk/nrf54l20/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - - nrf54l20pdk/nrf54l20/cpuflpr - nrf54lm20dk/nrf54lm20a/cpuflpr - ophelia4ev/nrf54l15/cpuapp - ophelia4ev/nrf54l15/cpuflpr integration_platforms: - - nrf54l20pdk/nrf54l20/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp + timeout: 30 From ca5affd4b2c1a4321f5f99ae4f082ee525749bde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Wed, 23 Jul 2025 09:17:29 +0200 Subject: [PATCH 4/6] [nrf fromtree] tests: Remove nrf54l09pdk from supported boards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove possibility to run tests on nrf54l09pdk as this is an obsolete board that is going to be removed. Signed-off-by: Sebastian Głąb (cherry picked from commit d673851ec82b012a5795d6a16b718dc1b22c8281) --- .../boards/nrf54l09pdk_nrf54l09_cpuapp.conf | 1 - .../clock_control_api/testcase.yaml | 2 - .../nrf_clock_calibration/testcase.yaml | 1 - .../nrf_lf_clock_start/testcase.yaml | 8 -- .../drivers/clock_control/onoff/testcase.yaml | 1 - .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 34 -------- .../boards/nrf54l09pdk_nrf54l09_cpuapp.conf | 4 - tests/drivers/flash/common/testcase.yaml | 1 - .../flash/negative_tests/testcase.yaml | 1 - .../nrf54l09pdk_nrf54l09_common.overlay | 21 ----- .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 7 -- .../nrf54l09pdk_nrf54l09_cpuflpr.overlay | 7 -- .../boards/nrf54l09pdk_nrf54l09_cpuapp.conf | 1 - .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 22 ----- tests/drivers/retained_mem/api/testcase.yaml | 1 - .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 9 -- .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 47 ---------- .../timer/nrf_grtc_timer/testcase.yaml | 2 - .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 26 ------ .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 31 ------- .../nrf54l09pdk_nrf54l09_cpuflpr.overlay | 31 ------- .../nrf54l09pdk_nrf54l09_dual_uart.overlay | 85 ------------------- .../uart/uart_elementary/testcase.yaml | 10 --- .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 43 ---------- .../uart/uart_mix_fifo_poll/testcase.yaml | 1 - .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 36 -------- tests/drivers/uart/uart_pm/testcase.yaml | 5 -- .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 9 -- .../nrf54l09pdk_nrf54l09_cpuflpr.overlay | 9 -- .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 9 -- .../watchdog/wdt_error_cases/testcase.yaml | 1 - .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 9 -- .../watchdog/wdt_variables/testcase.yaml | 1 - .../boards/nrf54l09pdk_nrf54l09_cpuapp.conf | 1 - tests/subsys/fs/fcb/testcase.yaml | 3 +- .../storage/stream/stream_flash/testcase.yaml | 1 - 36 files changed, 1 insertion(+), 480 deletions(-) delete mode 100644 tests/drivers/clock_control/clock_control_api/boards/nrf54l09pdk_nrf54l09_cpuapp.conf delete mode 100644 tests/drivers/counter/counter_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/flash/common/boards/nrf54l09pdk_nrf54l09_cpuapp.conf delete mode 100644 tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_common.overlay delete mode 100644 tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay delete mode 100644 tests/drivers/retained_mem/api/boards/nrf54l09pdk_nrf54l09_cpuapp.conf delete mode 100644 tests/drivers/retained_mem/api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/sensor/temp_sensor/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/spi/spi_loopback/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/uart/uart_async_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay delete mode 100644 tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_dual_uart.overlay delete mode 100644 tests/drivers/uart/uart_mix_fifo_poll/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/uart/uart_pm/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay delete mode 100644 tests/drivers/watchdog/wdt_error_cases/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/drivers/watchdog/wdt_variables/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay delete mode 100644 tests/kernel/timer/timer_behavior/boards/nrf54l09pdk_nrf54l09_cpuapp.conf diff --git a/tests/drivers/clock_control/clock_control_api/boards/nrf54l09pdk_nrf54l09_cpuapp.conf b/tests/drivers/clock_control/clock_control_api/boards/nrf54l09pdk_nrf54l09_cpuapp.conf deleted file mode 100644 index 11d42321cbc..00000000000 --- a/tests/drivers/clock_control/clock_control_api/boards/nrf54l09pdk_nrf54l09_cpuapp.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TEST_NRF_HF_STARTUP_TIME_US=1000 diff --git a/tests/drivers/clock_control/clock_control_api/testcase.yaml b/tests/drivers/clock_control/clock_control_api/testcase.yaml index 4a192e5e3a7..4578b428282 100644 --- a/tests/drivers/clock_control/clock_control_api/testcase.yaml +++ b/tests/drivers/clock_control/clock_control_api/testcase.yaml @@ -21,7 +21,6 @@ tests: - nrf52dk/nrf52832 - nrf52840dk/nrf52840 - nrf9160dk/nrf9160 - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -32,7 +31,6 @@ tests: - nrf51dk/nrf51822 - nrf52dk/nrf52832 - nrf52840dk/nrf52840 - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/clock_control/nrf_clock_calibration/testcase.yaml b/tests/drivers/clock_control/nrf_clock_calibration/testcase.yaml index 4600202f0f1..708e563900c 100644 --- a/tests/drivers/clock_control/nrf_clock_calibration/testcase.yaml +++ b/tests/drivers/clock_control/nrf_clock_calibration/testcase.yaml @@ -8,7 +8,6 @@ tests: - nrf51dk/nrf51822 - nrf52dk/nrf52832 - nrf52840dk/nrf52840 - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/clock_control/nrf_lf_clock_start/testcase.yaml b/tests/drivers/clock_control/nrf_lf_clock_start/testcase.yaml index 0b1f9ae3c93..17a783a4808 100644 --- a/tests/drivers/clock_control/nrf_lf_clock_start/testcase.yaml +++ b/tests/drivers/clock_control/nrf_lf_clock_start/testcase.yaml @@ -14,7 +14,6 @@ tests: - nrf9160dk/nrf9160 - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -32,7 +31,6 @@ tests: - nrf9160dk/nrf9160 - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -66,7 +64,6 @@ tests: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -83,7 +80,6 @@ tests: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -100,7 +96,6 @@ tests: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -117,7 +112,6 @@ tests: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -134,7 +128,6 @@ tests: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -151,7 +144,6 @@ tests: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpuapp - nrf5340dk/nrf5340/cpunet - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/clock_control/onoff/testcase.yaml b/tests/drivers/clock_control/onoff/testcase.yaml index c26eeca5e3d..1f557c918ab 100644 --- a/tests/drivers/clock_control/onoff/testcase.yaml +++ b/tests/drivers/clock_control/onoff/testcase.yaml @@ -7,7 +7,6 @@ tests: - nrf51dk/nrf51822 - nrf52dk/nrf52832 - nrf52840dk/nrf52840 - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - nrf9160dk/nrf9160 diff --git a/tests/drivers/counter/counter_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/counter/counter_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index 54b47926164..00000000000 --- a/tests/drivers/counter/counter_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,34 +0,0 @@ -&timer00 { - prescaler = <6>; - status = "okay"; -}; - -&timer10 { - prescaler = <4>; - status = "okay"; -}; - -&timer20 { - prescaler = <4>; - status = "okay"; -}; - -&timer21 { - prescaler = <4>; - status = "okay"; -}; - -&timer22 { - prescaler = <4>; - status = "okay"; -}; - -&timer23 { - prescaler = <4>; - status = "okay"; -}; - -&timer24 { - prescaler = <4>; - status = "okay"; -}; diff --git a/tests/drivers/flash/common/boards/nrf54l09pdk_nrf54l09_cpuapp.conf b/tests/drivers/flash/common/boards/nrf54l09pdk_nrf54l09_cpuapp.conf deleted file mode 100644 index 821a5e77e5b..00000000000 --- a/tests/drivers/flash/common/boards/nrf54l09pdk_nrf54l09_cpuapp.conf +++ /dev/null @@ -1,4 +0,0 @@ -CONFIG_FCB=y -CONFIG_FLASH_MAP=y -CONFIG_SETTINGS=y -CONFIG_SETTINGS_FCB=y diff --git a/tests/drivers/flash/common/testcase.yaml b/tests/drivers/flash/common/testcase.yaml index 0a35ec04cd9..a4e2ac0632e 100644 --- a/tests/drivers/flash/common/testcase.yaml +++ b/tests/drivers/flash/common/testcase.yaml @@ -45,7 +45,6 @@ tests: drivers.flash.common.no_explicit_erase: platform_allow: - nrf54l15dk/nrf54l05/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l10/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54h20dk/nrf54h20/cpuapp diff --git a/tests/drivers/flash/negative_tests/testcase.yaml b/tests/drivers/flash/negative_tests/testcase.yaml index 7a55212aa3f..7a96f4e65e5 100644 --- a/tests/drivers/flash/negative_tests/testcase.yaml +++ b/tests/drivers/flash/negative_tests/testcase.yaml @@ -6,7 +6,6 @@ tests: drivers.flash.negative_tests: platform_allow: - nrf54h20dk/nrf54h20/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_common.overlay b/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_common.overlay deleted file mode 100644 index 8eb1b3c9f9f..00000000000 --- a/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_common.overlay +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -/ { - resources { - compatible = "test-gpio-basic-api"; - out-gpios = <&gpio1 10 0>; - in-gpios = <&gpio1 11 0>; - }; -}; - -&gpiote20 { - status = "okay"; -}; - -&gpio1 { - status = "okay"; -}; diff --git a/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index 7eee797278b..00000000000 --- a/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,7 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "nrf54l09pdk_nrf54l09_common.overlay" diff --git a/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay b/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay deleted file mode 100644 index b0c42fd3d2a..00000000000 --- a/tests/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay +++ /dev/null @@ -1,7 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "nrf54l09pdk_nrf54l09_common.overlay" diff --git a/tests/drivers/retained_mem/api/boards/nrf54l09pdk_nrf54l09_cpuapp.conf b/tests/drivers/retained_mem/api/boards/nrf54l09pdk_nrf54l09_cpuapp.conf deleted file mode 100644 index c15ba3ed96d..00000000000 --- a/tests/drivers/retained_mem/api/boards/nrf54l09pdk_nrf54l09_cpuapp.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_POWEROFF=y diff --git a/tests/drivers/retained_mem/api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/retained_mem/api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index e304ecbbfb1..00000000000 --- a/tests/drivers/retained_mem/api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,22 +0,0 @@ -/ { - cpuapp_sram@2002e000 { - compatible = "zephyr,memory-region", "mmio-sram"; - reg = <0x2002e000 DT_SIZE_K(4)>; - zephyr,memory-region = "RetainedMem"; - status = "okay"; - - retainedmem0: retainedmem { - compatible = "zephyr,retained-ram"; - status = "okay"; - }; - }; - - aliases { - retainedmemtestdevice = &retainedmem0; - }; -}; - -&cpuapp_sram { - reg = <0x20000000 DT_SIZE_K(184)>; - ranges = <0x0 0x20000000 0x2e000>; -}; diff --git a/tests/drivers/retained_mem/api/testcase.yaml b/tests/drivers/retained_mem/api/testcase.yaml index 88bd6ae16ff..e89ef395371 100644 --- a/tests/drivers/retained_mem/api/testcase.yaml +++ b/tests/drivers/retained_mem/api/testcase.yaml @@ -10,7 +10,6 @@ tests: - nrf5340dk/nrf5340/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l05/cpuapp - nrf54l15dk/nrf54l10/cpuapp - nrf54l15dk/nrf54l15/cpuapp diff --git a/tests/drivers/sensor/temp_sensor/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/sensor/temp_sensor/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index b1f2a2b9ec5..00000000000 --- a/tests/drivers/sensor/temp_sensor/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -temp_sensor: &temp { - status = "okay"; -}; diff --git a/tests/drivers/spi/spi_loopback/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/spi/spi_loopback/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index cdb0d0dbcec..00000000000 --- a/tests/drivers/spi/spi_loopback/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -&pinctrl { - spi21_default: spi21_default { - group1 { - psels = , - , - ; - }; - }; - - spi21_sleep: spi21_sleep { - group1 { - psels = , - , - ; - low-power-enable; - }; - }; -}; - -&spi21 { - status = "okay"; - pinctrl-0 = <&spi21_default>; - pinctrl-1 = <&spi21_sleep>; - pinctrl-names = "default", "sleep"; - overrun-character = <0x00>; - zephyr,pm-device-runtime-auto; - slow@0 { - compatible = "test-spi-loopback-slow"; - reg = <0>; - spi-max-frequency = ; - }; - fast@0 { - compatible = "test-spi-loopback-fast"; - reg = <0>; - spi-max-frequency = ; - }; -}; - -&gpio1 { - status = "okay"; -}; diff --git a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml index 8d01344c49c..6f4486de913 100644 --- a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml +++ b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml @@ -5,8 +5,6 @@ tests: - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad - nrf54h20dk/nrf54h20/cpuppr - - nrf54l09pdk/nrf54l09/cpuapp - - nrf54l09pdk/nrf54l09/cpuflpr - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuflpr - nrf54l15bsim/nrf54l15/cpuapp diff --git a/tests/drivers/uart/uart_async_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/uart/uart_async_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index ed4a2de1891..00000000000 --- a/tests/drivers/uart/uart_async_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,26 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ - -&pinctrl { - uart21_default_alt: uart21_default_alt { - group1 { - psels = , - ; - }; - }; - - uart21_sleep_alt: uart21_sleep_alt { - group1 { - psels = , - ; - low-power-enable; - }; - }; -}; - -dut: &uart21 { - status = "okay"; - pinctrl-0 = <&uart21_default_alt>; - pinctrl-1 = <&uart21_sleep_alt>; - pinctrl-names = "default", "sleep"; - current-speed = <115200>; -}; diff --git a/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index cf481b7a161..00000000000 --- a/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,31 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ - -&pinctrl { - uart21_default: uart21_default { - group1 { - psels = , - , - , - ; - }; - }; - - uart21_sleep: uart21_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; -}; - -dut: &uart21 { - status = "okay"; - current-speed = <115200>; - pinctrl-0 = <&uart21_default>; - pinctrl-1 = <&uart21_sleep>; - pinctrl-names = "default", "sleep"; - hw-flow-control; -}; diff --git a/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay b/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay deleted file mode 100644 index cf481b7a161..00000000000 --- a/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay +++ /dev/null @@ -1,31 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ - -&pinctrl { - uart21_default: uart21_default { - group1 { - psels = , - , - , - ; - }; - }; - - uart21_sleep: uart21_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; -}; - -dut: &uart21 { - status = "okay"; - current-speed = <115200>; - pinctrl-0 = <&uart21_default>; - pinctrl-1 = <&uart21_sleep>; - pinctrl-names = "default", "sleep"; - hw-flow-control; -}; diff --git a/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_dual_uart.overlay b/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_dual_uart.overlay deleted file mode 100644 index 505993a7308..00000000000 --- a/tests/drivers/uart/uart_elementary/boards/nrf54l09pdk_nrf54l09_dual_uart.overlay +++ /dev/null @@ -1,85 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ - -/ { - chosen { - zephyr,console = &uart30; - zephyr,shell-uart = &uart30; - }; -}; - -&pinctrl { - uart20_default: uart20_default { - group1 { - psels = , - ; - bias-pull-up; - }; - }; - - uart20_sleep: uart20_sleep { - group1 { - psels = , - ; - low-power-enable; - }; - }; - - uart21_default: uart21_default { - group1 { - psels = , - ; - bias-pull-up; - }; - }; - - uart21_sleep: uart21_sleep { - group1 { - psels = , - ; - low-power-enable; - }; - }; - - uart30_default: uart30_default { - group1 { - psels = ; - }; - group2 { - psels = ; - bias-pull-up; - }; - }; - - uart30_sleep: uart30_sleep { - group1 { - psels = , - ; - low-power-enable; - }; - }; -}; - - -&uart30 { - status = "okay"; - current-speed = <115200>; - pinctrl-0 = <&uart30_default>; - pinctrl-1 = <&uart30_sleep>; - pinctrl-names = "default", "sleep"; -}; - -dut: &uart20 { - status = "okay"; - current-speed = <115200>; - pinctrl-0 = <&uart20_default>; - pinctrl-1 = <&uart20_sleep>; - pinctrl-names = "default", "sleep"; -}; - -dut_aux: &uart21 { - status = "okay"; - current-speed = <115200>; - pinctrl-0 = <&uart21_default>; - pinctrl-1 = <&uart21_sleep>; - pinctrl-names = "default", "sleep"; -}; diff --git a/tests/drivers/uart/uart_elementary/testcase.yaml b/tests/drivers/uart/uart_elementary/testcase.yaml index 7afdc874269..cbf222fa72c 100644 --- a/tests/drivers/uart/uart_elementary/testcase.yaml +++ b/tests/drivers/uart/uart_elementary/testcase.yaml @@ -11,8 +11,6 @@ tests: filter: CONFIG_SERIAL_SUPPORT_INTERRUPT platform_allow: - nrf54h20dk/nrf54h20/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - - nrf54l09pdk/nrf54l09/cpuflpr - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuflpr - nrf54lm20dk/nrf54lm20a/cpuapp @@ -55,8 +53,6 @@ tests: drivers.uart.uart_elementary_dual_nrf54l: filter: CONFIG_SERIAL_SUPPORT_INTERRUPT platform_allow: - - nrf54l09pdk/nrf54l09/cpuapp - - nrf54l09pdk/nrf54l09/cpuflpr - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuflpr - nrf54lm20dk/nrf54lm20a/cpuapp @@ -64,8 +60,6 @@ tests: - ophelia4ev/nrf54l15/cpuapp - ophelia4ev/nrf54l15/cpuflpr extra_args: - - platform:nrf54l09pdk/nrf54l09/cpuapp:"DTC_OVERLAY_FILE=boards/nrf54l09pdk_nrf54l09_dual_uart.overlay" - - platform:nrf54l09pdk/nrf54l09/cpuflpr:"DTC_OVERLAY_FILE=boards/nrf54l09pdk_nrf54l09_dual_uart.overlay" - platform:nrf54l15dk/nrf54l15/cpuapp:"DTC_OVERLAY_FILE=boards/nrf54l15dk_nrf54l15_dual_uart.overlay" - platform:nrf54l15dk/nrf54l15/cpuflpr:"DTC_OVERLAY_FILE=boards/nrf54l15dk_nrf54l15_dual_uart.overlay" - platform:nrf54lm20dk/nrf54lm20a/cpuapp:"DTC_OVERLAY_FILE=boards/nrf54lm20dk_nrf54lm20a_dual_uart.overlay" @@ -77,8 +71,6 @@ tests: drivers.uart.uart_elementary_dual_setup_mismatch_nrf54l: filter: CONFIG_SERIAL_SUPPORT_INTERRUPT platform_allow: - - nrf54l09pdk/nrf54l09/cpuapp - - nrf54l09pdk/nrf54l09/cpuflpr - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuflpr - nrf54lm20dk/nrf54lm20a/cpuapp @@ -86,8 +78,6 @@ tests: - ophelia4ev/nrf54l15/cpuapp - ophelia4ev/nrf54l15/cpuflpr extra_args: - - platform:nrf54l09pdk/nrf54l09/cpuapp:"DTC_OVERLAY_FILE=boards/nrf54l09pdk_nrf54l09_dual_uart.overlay" - - platform:nrf54l09pdk/nrf54l09/cpuflpr:"DTC_OVERLAY_FILE=boards/nrf54l09pdk_nrf54l09_dual_uart.overlay" - platform:nrf54l15dk/nrf54l15/cpuapp:"DTC_OVERLAY_FILE=boards/nrf54l15dk_nrf54l15_dual_uart.overlay" - platform:nrf54l15dk/nrf54l15/cpuflpr:"DTC_OVERLAY_FILE=boards/nrf54l15dk_nrf54l15_dual_uart.overlay" - platform:nrf54lm20dk/nrf54lm20a/cpuapp:"DTC_OVERLAY_FILE=boards/nrf54lm20dk_nrf54lm20a_dual_uart.overlay" diff --git a/tests/drivers/uart/uart_mix_fifo_poll/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/uart/uart_mix_fifo_poll/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index 945b8628e7a..00000000000 --- a/tests/drivers/uart/uart_mix_fifo_poll/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -&pinctrl { - uart21_default: uart21_default { - group1 { - psels = , - , - , - ; - }; - }; - - uart21_sleep: uart21_sleep { - group1 { - psels = , - , - , - ; - low-power-enable; - }; - }; -}; - -dut: &uart21 { - status = "okay"; - current-speed = <115200>; - pinctrl-0 = <&uart21_default>; - pinctrl-1 = <&uart21_sleep>; - pinctrl-names = "default", "sleep"; - hw-flow-control; -}; - -counter_dev: &timer00 { - status = "okay"; -}; - -&grtc { - interrupts = <228 2>; -}; diff --git a/tests/drivers/uart/uart_mix_fifo_poll/testcase.yaml b/tests/drivers/uart/uart_mix_fifo_poll/testcase.yaml index fee2d1f4646..0ba5944cca6 100644 --- a/tests/drivers/uart/uart_mix_fifo_poll/testcase.yaml +++ b/tests/drivers/uart/uart_mix_fifo_poll/testcase.yaml @@ -12,7 +12,6 @@ common: - nrf5340bsim/nrf5340/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l15bsim/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp diff --git a/tests/drivers/uart/uart_pm/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/uart/uart_pm/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index 033aab401ac..00000000000 --- a/tests/drivers/uart/uart_pm/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -&pinctrl { - uart21_default: uart21_default { - group1 { - psels = , - ; - }; - }; - - uart21_sleep: uart21_sleep { - group1 { - psels = , - ; - low-power-enable; - }; - }; -}; - -/ { - chosen { - zephyr,console = &uart20; - }; -}; - -dut: &uart21 { - status = "okay"; - current-speed = <115200>; - pinctrl-0 = <&uart21_default>; - pinctrl-1 = <&uart21_sleep>; - pinctrl-names = "default", "sleep"; -}; diff --git a/tests/drivers/uart/uart_pm/testcase.yaml b/tests/drivers/uart/uart_pm/testcase.yaml index d775e30ae71..008eae9d3d7 100644 --- a/tests/drivers/uart/uart_pm/testcase.yaml +++ b/tests/drivers/uart/uart_pm/testcase.yaml @@ -8,7 +8,6 @@ common: - nrf52840dk/nrf52840 - nrf5340bsim/nrf5340/cpuapp - nrf54h20dk/nrf54h20/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l15bsim/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp @@ -36,7 +35,6 @@ tests: - nrf52_bsim - nrf5340bsim/nrf5340/cpuapp - nrf54h20dk/nrf54h20/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54l15bsim/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp @@ -50,7 +48,6 @@ tests: - CONFIG_UART_0_ENHANCED_POLL_OUT=y platform_exclude: - nrf54h20dk/nrf54h20/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -70,7 +67,6 @@ tests: - CONFIG_UART_0_ENHANCED_POLL_OUT=y platform_exclude: - nrf54h20dk/nrf54h20/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp @@ -96,7 +92,6 @@ tests: - CONFIG_UART_0_ENHANCED_POLL_OUT=y platform_exclude: - nrf54h20dk/nrf54h20/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp diff --git a/tests/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index dc1ea1a9ddc..00000000000 --- a/tests/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -&wdt31 { - status = "okay"; -}; diff --git a/tests/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay b/tests/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay deleted file mode 100644 index dc1ea1a9ddc..00000000000 --- a/tests/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -&wdt31 { - status = "okay"; -}; diff --git a/tests/drivers/watchdog/wdt_error_cases/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/watchdog/wdt_error_cases/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index 8d3dce3b380..00000000000 --- a/tests/drivers/watchdog/wdt_error_cases/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -&wdt31 { - status = "okay"; -}; diff --git a/tests/drivers/watchdog/wdt_error_cases/testcase.yaml b/tests/drivers/watchdog/wdt_error_cases/testcase.yaml index f8da32ca72d..438b59e9271 100644 --- a/tests/drivers/watchdog/wdt_error_cases/testcase.yaml +++ b/tests/drivers/watchdog/wdt_error_cases/testcase.yaml @@ -9,7 +9,6 @@ tests: drivers.watchdog.wdt_error_cases: platform_allow: - nrf5340dk/nrf5340/cpuapp - - nrf54l09pdk/nrf54l09/cpuapp - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad - nrf54l15dk/nrf54l15/cpuapp diff --git a/tests/drivers/watchdog/wdt_variables/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/tests/drivers/watchdog/wdt_variables/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay deleted file mode 100644 index dc1ea1a9ddc..00000000000 --- a/tests/drivers/watchdog/wdt_variables/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -&wdt31 { - status = "okay"; -}; diff --git a/tests/drivers/watchdog/wdt_variables/testcase.yaml b/tests/drivers/watchdog/wdt_variables/testcase.yaml index b504cb5b6b8..434081c499f 100644 --- a/tests/drivers/watchdog/wdt_variables/testcase.yaml +++ b/tests/drivers/watchdog/wdt_variables/testcase.yaml @@ -14,7 +14,6 @@ tests: platform_allow: - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpuppr - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - nrf54lm20dk/nrf54lm20a/cpuflpr diff --git a/tests/kernel/timer/timer_behavior/boards/nrf54l09pdk_nrf54l09_cpuapp.conf b/tests/kernel/timer/timer_behavior/boards/nrf54l09pdk_nrf54l09_cpuapp.conf deleted file mode 100644 index 4b13bc80c7f..00000000000 --- a/tests/kernel/timer/timer_behavior/boards/nrf54l09pdk_nrf54l09_cpuapp.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SYS_CLOCK_TICKS_PER_SEC=10000 diff --git a/tests/subsys/fs/fcb/testcase.yaml b/tests/subsys/fs/fcb/testcase.yaml index c915dd56840..572a8fe49a7 100644 --- a/tests/subsys/fs/fcb/testcase.yaml +++ b/tests/subsys/fs/fcb/testcase.yaml @@ -12,13 +12,12 @@ tests: - native_sim filesystem.fcb.no_erase: platform_allow: - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - nrf54lm20dk/nrf54lm20a/cpuapp - ophelia4ev/nrf54l15/cpuapp - native_sim integration_platforms: - - nrf54l09pdk/nrf54l09/cpuapp + - nrf54l15dk/nrf54l15/cpuapp - native_sim filesystem.fcb.native_sim.no_erase: extra_args: CONFIG_FLASH_SIMULATOR_EXPLICIT_ERASE=n diff --git a/tests/subsys/storage/stream/stream_flash/testcase.yaml b/tests/subsys/storage/stream/stream_flash/testcase.yaml index 3dc0a660f2f..bd53b4438a9 100644 --- a/tests/subsys/storage/stream/stream_flash/testcase.yaml +++ b/tests/subsys/storage/stream/stream_flash/testcase.yaml @@ -22,7 +22,6 @@ tests: # common platforms could bring them here too so filter these out. filter: not dt_compat_enabled("zephyr,sim-flash") platform_allow: - - nrf54l09pdk/nrf54l09/cpuapp - nrf54l15dk/nrf54l15/cpuapp - ophelia4ev/nrf54l15/cpuapp extra_configs: From 3b4fd0e34a5b27ba862d4b6cf94b44483455f548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Chru=C5=9Bci=C5=84ski?= Date: Mon, 19 May 2025 15:42:20 +0200 Subject: [PATCH 5/6] [nrf fromlist] tests: drivers: timer: nrf_grtc_timer: Add stress test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add stress test that randomly starts and aborts multiple timers from various contexts. Test checks if timers do not expire prematurely. Upstream PR #: 87944 Signed-off-by: Krzysztof Chruściński --- .../boards/nrf54h20dk_nrf54h20_cpuapp.overlay | 17 ++ .../boards/nrf54l15dk_nrf54l15_cpuapp.overlay | 32 +++ .../nrf54l15dk_nrf54l15_cpuflpr.overlay | 32 +++ tests/drivers/timer/nrf_grtc_timer/prj.conf | 6 + tests/drivers/timer/nrf_grtc_timer/src/main.c | 247 ++++++++++++++++++ .../timer/nrf_grtc_timer/testcase.yaml | 37 +-- 6 files changed, 355 insertions(+), 16 deletions(-) create mode 100644 tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuapp.overlay create mode 100644 tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay diff --git a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay index 04580b71480..7ae95926703 100644 --- a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay +++ b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -2,4 +2,21 @@ &grtc { /delete-property/ child-owned-channels; + interrupts = <109 2>; +}; + +test_timer: &timer131 { + status = "okay"; + interrupts = <419 1>; +}; + +&timer130 { + status = "okay"; + prescaler = <0>; +}; + +/ { + chosen { + zephyr,cpu-load-counter = &timer130; + }; }; diff --git a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuapp.overlay new file mode 100644 index 00000000000..7bcede529b0 --- /dev/null +++ b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +&grtc { + interrupts = <228 2>; +}; + +test_timer: &timer21 { + status = "okay"; + interrupts = <203 1>; +}; + +&timer20 { + status = "okay"; + interrupts = <202 0>; +}; + +&timer00 { + status = "okay"; + prescaler = <0>; +}; + +/ { + chosen { + zephyr,cpu-load-counter = &timer00; + }; + + busy-sim { + compatible = "vnd,busy-sim"; + status = "okay"; + counter = <&timer20>; + }; +}; diff --git a/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay new file mode 100644 index 00000000000..cfa72ed0273 --- /dev/null +++ b/tests/drivers/timer/nrf_grtc_timer/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +&grtc { + /*interrupts = <226 2>;*/ +}; + +test_timer: &timer21 { + status = "okay"; + /*interrupts = <203 2>;*/ +}; + +&timer20 { + status = "okay"; + interrupts = <202 0>; +}; + +&timer00 { + status = "okay"; + prescaler = <0>; +}; + +/ { + chosen { + zephyr,cpu-load-counter = &timer00; + }; + + busy-sim { + compatible = "vnd,busy-sim"; + status = "okay"; + counter = <&timer20>; + }; +}; diff --git a/tests/drivers/timer/nrf_grtc_timer/prj.conf b/tests/drivers/timer/nrf_grtc_timer/prj.conf index dea03477519..93926f090b7 100644 --- a/tests/drivers/timer/nrf_grtc_timer/prj.conf +++ b/tests/drivers/timer/nrf_grtc_timer/prj.conf @@ -1,2 +1,8 @@ CONFIG_ZTEST=y CONFIG_NRF_GRTC_TIMER=y +CONFIG_COUNTER=y +CONFIG_TEST_RANDOM_GENERATOR=y +CONFIG_XOSHIRO_RANDOM_GENERATOR=y +CONFIG_LOG_PRINTK=y +CONFIG_CPU_LOAD=y +CONFIG_CPU_LOAD_USE_COUNTER=y diff --git a/tests/drivers/timer/nrf_grtc_timer/src/main.c b/tests/drivers/timer/nrf_grtc_timer/src/main.c index cede54f026f..e411eba83a0 100644 --- a/tests/drivers/timer/nrf_grtc_timer/src/main.c +++ b/tests/drivers/timer/nrf_grtc_timer/src/main.c @@ -5,7 +5,15 @@ */ #include #include +#include +#include +#include +#include +#include +#include +#include #include +LOG_MODULE_REGISTER(test, 1); #define GRTC_SLEW_TICKS 10 #define NUMBER_OF_TRIES 2000 @@ -153,4 +161,243 @@ ZTEST(nrf_grtc_timer, test_timer_abort_in_compare_mode) z_nrf_grtc_timer_chan_free(channel); } +enum test_timer_state { + TIMER_IDLE, + TIMER_PREPARE, + TIMER_ACTIVE +}; + +enum test_ctx { + TEST_HIGH_PRI, + TEST_TIMER_CB, + TEST_THREAD +}; + +struct test_grtc_timer { + struct k_timer timer; + uint32_t ticks; + uint32_t expire; + uint32_t start_cnt; + uint32_t expire_cnt; + uint32_t abort_cnt; + uint32_t exp_expire; + int max_late; + int min_late; + int avg_late; + uint32_t early_cnt; + enum test_timer_state state; +}; + +static atomic_t test_active_cnt; +static struct test_grtc_timer timers[8]; +static uint32_t test_end; +static k_tid_t test_tid; +static volatile bool test_run; +static uint32_t ctx_cnt[3]; +static const char *const ctx_name[] = { "HIGH PRIO ISR", "TIMER CALLBACK", "THREAD" }; + +static bool stress_test_action(int ctx, int id) +{ + struct test_grtc_timer *timer = &timers[id]; + + ctx_cnt[ctx]++; + if (timer->state == TIMER_ACTIVE) { + /* Aborting soon to expire timers from higher interrupt priority may lead + * to test failures. + */ + if (ctx == 0 && (k_timer_remaining_get(&timer->timer) < 5)) { + return true; + } + + if (timer->abort_cnt < timer->expire_cnt / 2) { + bool any_active; + + timer->state = TIMER_PREPARE; + k_timer_stop(&timer->timer); + timer->abort_cnt++; + any_active = atomic_dec(&test_active_cnt) > 1; + timer->state = TIMER_IDLE; + + return any_active; + } + } else if (timer->state == TIMER_IDLE) { + int ticks = 10 + (sys_rand32_get() & 0x3F); + k_timeout_t t = K_TICKS(ticks); + + timer->state = TIMER_PREPARE; + timer->exp_expire = k_ticks_to_cyc_floor32(sys_clock_tick_get_32() + ticks); + timer->ticks = ticks; + k_timer_start(&timer->timer, t, K_NO_WAIT); + atomic_inc(&test_active_cnt); + timer->start_cnt++; + timer->state = TIMER_ACTIVE; + } + + return true; +} + +static void stress_test_actions(int ctx) +{ + uint32_t r = sys_rand32_get(); + int action_cnt = Z_MAX(r & 0x3, 1); + int tmr_id = (r >> 8) % ARRAY_SIZE(timers); + + /* Occasionally wake thread context from which timer actions are also executed. */ + if ((((r >> 2) & 0x3) == 0) || test_active_cnt < 2) { + LOG_DBG("ctx:%d thread wakeup", ctx); + k_wakeup(test_tid); + } + + for (int i = 0; i < action_cnt; i++) { + if (stress_test_action(ctx, tmr_id) == false) { + stress_test_action(ctx, tmr_id); + } + } +} + +static void timer_cb(struct k_timer *timer) +{ + struct test_grtc_timer *test_timer = CONTAINER_OF(timer, struct test_grtc_timer, timer); + uint32_t now = k_cycle_get_32(); + int diff = now - test_timer->exp_expire; + + atomic_dec(&test_active_cnt); + zassert_true(diff >= 0); + test_timer->max_late = MAX(diff, test_timer->max_late); + test_timer->min_late = MIN(diff, test_timer->min_late); + + if (test_timer->expire_cnt == 0) { + test_timer->avg_late = diff; + } else { + test_timer->avg_late = (test_timer->avg_late * test_timer->expire_cnt + diff) / + (test_timer->expire_cnt + 1); + } + + test_timer->expire_cnt++; + test_timer->state = TIMER_IDLE; + + if (test_run) { + stress_test_actions(TEST_TIMER_CB); + } +} + +static void counter_set(const struct device *dev, struct counter_alarm_cfg *cfg) +{ + int err; + uint32_t us = 150 + (sys_rand32_get() & 0x3F); + + cfg->ticks = counter_us_to_ticks(dev, us); + err = counter_set_channel_alarm(dev, 0, cfg); + zassert_equal(err, 0); +} + +static void counter_cb(const struct device *dev, uint8_t chan_id, uint32_t ticks, void *user_data) +{ + struct counter_alarm_cfg *config = user_data; + + if (test_run) { + stress_test_actions(TEST_HIGH_PRI); + counter_set(dev, config); + } +} + +static void report_progress(uint32_t start, uint32_t end) +{ + static uint32_t next_report; + static uint32_t step; + static uint32_t progress; + + if (next_report == 0) { + step = (end - start) / 10; + next_report = start + step; + } + + if (k_uptime_get_32() > next_report) { + next_report += step; + progress += 10; + printk("%d%%\r", progress); + } +} + +static void grtc_stress_test(bool busy_sim_en) +{ + static struct counter_alarm_cfg alarm_cfg; +#if DT_NODE_EXISTS(DT_NODELABEL(test_timer)) && DT_NODE_HAS_STATUS(DT_NODELABEL(test_timer), okay) + const struct device *const counter_dev = DEVICE_DT_GET(DT_NODELABEL(test_timer)); +#else + const struct device *const counter_dev = NULL; +#endif + uint32_t test_ms = 5000; + uint32_t test_start = k_uptime_get_32(); + uint32_t load; + + test_end = k_cycle_get_32() + k_ms_to_cyc_floor32(test_ms); + test_tid = k_current_get(); + + for (size_t i = 0; i < ARRAY_SIZE(timers); i++) { + k_timer_init(&timers[i].timer, timer_cb, NULL); + } + + if (IS_ENABLED(CONFIG_CPU_LOAD)) { + (void)cpu_load_get(true); + } + + if (counter_dev) { + counter_start(counter_dev); + } + + alarm_cfg.callback = counter_cb; + alarm_cfg.user_data = &alarm_cfg; + test_run = true; + + if (counter_dev) { + counter_set(counter_dev, &alarm_cfg); + } + + if (busy_sim_en) { + busy_sim_start(500, 200, 1000, 400, NULL); + } + + LOG_DBG("Starting test, will end at %d", test_end); + while (k_cycle_get_32() < test_end) { + report_progress(test_start, test_start + test_ms); + stress_test_actions(TEST_THREAD); + k_sleep(K_MSEC(test_ms)); + } + + load = IS_ENABLED(CONFIG_CPU_LOAD) ? cpu_load_get(true) : 0; + + test_run = false; + k_msleep(50); + + for (size_t i = 0; i < ARRAY_SIZE(timers); i++) { + zassert_equal(timers[i].state, TIMER_IDLE, "Unexpected timer %d state:%d", + i, timers[i].state); + TC_PRINT("Timer%d (%p)\r\n\tstart_cnt:%d abort_cnt:%d expire_cnt:%d\n", + i, &timers[i], timers[i].start_cnt, timers[i].abort_cnt, + timers[i].expire_cnt); + TC_PRINT("\tavarage late:%d ticks, max late:%d, min late:%d early:%d\n", + timers[i].avg_late, timers[i].max_late, timers[i].min_late, + timers[i].early_cnt); + } + + for (size_t i = 0; i < ARRAY_SIZE(ctx_cnt); i++) { + TC_PRINT("Context: %s executed %d times\n", ctx_name[i], ctx_cnt[i]); + } + TC_PRINT("CPU load during test:%d.%d\n", load / 10, load % 10); + + if (busy_sim_en) { + busy_sim_stop(); + } + + if (counter_dev) { + counter_stop(counter_dev); + } +} + +ZTEST(nrf_grtc_timer, test_stress) +{ + grtc_stress_test(false); +} + ZTEST_SUITE(nrf_grtc_timer, NULL, NULL, NULL, NULL, NULL); diff --git a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml index 6f4486de913..140d9b22259 100644 --- a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml +++ b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml @@ -1,17 +1,22 @@ +common: + tags: + - drivers + platform_allow: + - nrf54h20dk/nrf54h20/cpuapp + - nrf54h20dk/nrf54h20/cpurad + - nrf54h20dk/nrf54h20/cpuppr + - nrf54l15dk/nrf54l15/cpuapp + - nrf54l15dk/nrf54l15/cpuflpr + - nrf54l15bsim/nrf54l15/cpuapp + - nrf54lm20dk/nrf54lm20a/cpuapp + - nrf54lm20dk/nrf54lm20a/cpuflpr + - ophelia4ev/nrf54l15/cpuapp + - ophelia4ev/nrf54l15/cpuflpr + integration_platforms: + - nrf54lm20dk/nrf54lm20a/cpuapp + timeout: 30 tests: - drivers.timer.nrf_grtc_timer: - tags: drivers - platform_allow: - - nrf54h20dk/nrf54h20/cpuapp - - nrf54h20dk/nrf54h20/cpurad - - nrf54h20dk/nrf54h20/cpuppr - - nrf54l15dk/nrf54l15/cpuapp - - nrf54l15dk/nrf54l15/cpuflpr - - nrf54l15bsim/nrf54l15/cpuapp - - nrf54lm20dk/nrf54lm20a/cpuapp - - nrf54lm20dk/nrf54lm20a/cpuflpr - - ophelia4ev/nrf54l15/cpuapp - - ophelia4ev/nrf54l15/cpuflpr - integration_platforms: - - nrf54lm20dk/nrf54lm20a/cpuapp - timeout: 30 + drivers.timer.nrf_grtc_timer: {} + drivers.timer.nrf_grtc_timer.no_assert: + extra_configs: + - CONFIG_ASSERT=n From dbb81895db3bf75aee83ffb141b8c1514f771f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Stasiak?= Date: Fri, 29 Aug 2025 15:15:34 +0200 Subject: [PATCH 6/6] [nrf fromlist] tests: drivers: timer: nrf_grtc_timer: wait for coverage dump MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If test is to be run in coverage mode, wait for output to dump at the end of a failing testcase. Upstream PR #: 95162 Signed-off-by: Michał Stasiak --- tests/drivers/timer/nrf_grtc_timer/src/main.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/drivers/timer/nrf_grtc_timer/src/main.c b/tests/drivers/timer/nrf_grtc_timer/src/main.c index e411eba83a0..bcb57519f3b 100644 --- a/tests/drivers/timer/nrf_grtc_timer/src/main.c +++ b/tests/drivers/timer/nrf_grtc_timer/src/main.c @@ -393,6 +393,13 @@ static void grtc_stress_test(bool busy_sim_en) if (counter_dev) { counter_stop(counter_dev); } + +#ifdef CONFIG_COVERAGE + /* Wait a few seconds before exit, giving the test the + * opportunity to dump some output before coverage data gets emitted + */ + k_sleep(K_MSEC(5000)); +#endif } ZTEST(nrf_grtc_timer, test_stress)