Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions samples/subsys/ipc/ipc_service/multi_endpoint/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,7 @@ cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})

if(NOT CONFIG_BOARD_NRF5340DK_NRF5340_CPUAPP AND
NOT CONFIG_BOARD_NRF5340BSIM_NRF5340_CPUAPP )
message(FATAL_ERROR "${BOARD} is not supported for this sample")
endif()

project(ipc_service)

target_sources(app PRIVATE src/main.c)
FILE(GLOB app_sources src/*.c)
target_sources(app PRIVATE ${app_sources})
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ source "share/sysbuild/Kconfig"

config NET_CORE_BOARD
string
default "nrf5340dk/nrf5340/cpunet" if $(BOARD) = "nrf5340dk"
default "nrf5340bsim/nrf5340/cpunet" if $(BOARD) = "nrf5340bsim"
default "$(BOARD)/nrf5340/cpunet" if $(BOARD) = "nrf5340dk"
default "$(BOARD)/nrf5340/cpunet" if $(BOARD) = "nrf5340bsim"
default "$(BOARD)/nrf54h20/cpurad" if $(BOARD) = "nrf54h20dk"
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CONFIG_SOC_NRF54H20_CPURAD_ENABLE=y
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/ {
reserved-memory {
/delete-node/ memory@2f0bf000;
/delete-node/ memory@2f0bf800;

cpuapp_cpurad_ipc_shm_a: memory@2f0bf000 {
reg = <0x2f0bf000 DT_SIZE_K(1)>;
};

cpurad_cpuapp_ipc_shm_a: memory@2f0bf400 {
reg = <0x2f0bf400 DT_SIZE_K(1)>;
};

cpuapp_cpurad_ipc_shm_b: memory@2f0bf800 {
reg = <0x2f0bf800 DT_SIZE_K(1)>;
};

cpurad_cpuapp_ipc_shm_b: memory@2f0bfC00 {
reg = <0x2f0bfC00 DT_SIZE_K(1)>;
};
};

ipc {
cpuapp_cpurad_ipc_b: ipc-2-3-b {
compatible = "zephyr,ipc-icbmsg";
dcache-alignment = <32>;
status = "okay";
mboxes = <&cpuapp_bellboard 20>,
<&cpurad_bellboard 14>;
};
};
};

&cpuapp_bellboard {
nordic,interrupt-mapping = <0x146041 0x0>;
};

&ipc0 {
tx-region = <&cpuapp_cpurad_ipc_shm_a>;
rx-region = <&cpurad_cpuapp_ipc_shm_a>;
};

ipc1: &cpuapp_cpurad_ipc_b {
status = "okay";
mbox-names = "rx", "tx";
tx-region = <&cpuapp_cpurad_ipc_shm_b>;
rx-region = <&cpurad_cpuapp_ipc_shm_b>;
tx-blocks = <32>;
rx-blocks = <32>;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/ {
reserved-memory {
/delete-node/ memory@2f0bf000;
/delete-node/ memory@2f0bf800;

cpuapp_cpurad_ipc_shm_a: memory@2f0bf000 {
reg = <0x2f0bf000 DT_SIZE_K(1)>;
};

cpurad_cpuapp_ipc_shm_a: memory@2f0bf400 {
reg = <0x2f0bf400 DT_SIZE_K(1)>;
};

cpuapp_cpurad_ipc_shm_b: memory@2f0bf800 {
reg = <0x2f0bf800 DT_SIZE_K(1)>;
};

cpurad_cpuapp_ipc_shm_b: memory@2f0bfC00 {
reg = <0x2f0bfC00 DT_SIZE_K(1)>;
};
};

ipc {
cpuapp_cpurad_ipc_b: ipc-2-3-b {
compatible = "zephyr,ipc-icbmsg";
dcache-alignment = <32>;
status = "okay";
mboxes = <&cpuapp_bellboard 20>,
<&cpurad_bellboard 14>;
};
};
};

&cpurad_bellboard {
nordic,interrupt-mapping = <0x5041 0>;
};

&ipc0 {
tx-region = <&cpurad_cpuapp_ipc_shm_a>;
rx-region = <&cpuapp_cpurad_ipc_shm_a>;
};

ipc1: &cpuapp_cpurad_ipc_b {
status = "okay";
mbox-names = "tx", "rx";
tx-region = <&cpurad_cpuapp_ipc_shm_b>;
rx-region = <&cpuapp_cpurad_ipc_shm_b>;
tx-blocks = <32>;
rx-blocks = <32>;
};
2 changes: 2 additions & 0 deletions samples/subsys/ipc/ipc_service/multi_endpoint/sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@ tests:
platform_allow:
- nrf5340dk/nrf5340/cpuapp
- nrf5340bsim/nrf5340/cpuapp
- nrf54h20dk/nrf54h20/cpuapp
integration_platforms:
- nrf5340dk/nrf5340/cpuapp
- nrf5340bsim/nrf5340/cpuapp
- nrf54h20dk/nrf54h20/cpuapp
tags: ipc
sysbuild: true
sample.ipc.multi_endpoint.icbmsg:
Expand Down
1 change: 1 addition & 0 deletions samples/subsys/ipc/ipc_service/multi_endpoint/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ static void ipc1_entry(void *dummy0, void *dummy1, void *dummy2)
return;
}

printf("Waiting for bind\n");
k_sem_take(&ipc1_bound_sem, K_FOREVER);

/*
Expand Down
Loading