/*
 * Copyright (c) 2024 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <nordic/nrf54h20_cpurad.dtsi>
#include "nrf54h20dk_nrf54h20-memory_map.dtsi"
#include "nrf54h20dk_nrf54h20-ipc_conf.dtsi"
#include "nrf54h20dk_nrf54h20-pinctrl.dtsi"

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

/ {
	compatible = "nordic,nrf54h20dk_nrf54h20-cpurad";
	model = "Nordic nRF54H20 DK nRF54H20 Radio MCU";

	chosen {
		zephyr,console = &uart135;
		zephyr,code-partition = &cpurad_slot0_partition;
		zephyr,flash = &mram1x;
		zephyr,sram = &cpurad_ram0;
		zephyr,shell-uart = &uart135;
		zephyr,bt-hci-ipc = &ipc0;
	};
};

&shared_ram3x_region {
	status = "okay";
};

&cpuapp_cpurad_ram0x_region {
	status = "okay";
};

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

&cpuapp_bellboard {
	status = "okay";
};

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

ipc0: &cpuapp_cpurad_ipc {
	status = "okay";
	mbox-names = "tx", "rx";
	tx-region = <&cpurad_cpuapp_ipc_shm>;
	rx-region = <&cpuapp_cpurad_ipc_shm>;
	tx-blocks = <32>;
	rx-blocks = <32>;
};

&cpurad_cpusys_ipc {
	mbox-names = "rx", "tx";
	tx-region = <&cpurad_cpusys_ipc_shm>;
	rx-region = <&cpusys_cpurad_ipc_shm>;
};

&cpurad_dma_region {
	status = "okay";
};

&cpurad_rx_partitions {
	status = "okay";
};

&grtc {
	status = "okay";
};

&uart135 {
	status = "okay";
	memory-regions = <&cpurad_dma_region>;
	current-speed = <115200>;
	pinctrl-0 = <&uart135_default>;
	pinctrl-1 = <&uart135_sleep>;
	pinctrl-names = "default", "sleep";
	hw-flow-control;
};

&uart136 {
	current-speed = <115200>;
	pinctrl-0 = <&uart136_default>;
	pinctrl-1 = <&uart136_sleep>;
	pinctrl-names = "default", "sleep";
};
