/*
 * Copyright 2024 NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/ {
	chosen {
		/* Delete ipc chosen property where old IPM mailbox driver bellow is
		 * configured.
		 */
		/delete-property/ zephyr,ipc;
	};

	soc {
		/* Delete IPM Driver node nxp,lpc-mailbox */
		/delete-node/ mailbox@8b000;

		/* Attach MBOX driver to Mailbox Unit */
		mbox:mailbox0@5008b000 {
			compatible = "nxp,mbox-mailbox";
			reg = <0x5008b000 0xEC>;
			interrupts = <31 0>;
			rx-channels = <4>;
			#mbox-cells = <1>;
			status = "okay";
		};
	};

	mbox-consumer {
		compatible = "vnd,mbox-consumer";
		mboxes = <&mbox 3>, <&mbox 2>, <&mbox 1>, <&mbox 0>, <&mbox 2>,
			 <&mbox 3>, <&mbox 0>, <&mbox 1>;
		mbox-names = "tx0", "rx0", "tx1", "rx1", "tx2", "rx2", "tx3",
			     "rx3";
	};
};
