/*
 * Copyright (c) 2020 Linumiz
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <arm/armv7-m.dtsi>
#include <mem.h>

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

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-m4f";
			reg = <0>;
		};
	};

	sram0: memory@20000000 {
		compatible = "mmio-sram";
	};

	flash0: flash@0 {
		compatible = "serial-flash";
		erase-block-size = <4096>;
		write-block-size = <1>;
	};

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

	soc {
		uart0: serial@40070000 {
			compatible = "nuvoton,numicro-uart";
			reg = <0x40070000 0x1000>;
			status = "disabled";
		};

		uart1: serial@40071000 {
			compatible = "nuvoton,numicro-uart";
			reg = <0x40071000 0x1000>;
			status = "disabled";
		};

		uart2: serial@40072000 {
			compatible = "nuvoton,numicro-uart";
			reg = <0x40072000 0x1000>;
			status = "disabled";
		};

		uart3: serial@40073000 {
			compatible = "nuvoton,numicro-uart";
			reg = <0x40073000 0x1000>;
			status = "disabled";
		};

		uart4: serial@40074000 {
			compatible = "nuvoton,numicro-uart";
			reg = <0x40074000 0x1000>;
			status = "disabled";
		};

		uart5: serial@40075000 {
			compatible = "nuvoton,numicro-uart";
			reg = <0x40075000 0x1000>;
			status = "disabled";
		};

		uart6: serial@40076000 {
			compatible = "nuvoton,numicro-uart";
			reg = <0x40076000 0x1000>;
			status = "disabled";
		};

		uart7: serial@40077000 {
			compatible = "nuvoton,numicro-uart";
			reg = <0x40077000 0x1000>;
			status = "disabled";
		};

	};
};

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