/*
 * Copyright (c) 2018, Synopsys, Inc. All rights reserved.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <synopsys/arc_iot.dtsi>
#include <mem.h>
#include "board.dtsi"

/ {
	model = "iotdk";
	compatible = "snps,iotdk", "snps,iotdk";

	aliases {
		uart-0 = &uart0;
	};

	chosen {
		zephyr,sram = &dccm0;
		zephyr,flash = &flash0;
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
	};

	xccm@c0000000 {
		compatible = "arc,xccm";
		reg = <0xc0000000 DT_SIZE_K(32)>;
	};

	yccm@e0000000 {
		compatible = "arc,yccm";
		reg = <0xe0000000 DT_SIZE_K(32)>;
	};
};

&cpu0 {
	clock-frequency = <144000000>;
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
};
