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