Skip to content

Commit

Permalink
[nrf fromlist] boards: nrf54h20pdk: Add default IPC configuration
Browse files Browse the repository at this point in the history
Add `zephyr,ipc-icmsg*` nodes, with mboxes specified in a common file.

Upstream PR: zephyrproject-rtos/zephyr#69303

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Partetas <gerard@teslabs.com>
(cherry picked from commit 035adef5768e79f4466e1f74dcd501efc39e2dc2)
(cherry picked from commit 6319eaa)
(cherry picked from commit f256013)
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
  • Loading branch information
57300 authored and rlubos committed Mar 14, 2024
1 parent 81be7fc commit 5d1f848
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 0 deletions.
36 changes: 36 additions & 0 deletions boards/arm/nrf54h20pdk_nrf54h20/nrf54h20pdk_nrf54h20-ipc_conf.dtsi
@@ -0,0 +1,36 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/

/ {
ipc {
cpusec_cpuapp_ipc: ipc-1-2 {
compatible = "zephyr,ipc-icmsg";
status = "disabled";
mboxes = <&cpusec_bellboard 12>,
<&cpuapp_bellboard 0>;
};

cpusec_cpurad_ipc: ipc-1-3 {
compatible = "zephyr,ipc-icmsg";
status = "disabled";
mboxes = <&cpusec_bellboard 18>,
<&cpurad_bellboard 0>;
};

cpuapp_cpurad_ipc: ipc-2-3 {
status = "disabled";
mboxes = <&cpuapp_bellboard 18>,
<&cpurad_bellboard 12>;
};

cpuapp_cpuppr_ipc: ipc-2-13 {
compatible = "zephyr,ipc-icmsg";
status = "disabled";
mboxes = <&cpuapp_bellboard 13>,
<&cpuppr_vevif 12>;
};
};
};
29 changes: 29 additions & 0 deletions boards/arm/nrf54h20pdk_nrf54h20/nrf54h20pdk_nrf54h20_cpuapp.dts
Expand Up @@ -8,8 +8,11 @@

#include <nordic/nrf54h20_enga_cpuapp.dtsi>
#include "nrf54h20pdk_nrf54h20-memory_map.dtsi"
#include "nrf54h20pdk_nrf54h20-ipc_conf.dtsi"
#include "nrf54h20pdk_nrf54h20-pinctrl.dtsi"

/delete-node/ &cpusec_cpurad_ipc;

/ {
compatible = "nordic,nrf54h20pdk_nrf54h20-cpuapp";
model = "Nordic nRF54H20 PDK nRF54H20 Application MCU";
Expand Down Expand Up @@ -93,6 +96,32 @@
status = "okay";
};

&cpuapp_bellboard {
interrupts = <96 NRF_DEFAULT_IRQ_PRIORITY>;
interrupt-names = "irq0";
/* irq0: 0: cpuapp-cpusec, 13: cpuapp-cpuppr, 18: cpuapp-cpurad */
nordic,interrupt-mapping = <0x00042001 0>;
};

&cpusec_cpuapp_ipc {
mbox-names = "tx", "rx";
tx-region = <&cpuapp_cpusec_ipc_shm>;
rx-region = <&cpusec_cpuapp_ipc_shm>;
};

&cpuapp_cpurad_ipc {
compatible = "zephyr,ipc-icmsg-me-initiator";
mbox-names = "rx", "tx";
tx-region = <&cpuapp_cpurad_ipc_shm>;
rx-region = <&cpurad_cpuapp_ipc_shm>;
};

&cpuapp_cpuppr_ipc {
mbox-names = "rx", "tx";
tx-region = <&cpuapp_cpuppr_ipc_shm>;
rx-region = <&cpuppr_cpuapp_ipc_shm>;
};

&cpuapp_dma_region {
status = "okay";
};
Expand Down
24 changes: 24 additions & 0 deletions boards/arm/nrf54h20pdk_nrf54h20/nrf54h20pdk_nrf54h20_cpurad.dts
Expand Up @@ -8,8 +8,12 @@

#include <nordic/nrf54h20_enga_cpurad.dtsi>
#include "nrf54h20pdk_nrf54h20-memory_map.dtsi"
#include "nrf54h20pdk_nrf54h20-ipc_conf.dtsi"
#include "nrf54h20pdk_nrf54h20-pinctrl.dtsi"

/delete-node/ &cpuapp_cpuppr_ipc;
/delete-node/ &cpusec_cpuapp_ipc;

/ {
compatible = "nordic,nrf54h20pdk_nrf54h20-cpurad";
model = "Nordic nRF54H20 PDK nRF54H20 Radio MCU";
Expand All @@ -26,6 +30,26 @@
status = "okay";
};

&cpurad_bellboard {
interrupts = <96 NRF_DEFAULT_IRQ_PRIORITY>;
interrupt-names = "irq0";
/* irq0: 0: cpurad-cpusec, 12: cpurad-cpuapp */
nordic,interrupt-mapping = <0x00001001 0>;
};

&cpusec_cpurad_ipc {
mbox-names = "tx", "rx";
tx-region = <&cpurad_cpusec_ipc_shm>;
rx-region = <&cpusec_cpurad_ipc_shm>;
};

&cpuapp_cpurad_ipc {
compatible = "zephyr,ipc-icmsg-me-follower";
mbox-names = "tx", "rx";
tx-region = <&cpurad_cpuapp_ipc_shm>;
rx-region = <&cpuapp_cpurad_ipc_shm>;
};

&cpurad_dma_region {
status = "okay";
};
Expand Down
11 changes: 11 additions & 0 deletions boards/riscv/nrf54h20pdk_nrf54h20/nrf54h20pdk_nrf54h20_cpuppr.dts
Expand Up @@ -8,8 +8,13 @@

#include <nordic/nrf54h20_enga_cpuppr.dtsi>
#include "nrf54h20pdk_nrf54h20-memory_map.dtsi"
#include "nrf54h20pdk_nrf54h20-ipc_conf.dtsi"
#include "nrf54h20pdk_nrf54h20-pinctrl.dtsi"

/delete-node/ &cpuapp_cpurad_ipc;
/delete-node/ &cpusec_cpuapp_ipc;
/delete-node/ &cpusec_cpurad_ipc;

/ {
compatible = "nordic,nrf54h20pdk_nrf54h20-cpuppr";
model = "Nordic nRF54H20 PDK nRF54H20 Peripheral Processor MCU";
Expand All @@ -24,6 +29,12 @@
};
};

&cpuapp_cpuppr_ipc {
mbox-names = "tx", "rx";
tx-region = <&cpuppr_cpuapp_ipc_shm>;
rx-region = <&cpuapp_cpuppr_ipc_shm>;
};

&grtc {
status = "okay";
owned-channels = <5>;
Expand Down

0 comments on commit 5d1f848

Please sign in to comment.