diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf.dtsi b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf.dtsi index 9c3d971b9bc..abe93b34ba9 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf.dtsi +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf.dtsi @@ -26,11 +26,25 @@ <&cpurad_bellboard 12>; }; + cpuapp_cpusys_ipc: ipc-2-12 { + compatible = "zephyr,ipc-icmsg"; + status = "disabled"; + mboxes = <&cpuapp_bellboard 6>, + <&cpusys_vevif 12>; + }; + cpuapp_cpuppr_ipc: ipc-2-13 { compatible = "zephyr,ipc-icmsg"; status = "disabled"; mboxes = <&cpuapp_bellboard 13>, <&cpuppr_vevif 12>; }; + + cpurad_cpusys_ipc: ipc-3-12 { + compatible = "zephyr,ipc-icmsg"; + status = "disabled"; + mboxes = <&cpurad_bellboard 6>, + <&cpusys_vevif 18>; + }; }; }; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts index 21a7b9ca7e2..60e872141ba 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts @@ -11,6 +11,7 @@ #include "nrf54h20dk_nrf54h20-ipc_conf.dtsi" #include "nrf54h20dk_nrf54h20-pinctrl.dtsi" +/delete-node/ &cpurad_cpusys_ipc; /delete-node/ &cpusec_cpurad_ipc; / { @@ -100,8 +101,8 @@ &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>; + /* irq0: 0: cpuapp-cpusec, 6: cpuapp-cpusys, 13: cpuapp-cpuppr, 18: cpuapp-cpurad */ + nordic,interrupt-mapping = <0x00042041 0>; }; &cpusec_cpuapp_ipc { @@ -117,6 +118,12 @@ rx-region = <&cpurad_cpuapp_ipc_shm>; }; +&cpuapp_cpusys_ipc { + mbox-names = "rx", "tx"; + tx-region = <&cpuapp_cpusys_ipc_shm>; + rx-region = <&cpusys_cpuapp_ipc_shm>; +}; + &cpuapp_cpuppr_ipc { mbox-names = "rx", "tx"; tx-region = <&cpuapp_cpuppr_ipc_shm>; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.dts index 4cfad97323e..80b690839d7 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuppr.dts @@ -12,6 +12,8 @@ #include "nrf54h20dk_nrf54h20-pinctrl.dtsi" /delete-node/ &cpuapp_cpurad_ipc; +/delete-node/ &cpuapp_cpusys_ipc; +/delete-node/ &cpurad_cpusys_ipc; /delete-node/ &cpusec_cpuapp_ipc; /delete-node/ &cpusec_cpurad_ipc; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts index a3d3736fde2..4cfeb3dbe9b 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts @@ -12,6 +12,7 @@ #include "nrf54h20dk_nrf54h20-pinctrl.dtsi" /delete-node/ &cpuapp_cpuppr_ipc; +/delete-node/ &cpuapp_cpusys_ipc; /delete-node/ &cpusec_cpuapp_ipc; / { @@ -34,8 +35,8 @@ &cpurad_bellboard { interrupts = <96 NRF_DEFAULT_IRQ_PRIORITY>; interrupt-names = "irq0"; - /* irq0: 0: cpurad-cpusec, 12: cpurad-cpuapp */ - nordic,interrupt-mapping = <0x00001001 0>; + /* irq0: 0: cpurad-cpusec, 6: cpurad-cpusys, 12: cpurad-cpuapp */ + nordic,interrupt-mapping = <0x00001041 0>; }; &cpusec_cpurad_ipc { @@ -51,6 +52,12 @@ rx-region = <&cpuapp_cpurad_ipc_shm>; }; +&cpurad_cpusys_ipc { + mbox-names = "rx", "tx"; + tx-region = <&cpurad_cpusys_ipc_shm>; + rx-region = <&cpusys_cpurad_ipc_shm>; +}; + &cpurad_dma_region { status = "okay"; };