From 797e143a3526a4046efa94f598f15894b8119b4d Mon Sep 17 00:00:00 2001 From: Gerard Marull-Paretas Date: Mon, 8 Jul 2024 12:17:10 +0200 Subject: [PATCH] samples: drivers: mbox: add support for nrf54h20dk cpuapp<>cpuflpr Add support for testing IPC between cpuapp<>cpuflpr. Some adjustments have been done to be able to support two different remote targets for the nrf54h20dk cpuapp. Signed-off-by: Gerard Marull-Paretas --- samples/drivers/mbox/Kconfig.sysbuild | 3 +-- ...nrf54h20dk_nrf54h20_cpuapp_cpuflpr.overlay | 20 +++++++++++++++++++ ...nrf54h20dk_nrf54h20_cpuapp_cpuppr.overlay} | 0 samples/drivers/mbox/remote/CMakeLists.txt | 1 + .../nrf54h20dk_nrf54h20_cpuflpr.overlay | 20 +++++++++++++++++++ samples/drivers/mbox/sample.yaml | 20 +++++++++++++++++++ .../sysbuild/nrf54h20dk_nrf54h20_cpuflpr.conf | 1 + .../sysbuild/nrf54h20dk_nrf54h20_cpuppr.conf | 1 + 8 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 samples/drivers/mbox/boards/nrf54h20dk_nrf54h20_cpuapp_cpuflpr.overlay rename samples/drivers/mbox/boards/{nrf54h20dk_nrf54h20_cpuapp.overlay => nrf54h20dk_nrf54h20_cpuapp_cpuppr.overlay} (100%) create mode 100644 samples/drivers/mbox/remote/boards/nrf54h20dk_nrf54h20_cpuflpr.overlay create mode 100644 samples/drivers/mbox/sysbuild/nrf54h20dk_nrf54h20_cpuflpr.conf create mode 100644 samples/drivers/mbox/sysbuild/nrf54h20dk_nrf54h20_cpuppr.conf diff --git a/samples/drivers/mbox/Kconfig.sysbuild b/samples/drivers/mbox/Kconfig.sysbuild index 077fb85db645648..ab6b1bff1718d98 100644 --- a/samples/drivers/mbox/Kconfig.sysbuild +++ b/samples/drivers/mbox/Kconfig.sysbuild @@ -6,7 +6,7 @@ source "share/sysbuild/Kconfig" config REMOTE_BOARD -string + string "Remote board" default "nrf5340dk/nrf5340/cpunet" if $(BOARD) = "nrf5340dk" default "nrf5340bsim/nrf5340/cpunet" if $(BOARD_TARGET_STRING) = "NRF5340BSIM_NRF5340_CPUAPP" default "adp_xc7k/ae350" if $(BOARD) = "adp_xc7k" @@ -14,7 +14,6 @@ string default "mimxrt1170_evk/mimxrt1176/cm4" if $(BOARD) = "mimxrt1170_evk" default "mimxrt1160_evk/mimxrt1166/cm4" if $(BOARD) = "mimxrt1160_evk" default "lpcxpresso55s69/lpc55s69/cpu1" if $(BOARD) = "lpcxpresso55s69" - default "nrf54h20dk/nrf54h20/cpuppr" if "$(BOARD)${BOARD_QUALIFIERS}" = "nrf54h20dk/nrf54h20/cpuapp" default "nrf54h20dk/nrf54h20/cpuapp" if "$(BOARD)${BOARD_QUALIFIERS}" = "nrf54h20dk/nrf54h20/cpurad" default "nrf54l15pdk/nrf54l15/cpuflpr" if $(BOARD) = "nrf54l15pdk" default "stm32h747i_disco/stm32h747xx/m4" if $(BOARD) = "stm32h747i_disco" diff --git a/samples/drivers/mbox/boards/nrf54h20dk_nrf54h20_cpuapp_cpuflpr.overlay b/samples/drivers/mbox/boards/nrf54h20dk_nrf54h20_cpuapp_cpuflpr.overlay new file mode 100644 index 000000000000000..3ed115a1f785d3c --- /dev/null +++ b/samples/drivers/mbox/boards/nrf54h20dk_nrf54h20_cpuapp_cpuflpr.overlay @@ -0,0 +1,20 @@ +/* + * Copyright 2024 Nordic Semiconductor ASA + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&cpuflpr_vevif 16>, <&cpuapp_bellboard 18>; + mbox-names = "tx", "rx"; + }; +}; + +&cpuapp_bellboard { + status = "okay"; +}; + +&cpuflpr_vevif { + status = "okay"; +}; diff --git a/samples/drivers/mbox/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/samples/drivers/mbox/boards/nrf54h20dk_nrf54h20_cpuapp_cpuppr.overlay similarity index 100% rename from samples/drivers/mbox/boards/nrf54h20dk_nrf54h20_cpuapp.overlay rename to samples/drivers/mbox/boards/nrf54h20dk_nrf54h20_cpuapp_cpuppr.overlay diff --git a/samples/drivers/mbox/remote/CMakeLists.txt b/samples/drivers/mbox/remote/CMakeLists.txt index efaa24db0ce1803..203fab879a34668 100644 --- a/samples/drivers/mbox/remote/CMakeLists.txt +++ b/samples/drivers/mbox/remote/CMakeLists.txt @@ -16,6 +16,7 @@ if(CONFIG_BOARD_NRF5340DK_NRF5340_CPUNET OR CONFIG_BOARD_MIMXRT1160_EVK_MIMXRT1166_CM4 OR CONFIG_BOARD_LPCXPRESSO55S69_LPC55S69_CPU1 OR CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUPPR OR + CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUFLPR OR CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUAPP OR CONFIG_BOARD_NRF54L15PDK_NRF54L15_CPUFLPR OR CONFIG_BOARD_NRF54L15PDK_NRF54L15_CPUFLPR_XIP OR diff --git a/samples/drivers/mbox/remote/boards/nrf54h20dk_nrf54h20_cpuflpr.overlay b/samples/drivers/mbox/remote/boards/nrf54h20dk_nrf54h20_cpuflpr.overlay new file mode 100644 index 000000000000000..3971a5703cad15f --- /dev/null +++ b/samples/drivers/mbox/remote/boards/nrf54h20dk_nrf54h20_cpuflpr.overlay @@ -0,0 +1,20 @@ +/* + * Copyright 2024 Nordic Semiconductor ASA + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + mbox-consumer { + compatible = "vnd,mbox-consumer"; + mboxes = <&cpuflpr_vevif 16>, <&cpuapp_bellboard 18>; + mbox-names = "rx", "tx"; + }; +}; + +&cpuapp_bellboard { + status = "okay"; +}; + +&cpuflpr_vevif { + status = "okay"; +}; diff --git a/samples/drivers/mbox/sample.yaml b/samples/drivers/mbox/sample.yaml index 01646f040bca239..94079ce8ea8df39 100644 --- a/samples/drivers/mbox/sample.yaml +++ b/samples/drivers/mbox/sample.yaml @@ -31,6 +31,8 @@ tests: - nrf54h20dk/nrf54h20/cpuapp extra_args: mbox_SNIPPET=nordic-ppr + mbox_EXTRA_DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_cpuppr.overlay" + SB_CONF_FILE=sysbuild/nrf54h20dk_nrf54h20_cpuppr.conf sysbuild: true harness: console harness_config: @@ -40,6 +42,24 @@ tests: - "Ping \\(on channel 15\\)" - "Pong \\(on channel 18\\)" + sample.drivers.mbox.nrf54h20_app_flpr: + platform_allow: + - nrf54h20dk/nrf54h20/cpuapp + integration_platforms: + - nrf54h20dk/nrf54h20/cpuapp + extra_args: + mbox_SNIPPET=nordic-flpr + mbox_EXTRA_DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_cpuflpr.overlay" + SB_CONF_FILE=sysbuild/nrf54h20dk_nrf54h20_cpuflpr.conf + sysbuild: true + harness: console + harness_config: + type: multi_line + ordered: false + regex: + - "Ping \\(on channel 16\\)" + - "Pong \\(on channel 18\\)" + sample.drivers.mbox.nrf54h20_rad_app: platform_allow: - nrf54h20dk/nrf54h20/cpurad diff --git a/samples/drivers/mbox/sysbuild/nrf54h20dk_nrf54h20_cpuflpr.conf b/samples/drivers/mbox/sysbuild/nrf54h20dk_nrf54h20_cpuflpr.conf new file mode 100644 index 000000000000000..1f67cc417982a21 --- /dev/null +++ b/samples/drivers/mbox/sysbuild/nrf54h20dk_nrf54h20_cpuflpr.conf @@ -0,0 +1 @@ +SB_CONFIG_REMOTE_BOARD="nrf54h20dk/nrf54h20/cpuflpr" diff --git a/samples/drivers/mbox/sysbuild/nrf54h20dk_nrf54h20_cpuppr.conf b/samples/drivers/mbox/sysbuild/nrf54h20dk_nrf54h20_cpuppr.conf new file mode 100644 index 000000000000000..f50bc8553a0118e --- /dev/null +++ b/samples/drivers/mbox/sysbuild/nrf54h20dk_nrf54h20_cpuppr.conf @@ -0,0 +1 @@ +SB_CONFIG_REMOTE_BOARD="nrf54h20dk/nrf54h20/cpuppr"