/*
 * Copyright (c) 2021 Laird Connectivity
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <nordic/nrf5340_cpunet_qkaa.dtsi>
#include "bl5340_dvk_cpunet-pinctrl.dtsi"

/ {
	model = "Laird Connectivity BL5340 (nRF5340) Network";
	compatible = "lairdconnectivity,bl5340-dvk-cpunet";

	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,uart-mcumgr = &uart0;
		zephyr,bt-mon-uart = &uart0;
		zephyr,bt-c2h-uart = &uart0;
		zephyr,sram = &sram1;
		zephyr,flash = &flash1;
		zephyr,code-partition = &slot0_partition;
	};
};

&gpiote {
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&uart0_default>;
	pinctrl-1 = <&uart0_sleep>;
	pinctrl-names = "default", "sleep";
};

&timer0 {
	status = "okay";
};

&timer1 {
	status = "okay";
};

&timer2 {
	status = "okay";
};

&flash1 {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		/* 48K */
		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0xc000>;
		};
		/* 88K */
		slot0_partition: partition@c000 {
			label = "image-0";
			reg = <0x0000C000 0x16000>;
		};
		/* 88K */
		slot1_partition: partition@22000 {
			label = "image-1";
			reg = <0x00022000 0x16000>;
		};
		/* 12K */
		scratch_partition: partition@38000 {
			label = "image-scratch";
			reg = <0x00038000 0x3000>;
		};
		/* 20K */
		storage_partition: partition@3B000 {
			label = "storage";
			reg = <0x0003B000 0x5000>;
		};
	};
};

/* Include shared RAM configuration file */
#include "bl5340_dvk_shared_sram_planning_conf.dts"
