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

/dts-v1/;

#include <arm/armv8-m.dtsi>

/ {
	compatible = "arm,v2m-musca";
	#address-cells = <1>;
	#size-cells = <1>;

	aliases {
		led0 = &green_led;
		led1 = &blue_led;
		led2 = &red_led;
	};

	chosen {
		zephyr,console = &uart1;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,shell-uart = &uart1;
	};

	leds {
		compatible = "gpio-leds";
		red_led: led_0 {
			gpios = <&gpio 2 0>;
			label = "User LED1";
		};
		green_led: led_1 {
			gpios = <&gpio 3 0>;
			label = "User LED2";
		};
		blue_led: led_2 {
			gpios = <&gpio 4 0>;
			label = "User LED3";
		};
	};

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

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

			mpu: mpu@e000ed90 {
				compatible = "arm,armv8m-mpu";
				reg = <0xe000ed90 0x40>;
				arm,num-mpu-regions = <8>;
			};
		};
	};

	flash0: flash@1a000000 {
		/* Embedded flash */
		reg = <0x1a000000 0x200000>;
	};

	sram0: memory@30000000 {
		compatible = "mmio-sram";
		reg = <0x30000000 0x80000>;
	};

	sysclk: system-clock {
		compatible = "fixed-clock";
		clock-frequency = <40000000>;
		#clock-cells = <0>;
	};

	scc@5010b000 {
		compatible = "arm,scc";
		reg = <0x5010b000 0x1000>;
	};

	soc {
		peripheral@50000000 {
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x0 0x50000000 0x10000000>;

			#include "v2m_musca_b1-common.dtsi"
		};
	};

};

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