1/* 2 * Copyright 2024 NXP 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7#include <zephyr/dt-bindings/ipc_service/static_vrings.h> 8#include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 9 10/ { 11 chosen { 12 /* Delete ipc chosen property where old IPM mailbox driver bellow is 13 * configured. 14 */ 15 /delete-property/ zephyr,ipc; 16 /delete-property/ zephyr,ipc_shm; 17 }; 18 19 /* Define memory regions for IPC 20 * Note that shared memory must have specific MPU attributes set. 21 */ 22 sram4_ipc0: memory@20040000{ 23 compatible = "zephyr,memory-region", "mmio-sram"; 24 reg = <0x20040000 DT_SIZE_K(8)>; 25 zephyr,memory-region="SRAM4_IPC0"; 26 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_IO))>; 27 }; 28 29 sram4_ipc1: memory@20042000{ 30 compatible = "zephyr,memory-region", "mmio-sram"; 31 reg = <0x20042000 DT_SIZE_K(8)>; 32 zephyr,memory-region="SRAM4_IPC1"; 33 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_IO))>; 34 }; 35 36 soc { 37 /* Delete IPM Driver node nxp,lpc-mailbox */ 38 /delete-node/ mailbox@8b000; 39 40 /* Attach MBOX driver to Mailbox Unit */ 41 mbox:mailbox0@5008b000 { 42 compatible = "nxp,mbox-mailbox"; 43 reg = <0x5008b000 0xEC>; 44 interrupts = <31 0>; 45 rx-channels = <4>; 46 #mbox-cells = <1>; 47 status = "okay"; 48 }; 49 }; 50 51 ipc { 52 /delete-node/ ipc0; 53 54 ipc0: ipc0 { 55 compatible = "zephyr,ipc-openamp-static-vrings"; 56 memory-region = <&sram4_ipc0>; 57 mboxes = <&mbox 0>, <&mbox 1>; 58 mbox-names = "tx", "rx"; 59 role = "host"; 60 status = "okay"; 61 }; 62 63 ipc1: ipc1 { 64 compatible = "zephyr,ipc-openamp-static-vrings"; 65 memory-region = <&sram4_ipc1>; 66 mboxes = <&mbox 2>, <&mbox 3>; 67 mbox-names = "tx", "rx"; 68 role = "host"; 69 zephyr,priority = <1 PRIO_COOP>; 70 zephyr,buffer-size = <128>; 71 status = "okay"; 72 }; 73 }; 74 }; 75