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

/dts-v1/;
#include <nordic/nrf5340_cpunet_qkaa.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>;
	tx-pin = <40>;
	rx-pin = <42>;
	rts-pin = <39>;
	cts-pin = <41>;
};

&timer0 {
	status = "okay";
};

&timer1 {
	status = "okay";
};

&timer2 {
	status = "okay";
};

&flash1 {
	/*
	 * For more information, see:
	 * http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
	 */
	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"
