/*
 * Copyright (c) 2020 Linaro Limited.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <mem.h>
#include <arm/nordic/nrf52833.dtsi>

/ {
	model = "nrf52 bsim";
	compatible = "bsim,nrf52833";

	/* We need to remove aliases to nodes we delete */
	aliases {
		/delete-property/ i2c-0;
		/delete-property/ i2c-1;
		/delete-property/ spi-0;
		/delete-property/ spi-1;
		/delete-property/ spi-2;
		/delete-property/ spi-3;
		/delete-property/ uart-0;
		/delete-property/ uart-1;
		/delete-property/ adc-0;
		/delete-property/ gpio-1;
		/delete-property/ gpiote-0;
		/delete-property/ wdt-0;
		/delete-property/ pwm-0;
		/delete-property/ pwm-1;
		/delete-property/ pwm-2;
		/delete-property/ pwm-3;
		/delete-property/ qdec-0;
	};

	chosen {
		zephyr,ieee802154 = &ieee802154;
		zephyr,flash = &flash0;
	};

	soc {
		/delete-node/ memory@20000000;
		/delete-node/ adc@40007000;
		/delete-node/ uart@40002000;
		/delete-node/ uart@40028000;
		/delete-node/ gpiote@40006000;
		/delete-node/ gpio@50000300;
		/delete-node/ i2c@40003000;
		/delete-node/ i2c@40004000;
		/delete-node/ pwm@4001c000;
		/delete-node/ pwm@40021000;
		/delete-node/ pwm@40022000;
		/delete-node/ pwm@4002d000;
		/delete-node/ qdec@40012000;
		/delete-node/ spi@40003000;
		/delete-node/ spi@40004000;
		/delete-node/ spi@40023000;
		/delete-node/ spi@4002f000;
		/delete-node/ watchdog@40010000;
		/delete-node/ acl@4001e000;
		/delete-node/ usbd@40027000;
	};

	/delete-node/ sw-pwm;
};

&radio {
	/* These features are not yet supported by the RADIO model */
	/delete-property/ dfe-supported;
	/delete-property/ ble-coded-phy-supported;
};

&ieee802154 {
	status = "okay";
};

&gpio0 {
	/* Needed by
	 * modules/hal_nordic/nrf_802154/sl_opensource/platform/nrf_802154_gpiote_zephyr.c
	 */
	status = "okay";
};

&flash0 {
	reg = <0x00000000 DT_SIZE_K(512)>;
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		storage_partition: partition@0 {
			label = "storage";
			reg = <0x00000000 DT_SIZE_K(512)>;
		};
	};
};
