From ca78bdeb1a499f9463c6da9b0aca9c1abcb04913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Thu, 20 Mar 2025 08:33:00 +0100 Subject: [PATCH 1/6] samples: zephyr: drivers: mbox: Enable sample on nRF54L09 and L20 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add copy of zephyr/samples/drivers/mbox that can be run on nRF54L09pdk and nRF54L20pdk. Signed-off-by: Sebastian Głąb --- CODEOWNERS | 1 + samples/zephyr/drivers/mbox/CMakeLists.txt | 30 +++++++++ samples/zephyr/drivers/mbox/Kconfig | 1 + samples/zephyr/drivers/mbox/Kconfig.sysbuild | 12 ++++ samples/zephyr/drivers/mbox/README.txt | 3 + .../nrf54l09pdk_nrf54l09_cpuapp.overlay | 20 ++++++ .../nrf54l20pdk_nrf54l20_cpuapp.overlay | 20 ++++++ samples/zephyr/drivers/mbox/prj.conf | 2 + .../zephyr/drivers/mbox/remote/CMakeLists.txt | 21 +++++++ samples/zephyr/drivers/mbox/remote/Kconfig | 1 + .../nrf54l09pdk_nrf54l09_cpuflpr.overlay | 24 ++++++++ .../nrf54l20pdk_nrf54l20_cpuflpr.overlay | 24 ++++++++ samples/zephyr/drivers/mbox/remote/prj.conf | 2 + samples/zephyr/drivers/mbox/sample.yaml | 61 +++++++++++++++++++ samples/zephyr/drivers/mbox/sysbuild.cmake | 19 ++++++ samples/zephyr/drivers/mbox/sysbuild.conf | 1 + scripts/ci/tags.yaml | 5 ++ 17 files changed, 247 insertions(+) create mode 100644 samples/zephyr/drivers/mbox/CMakeLists.txt create mode 100644 samples/zephyr/drivers/mbox/Kconfig create mode 100644 samples/zephyr/drivers/mbox/Kconfig.sysbuild create mode 100644 samples/zephyr/drivers/mbox/README.txt create mode 100644 samples/zephyr/drivers/mbox/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay create mode 100644 samples/zephyr/drivers/mbox/boards/nrf54l20pdk_nrf54l20_cpuapp.overlay create mode 100644 samples/zephyr/drivers/mbox/prj.conf create mode 100644 samples/zephyr/drivers/mbox/remote/CMakeLists.txt create mode 100644 samples/zephyr/drivers/mbox/remote/Kconfig create mode 100644 samples/zephyr/drivers/mbox/remote/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay create mode 100644 samples/zephyr/drivers/mbox/remote/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay create mode 100644 samples/zephyr/drivers/mbox/remote/prj.conf create mode 100644 samples/zephyr/drivers/mbox/sample.yaml create mode 100644 samples/zephyr/drivers/mbox/sysbuild.cmake create mode 100644 samples/zephyr/drivers/mbox/sysbuild.conf diff --git a/CODEOWNERS b/CODEOWNERS index c7cfbee295a6..2c327f2888cf 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -672,6 +672,7 @@ /samples/zephyr/drivers/adc/ @nrfconnect/ncs-low-level-test /samples/zephyr/drivers/audio/dmic/ @nrfconnect/ncs-low-level-test /samples/zephyr/drivers/i2c/rtio_loopback/ @nrfconnect/ncs-low-level-test +/samples/zephyr/drivers/mbox/ @nrfconnect/ncs-low-level-test /samples/zephyr/drivers/watchdog/ @nrfconnect/ncs-low-level-test /samples/zephyr/sensor/accel_polling/ @nrfconnect/ncs-low-level-test /samples/zephyr/sensor/bme680/ @nrfconnect/ncs-low-level-test diff --git a/samples/zephyr/drivers/mbox/CMakeLists.txt b/samples/zephyr/drivers/mbox/CMakeLists.txt new file mode 100644 index 000000000000..d0a100193e89 --- /dev/null +++ b/samples/zephyr/drivers/mbox/CMakeLists.txt @@ -0,0 +1,30 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +cmake_minimum_required(VERSION 3.20.0) + +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) + +set(REMOTE_ZEPHYR_DIR ${CMAKE_CURRENT_BINARY_DIR}/../remote/zephyr) + +if(CONFIG_BOARD_NRF54L09PDK_NRF54L09_CPUAPP OR + CONFIG_BOARD_NRF54L20PDK_NRF54L20_CPUAPP) + message(STATUS "${BOARD}${BOARD_QUALIFIERS} compile as Main in this sample") +else() + message(FATAL_ERROR "${BOARD}${BOARD_QUALIFIERS} is not supported for this sample") +endif() + +if(NOT SYSBUILD) + message(FATAL_ERROR + " This is a multi-image application that should be built using sysbuild.\n" + " Add --sysbuild argument to west build command to prepare all the images.") +endif() + +project(mbox_ipc) + +enable_language(C ASM) + +target_sources(app PRIVATE ${ZEPHYR_BASE}/samples/drivers/mbox/src/main.c) diff --git a/samples/zephyr/drivers/mbox/Kconfig b/samples/zephyr/drivers/mbox/Kconfig new file mode 100644 index 000000000000..c0132ba36e17 --- /dev/null +++ b/samples/zephyr/drivers/mbox/Kconfig @@ -0,0 +1 @@ +source "samples/drivers/mbox/Kconfig" diff --git a/samples/zephyr/drivers/mbox/Kconfig.sysbuild b/samples/zephyr/drivers/mbox/Kconfig.sysbuild new file mode 100644 index 000000000000..125fc663a7ab --- /dev/null +++ b/samples/zephyr/drivers/mbox/Kconfig.sysbuild @@ -0,0 +1,12 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +source "share/sysbuild/Kconfig" + +config REMOTE_BOARD + string "Remote board" + default "nrf54l09pdk/nrf54l09/cpuflpr" if $(BOARD) = "nrf54l09pdk" + default "nrf54l20pdk/nrf54l20/cpuflpr" if $(BOARD) = "nrf54l20pdk" diff --git a/samples/zephyr/drivers/mbox/README.txt b/samples/zephyr/drivers/mbox/README.txt new file mode 100644 index 000000000000..7c902b9b7123 --- /dev/null +++ b/samples/zephyr/drivers/mbox/README.txt @@ -0,0 +1,3 @@ +This sample extends the same-named Zephyr sample to verify it with Nordic development kits. + +Source code and basic configuration files can be found in the corresponding folder structure in zephyr/samples/drivers/mbox. diff --git a/samples/zephyr/drivers/mbox/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay b/samples/zephyr/drivers/mbox/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay new file mode 100644 index 000000000000..a088529adbfd --- /dev/null +++ b/samples/zephyr/drivers/mbox/boards/nrf54l09pdk_nrf54l09_cpuapp.overlay @@ -0,0 +1,20 @@ +/* + * Copyright 2025 Nordic Semiconductor ASA + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +/ { + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&cpuapp_vevif_rx 20>, <&cpuapp_vevif_tx 21>; + mbox-names = "rx", "tx"; + }; +}; + +&cpuapp_vevif_rx { + status = "okay"; +}; + +&cpuapp_vevif_tx { + status = "okay"; +}; diff --git a/samples/zephyr/drivers/mbox/boards/nrf54l20pdk_nrf54l20_cpuapp.overlay b/samples/zephyr/drivers/mbox/boards/nrf54l20pdk_nrf54l20_cpuapp.overlay new file mode 100644 index 000000000000..a088529adbfd --- /dev/null +++ b/samples/zephyr/drivers/mbox/boards/nrf54l20pdk_nrf54l20_cpuapp.overlay @@ -0,0 +1,20 @@ +/* + * Copyright 2025 Nordic Semiconductor ASA + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +/ { + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&cpuapp_vevif_rx 20>, <&cpuapp_vevif_tx 21>; + mbox-names = "rx", "tx"; + }; +}; + +&cpuapp_vevif_rx { + status = "okay"; +}; + +&cpuapp_vevif_tx { + status = "okay"; +}; diff --git a/samples/zephyr/drivers/mbox/prj.conf b/samples/zephyr/drivers/mbox/prj.conf new file mode 100644 index 000000000000..293e2834f253 --- /dev/null +++ b/samples/zephyr/drivers/mbox/prj.conf @@ -0,0 +1,2 @@ +CONFIG_PRINTK=y +CONFIG_MBOX=y diff --git a/samples/zephyr/drivers/mbox/remote/CMakeLists.txt b/samples/zephyr/drivers/mbox/remote/CMakeLists.txt new file mode 100644 index 000000000000..ef1e0765dd43 --- /dev/null +++ b/samples/zephyr/drivers/mbox/remote/CMakeLists.txt @@ -0,0 +1,21 @@ +# +# Copyright (c) 2021 Carlo Caione +# Copyright 2023-2025 NXP +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +cmake_minimum_required(VERSION 3.20.0) + +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) + +if(CONFIG_BOARD_NRF54L09PDK_NRF54L09_CPUFLPR OR + CONFIG_BOARD_NRF54L20PDK_NRF54L20_CPUFLPR) + message(STATUS "${BOARD}${BOARD_QUALIFIERS} compile as remote in this sample") +else() + message(FATAL_ERROR "${BOARD}${BOARD_QUALIFIERS} is not supported for this sample") +endif() + +project(mbox_ipc_remote) + +target_sources(app PRIVATE ${ZEPHYR_BASE}/samples/drivers/mbox/remote/src/main.c) diff --git a/samples/zephyr/drivers/mbox/remote/Kconfig b/samples/zephyr/drivers/mbox/remote/Kconfig new file mode 100644 index 000000000000..cc236033aeed --- /dev/null +++ b/samples/zephyr/drivers/mbox/remote/Kconfig @@ -0,0 +1 @@ +source "samples/drivers/mbox/remote/Kconfig" diff --git a/samples/zephyr/drivers/mbox/remote/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay b/samples/zephyr/drivers/mbox/remote/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay new file mode 100644 index 000000000000..fb0133fb137b --- /dev/null +++ b/samples/zephyr/drivers/mbox/remote/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay @@ -0,0 +1,24 @@ +/* + * Copyright 2025 Nordic Semiconductor ASA + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +/ { + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&cpuflpr_vevif_rx 21>, <&cpuflpr_vevif_tx 20>; + mbox-names = "rx", "tx"; + }; +}; + +&cpuflpr_vevif_rx { + status = "okay"; +}; + +&cpuflpr_vevif_tx { + status = "okay"; +}; + +&uart30 { + /delete-property/ hw-flow-control; +}; diff --git a/samples/zephyr/drivers/mbox/remote/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay b/samples/zephyr/drivers/mbox/remote/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay new file mode 100644 index 000000000000..fb0133fb137b --- /dev/null +++ b/samples/zephyr/drivers/mbox/remote/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay @@ -0,0 +1,24 @@ +/* + * Copyright 2025 Nordic Semiconductor ASA + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +/ { + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&cpuflpr_vevif_rx 21>, <&cpuflpr_vevif_tx 20>; + mbox-names = "rx", "tx"; + }; +}; + +&cpuflpr_vevif_rx { + status = "okay"; +}; + +&cpuflpr_vevif_tx { + status = "okay"; +}; + +&uart30 { + /delete-property/ hw-flow-control; +}; diff --git a/samples/zephyr/drivers/mbox/remote/prj.conf b/samples/zephyr/drivers/mbox/remote/prj.conf new file mode 100644 index 000000000000..473e42806017 --- /dev/null +++ b/samples/zephyr/drivers/mbox/remote/prj.conf @@ -0,0 +1,2 @@ +CONFIG_STDOUT_CONSOLE=n +CONFIG_MBOX=y diff --git a/samples/zephyr/drivers/mbox/sample.yaml b/samples/zephyr/drivers/mbox/sample.yaml new file mode 100644 index 000000000000..3fc63fc5eeb1 --- /dev/null +++ b/samples/zephyr/drivers/mbox/sample.yaml @@ -0,0 +1,61 @@ +sample: + name: MBOX IPC sample +common: + sysbuild: true + tags: + - mbox + - ci_samples_zephyr_drivers_mbox + timeout: 30 +tests: + nrf.extended.sample.drivers.mbox.nrf54l: + platform_allow: + - nrf54l09pdk/nrf54l09/cpuapp + - nrf54l20pdk/nrf54l20/cpuapp + integration_platforms: + - nrf54l20pdk/nrf54l20/cpuapp + extra_args: mbox_SNIPPET=nordic-flpr + sysbuild: true + harness: console + harness_config: + type: multi_line + ordered: false + regex: + - "Ping \\(on channel 21\\)" + - "Pong \\(on channel 20\\)" + + nrf.extended.sample.drivers.mbox.nrf54l_no_multithreading: + platform_allow: + - nrf54l09pdk/nrf54l09/cpuapp + - nrf54l20pdk/nrf54l20/cpuapp + integration_platforms: + - nrf54l20pdk/nrf54l20/cpuapp + extra_args: + - mbox_SNIPPET=nordic-flpr + - mbox_CONFIG_MULTITHREADING=n + - remote_CONFIG_MULTITHREADING=n + sysbuild: true + harness: console + harness_config: + type: multi_line + ordered: false + regex: + - "Ping \\(on channel 21\\)" + - "Pong \\(on channel 20\\)" + + nrf.extended.sample.drivers.mbox.nrf54l_remote_no_multithreading: + platform_allow: + - nrf54l09pdk/nrf54l09/cpuapp + - nrf54l20pdk/nrf54l20/cpuapp + integration_platforms: + - nrf54l20pdk/nrf54l20/cpuapp + extra_args: + - mbox_SNIPPET=nordic-flpr + - remote_CONFIG_MULTITHREADING=n + sysbuild: true + harness: console + harness_config: + type: multi_line + ordered: false + regex: + - "Ping \\(on channel 21\\)" + - "Pong \\(on channel 20\\)" diff --git a/samples/zephyr/drivers/mbox/sysbuild.cmake b/samples/zephyr/drivers/mbox/sysbuild.cmake new file mode 100644 index 000000000000..e237e79bde6d --- /dev/null +++ b/samples/zephyr/drivers/mbox/sysbuild.cmake @@ -0,0 +1,19 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +if("${SB_CONFIG_REMOTE_BOARD}" STREQUAL "") + message(FATAL_ERROR + "Target ${BOARD}${BOARD_QUALIFIERS} not supported for this sample. " + "There is no remote board selected in Kconfig.sysbuild") +endif() + +set(REMOTE_APP remote) + +ExternalZephyrProject_Add( + APPLICATION ${REMOTE_APP} + SOURCE_DIR ${APP_DIR}/${REMOTE_APP} + BOARD ${SB_CONFIG_REMOTE_BOARD} +) diff --git a/samples/zephyr/drivers/mbox/sysbuild.conf b/samples/zephyr/drivers/mbox/sysbuild.conf new file mode 100644 index 000000000000..6408669a8474 --- /dev/null +++ b/samples/zephyr/drivers/mbox/sysbuild.conf @@ -0,0 +1 @@ +SB_CONFIG_PARTITION_MANAGER=n diff --git a/scripts/ci/tags.yaml b/scripts/ci/tags.yaml index a8d0e84d3ae8..c9e6ec0150ae 100644 --- a/scripts/ci/tags.yaml +++ b/scripts/ci/tags.yaml @@ -1519,6 +1519,11 @@ ci_samples_zephyr_drivers_i2c: - nrf/samples/zephyr/drivers/i2c/ - zephyr/samples/drivers/i2c/ +ci_samples_zephyr_drivers_mbox: + files: + - nrf/samples/zephyr/drivers/mbox/ + - zephyr/samples/drivers/mbox/ + ci_samples_zephyr_boards_nordic_system_off: files: - nrf/samples/zephyr/boards/nordic/system_off/ From 14fca76766b299b19037bc085a475b7570848032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Thu, 20 Mar 2025 09:31:10 +0100 Subject: [PATCH 2/6] tests: zephyr: drivers: gpio: gpio_basic_api: Enable test on nRF54L* FLPR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add overlay required to run gpio_basic_api test on - nrf54l09pdk/nrf54l09/cpuflpr and - nrf54l20pdk/nrf54l20/cpuflpr. Signed-off-by: Sebastian Głąb --- .../gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.conf | 1 + .../gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay | 1 + .../gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.conf | 1 + .../gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay | 1 + tests/zephyr/drivers/gpio/gpio_basic_api/testcase.yaml | 2 ++ 5 files changed, 6 insertions(+) create mode 100644 tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.conf create mode 100644 tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay create mode 100644 tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.conf create mode 100644 tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay diff --git a/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.conf b/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.conf new file mode 100644 index 000000000000..b9d02cf11d5d --- /dev/null +++ b/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.conf @@ -0,0 +1 @@ +CONFIG_SKIP_PULL_TEST=y diff --git a/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay b/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay new file mode 100644 index 000000000000..fc99758d269d --- /dev/null +++ b/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay @@ -0,0 +1 @@ +#include "nrf54l09pdk_nrf54l09_cpuapp.overlay" diff --git a/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.conf b/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.conf new file mode 100644 index 000000000000..b9d02cf11d5d --- /dev/null +++ b/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.conf @@ -0,0 +1 @@ +CONFIG_SKIP_PULL_TEST=y diff --git a/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay b/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay new file mode 100644 index 000000000000..b8f68f276b03 --- /dev/null +++ b/tests/zephyr/drivers/gpio/gpio_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay @@ -0,0 +1 @@ +#include "nrf54l20pdk_nrf54l20_cpuapp.overlay" diff --git a/tests/zephyr/drivers/gpio/gpio_basic_api/testcase.yaml b/tests/zephyr/drivers/gpio/gpio_basic_api/testcase.yaml index 28235338121b..5644535bdf72 100644 --- a/tests/zephyr/drivers/gpio/gpio_basic_api/testcase.yaml +++ b/tests/zephyr/drivers/gpio/gpio_basic_api/testcase.yaml @@ -15,4 +15,6 @@ tests: - nrf54l20pdk/nrf54l20/cpuapp platform_allow: - nrf54l09pdk/nrf54l09/cpuapp + - nrf54l09pdk/nrf54l09/cpuflpr - nrf54l20pdk/nrf54l20/cpuapp + - nrf54l20pdk/nrf54l20/cpuflpr From eab3bb9c708dd929259e20f523220eaba7935e46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Thu, 20 Mar 2025 10:08:00 +0100 Subject: [PATCH 3/6] tests: zephyr: drivers: timer: Enable test on nRF54L* FLPR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add overlay required to run nrf_grtc_timer test on - nrf54l09pdk/nrf54l09/cpuflpr and - nrf54l20pdk/nrf54l20/cpuflpr. Signed-off-by: Sebastian Głąb --- CODEOWNERS | 1 + scripts/ci/tags.yaml | 5 +++++ .../drivers/timer/nrf_grtc_timer/CMakeLists.txt | 13 +++++++++++++ .../zephyr/drivers/timer/nrf_grtc_timer/README.txt | 3 +++ tests/zephyr/drivers/timer/nrf_grtc_timer/prj.conf | 2 ++ .../drivers/timer/nrf_grtc_timer/testcase.yaml | 10 ++++++++++ 6 files changed, 34 insertions(+) create mode 100644 tests/zephyr/drivers/timer/nrf_grtc_timer/CMakeLists.txt create mode 100644 tests/zephyr/drivers/timer/nrf_grtc_timer/README.txt create mode 100644 tests/zephyr/drivers/timer/nrf_grtc_timer/prj.conf create mode 100644 tests/zephyr/drivers/timer/nrf_grtc_timer/testcase.yaml diff --git a/CODEOWNERS b/CODEOWNERS index 2c327f2888cf..f8e7b2dc03d1 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -934,6 +934,7 @@ /tests/zephyr/drivers/mspi/api/ @nrfconnect/ncs-low-level-test @nrfconnect/ncs-ll-ursus /tests/zephyr/boards/nrf/ @nrfconnect/ncs-low-level-test /tests/zephyr/drivers/spi/ @nrfconnect/ncs-low-level-test +/tests/zephyr/drivers/timer/ @nrfconnect/ncs-low-level-test /tests/zephyr/drivers/uart/ @nrfconnect/ncs-low-level-test /tests/zephyr/drivers/watchdog/ @nrfconnect/ncs-low-level-test diff --git a/scripts/ci/tags.yaml b/scripts/ci/tags.yaml index c9e6ec0150ae..e5f4f6707f05 100644 --- a/scripts/ci/tags.yaml +++ b/scripts/ci/tags.yaml @@ -1574,6 +1574,11 @@ ci_samples_zephyr_drivers_adc: - nrf/samples/zephyr/drivers/adc/ - zephyr/samples/drivers/adc/ +ci_tests_zephyr_drivers_timer: + files: + - nrf/tests/zephyr/drivers/timer/ + - zephyr/tests/drivers/timer/ + ci_samples_zephyr_subsys_usb: files: - nrf/samples/zephyr/subsys/usb/ diff --git a/tests/zephyr/drivers/timer/nrf_grtc_timer/CMakeLists.txt b/tests/zephyr/drivers/timer/nrf_grtc_timer/CMakeLists.txt new file mode 100644 index 000000000000..7855232d27a9 --- /dev/null +++ b/tests/zephyr/drivers/timer/nrf_grtc_timer/CMakeLists.txt @@ -0,0 +1,13 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +cmake_minimum_required(VERSION 3.20.0) + +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +project(nrf_grtc_timer) + +FILE(GLOB app_sources ${ZEPHYR_BASE}/tests/drivers/timer/nrf_grtc_timer/src/*.c) +target_sources(app PRIVATE ${app_sources}) diff --git a/tests/zephyr/drivers/timer/nrf_grtc_timer/README.txt b/tests/zephyr/drivers/timer/nrf_grtc_timer/README.txt new file mode 100644 index 000000000000..07e905a34170 --- /dev/null +++ b/tests/zephyr/drivers/timer/nrf_grtc_timer/README.txt @@ -0,0 +1,3 @@ +This sample extends the same-named Zephyr sample to verify it with Nordic development kits. + +Source code and basic configuration files can be found in the corresponding folder structure in zephyr/tests/drivers/timer/nrf_grtc_timer. diff --git a/tests/zephyr/drivers/timer/nrf_grtc_timer/prj.conf b/tests/zephyr/drivers/timer/nrf_grtc_timer/prj.conf new file mode 100644 index 000000000000..dea03477519d --- /dev/null +++ b/tests/zephyr/drivers/timer/nrf_grtc_timer/prj.conf @@ -0,0 +1,2 @@ +CONFIG_ZTEST=y +CONFIG_NRF_GRTC_TIMER=y diff --git a/tests/zephyr/drivers/timer/nrf_grtc_timer/testcase.yaml b/tests/zephyr/drivers/timer/nrf_grtc_timer/testcase.yaml new file mode 100644 index 000000000000..dc73293897f7 --- /dev/null +++ b/tests/zephyr/drivers/timer/nrf_grtc_timer/testcase.yaml @@ -0,0 +1,10 @@ +tests: + nrf.extended.drivers.timer.nrf_grtc_timer: + tags: + - drivers + - ci_tests_zephyr_drivers_timer + platform_allow: + - nrf54l09pdk/nrf54l09/cpuflpr + - nrf54l20pdk/nrf54l20/cpuflpr + integration_platforms: + - nrf54l20pdk/nrf54l20/cpuflpr From e3e874fa1345ee79b0e0c6da0476a4f0d9fd5900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Thu, 20 Mar 2025 11:05:08 +0100 Subject: [PATCH 4/6] tests: zephyr: boards: nrf: qdec: Enable test on nRF54L20 FLPR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add overlay required to run qdec test on nrf54l20pdk/nrf54l20/cpuflpr. Signed-off-by: Sebastian Głąb --- .../boards/nrf54l20pdk_nrf54l20_common.dtsi | 48 ++++++++++++++++++ .../nrf54l20pdk_nrf54l20_cpuapp.overlay | 49 +------------------ .../nrf54l20pdk_nrf54l20_cpuflpr.overlay | 1 + tests/zephyr/boards/nrf/qdec/testcase.yaml | 1 + 4 files changed, 51 insertions(+), 48 deletions(-) create mode 100644 tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_common.dtsi create mode 100644 tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay diff --git a/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_common.dtsi b/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_common.dtsi new file mode 100644 index 000000000000..9c06389157ad --- /dev/null +++ b/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_common.dtsi @@ -0,0 +1,48 @@ +/ { + aliases { + qdec0 = &qdec20; + qenca = &phase_a; + qencb = &phase_b; + }; + + encoder-emulate { + compatible = "gpio-leds"; + phase_a: phase_a { + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; + }; + phase_b: phase_b { + gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&pinctrl { + qdec_pinctrl: qdec_pinctrl { + group1 { + psels = , + ; + }; + }; + + qdec_sleep_pinctrl: qdec_sleep_pinctrl { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; + +&gpio1 { + status = "okay"; +}; + +&qdec20 { + status = "okay"; + pinctrl-0 = <&qdec_pinctrl>; + pinctrl-1 = <&qdec_sleep_pinctrl>; + pinctrl-names = "default", "sleep"; + steps = <127>; + led-pre = <500>; + zephyr,pm-device-runtime-auto; +}; diff --git a/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_cpuapp.overlay b/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_cpuapp.overlay index 9c06389157ad..dc34472a8e40 100644 --- a/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_cpuapp.overlay +++ b/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_cpuapp.overlay @@ -1,48 +1 @@ -/ { - aliases { - qdec0 = &qdec20; - qenca = &phase_a; - qencb = &phase_b; - }; - - encoder-emulate { - compatible = "gpio-leds"; - phase_a: phase_a { - gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; - }; - phase_b: phase_b { - gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&pinctrl { - qdec_pinctrl: qdec_pinctrl { - group1 { - psels = , - ; - }; - }; - - qdec_sleep_pinctrl: qdec_sleep_pinctrl { - group1 { - psels = , - ; - low-power-enable; - }; - }; -}; - -&gpio1 { - status = "okay"; -}; - -&qdec20 { - status = "okay"; - pinctrl-0 = <&qdec_pinctrl>; - pinctrl-1 = <&qdec_sleep_pinctrl>; - pinctrl-names = "default", "sleep"; - steps = <127>; - led-pre = <500>; - zephyr,pm-device-runtime-auto; -}; +#include "nrf54l20pdk_nrf54l20_common.dtsi" diff --git a/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay b/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay new file mode 100644 index 000000000000..dc34472a8e40 --- /dev/null +++ b/tests/zephyr/boards/nrf/qdec/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay @@ -0,0 +1 @@ +#include "nrf54l20pdk_nrf54l20_common.dtsi" diff --git a/tests/zephyr/boards/nrf/qdec/testcase.yaml b/tests/zephyr/boards/nrf/qdec/testcase.yaml index 5dfabdc6de95..71b4d6719ab8 100644 --- a/tests/zephyr/boards/nrf/qdec/testcase.yaml +++ b/tests/zephyr/boards/nrf/qdec/testcase.yaml @@ -1,6 +1,7 @@ common: platform_allow: - nrf54l20pdk/nrf54l20/cpuapp + - nrf54l20pdk/nrf54l20/cpuflpr integration_platforms: - nrf54l20pdk/nrf54l20/cpuapp harness: ztest From 0d8396713e5337925a45c8d37a829a8baae55af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Thu, 20 Mar 2025 13:02:42 +0100 Subject: [PATCH 5/6] samples: zephyr: drivers: watchdog: Eanble test on nRF54L* FLPR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add overlys required to run watchdog sample on: - nrf54l09pdk/nrf54l09/cpuflpr, - nrf54l20pdk/nrf54l20/cpuflpr. Signed-off-by: Sebastian Głąb --- .../watchdog/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay | 3 +++ .../watchdog/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay | 3 +++ samples/zephyr/drivers/watchdog/sample.yaml | 2 ++ 3 files changed, 8 insertions(+) create mode 100644 samples/zephyr/drivers/watchdog/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay create mode 100644 samples/zephyr/drivers/watchdog/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay diff --git a/samples/zephyr/drivers/watchdog/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay b/samples/zephyr/drivers/watchdog/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay new file mode 100644 index 000000000000..802ae3b7d69d --- /dev/null +++ b/samples/zephyr/drivers/watchdog/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay @@ -0,0 +1,3 @@ +&wdt31 { + status = "okay"; +}; diff --git a/samples/zephyr/drivers/watchdog/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay b/samples/zephyr/drivers/watchdog/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay new file mode 100644 index 000000000000..802ae3b7d69d --- /dev/null +++ b/samples/zephyr/drivers/watchdog/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay @@ -0,0 +1,3 @@ +&wdt31 { + status = "okay"; +}; diff --git a/samples/zephyr/drivers/watchdog/sample.yaml b/samples/zephyr/drivers/watchdog/sample.yaml index 5d669f6ad4b9..d6f23a715d34 100644 --- a/samples/zephyr/drivers/watchdog/sample.yaml +++ b/samples/zephyr/drivers/watchdog/sample.yaml @@ -18,5 +18,7 @@ tests: nrf.extended.sample.drivers.watchdog: platform_allow: - nrf54l09pdk/nrf54l09/cpuapp + - nrf54l09pdk/nrf54l09/cpuflpr + - nrf54l20pdk/nrf54l20/cpuflpr integration_platforms: - nrf54l09pdk/nrf54l09/cpuapp From e9e782f2b87d1e01c289cb13a385ea1fbe131641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Thu, 20 Mar 2025 13:04:19 +0100 Subject: [PATCH 6/6] tests: zephyr: drivers: watchdog: Enable test on nRF54L* FLPR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add overlys required to run wdt_basic_api test on: - nrf54l09pdk/nrf54l09/cpuflpr, - nrf54l20pdk/nrf54l20/cpuflpr. Signed-off-by: Sebastian Głąb --- .../wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay | 3 +++ .../wdt_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay | 3 +++ tests/zephyr/drivers/watchdog/wdt_basic_api/testcase.yaml | 2 ++ 3 files changed, 8 insertions(+) create mode 100644 tests/zephyr/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay create mode 100644 tests/zephyr/drivers/watchdog/wdt_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay diff --git a/tests/zephyr/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay b/tests/zephyr/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay new file mode 100644 index 000000000000..802ae3b7d69d --- /dev/null +++ b/tests/zephyr/drivers/watchdog/wdt_basic_api/boards/nrf54l09pdk_nrf54l09_cpuflpr.overlay @@ -0,0 +1,3 @@ +&wdt31 { + status = "okay"; +}; diff --git a/tests/zephyr/drivers/watchdog/wdt_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay b/tests/zephyr/drivers/watchdog/wdt_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay new file mode 100644 index 000000000000..802ae3b7d69d --- /dev/null +++ b/tests/zephyr/drivers/watchdog/wdt_basic_api/boards/nrf54l20pdk_nrf54l20_cpuflpr.overlay @@ -0,0 +1,3 @@ +&wdt31 { + status = "okay"; +}; diff --git a/tests/zephyr/drivers/watchdog/wdt_basic_api/testcase.yaml b/tests/zephyr/drivers/watchdog/wdt_basic_api/testcase.yaml index 013a32b826a3..de559f538f74 100644 --- a/tests/zephyr/drivers/watchdog/wdt_basic_api/testcase.yaml +++ b/tests/zephyr/drivers/watchdog/wdt_basic_api/testcase.yaml @@ -7,5 +7,7 @@ tests: nrf.extended.drivers.watchdog: platform_allow: - nrf54l09pdk/nrf54l09/cpuapp + - nrf54l09pdk/nrf54l09/cpuflpr + - nrf54l20pdk/nrf54l20/cpuflpr integration_platforms: - nrf54l09pdk/nrf54l09/cpuapp