/*
 * Copyright (c) 2020 Henrik Brix Andersen <henrik@brixandersen.dk>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <arm/armv6-m.dtsi>
#include "arty_a7_arm_designstart.dtsi"

/ {
	model = "Digilent Arty A7 ARM DesignStart Cortex-M1";

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-m1";
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <1>;
		};
	};

	soc {
		itcm: memory@0 {
			compatible = "arm,itcm";
			reg = <0x00000000 DT_SIZE_K(64)>;
		};

		dtcm: memory@20000000 {
			compatible = "arm,dtcm";
			reg = <0x20000000 DT_SIZE_K(32)>;
		};

		bram0: memory@60000000 {
			compatible = "mmio-sram";
			reg = <0x60000000 DT_SIZE_K(64)>;
		};
	};
};

&nvic {
	arm,num-irq-priority-bits = <2>;
};
