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

#include "skeleton.dtsi"

#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>

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

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "snps,arcem";
			reg = <0>;
		};

		intc: arcv2-intc {
			compatible = "snps,arcv2-intc";
			interrupt-controller;
			#interrupt-cells = <2>;
		};
	};

	iccm0: iccm@20000000 {
		compatible = "arc,iccm";
		reg = <0x20000000 0x40000>;
	};

	dccm0: dccm@80000000 {
		compatible = "arc,dccm";
		reg = <0x80000000 0x20000>;
	};


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

	flash0: flash@0 {
		compatible = "soc-nv-flash";
		reg = <0x0 0x40000>;
	};

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

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges;


		uart0: uart@80014000 {
			compatible = "ns16550";
			clock-frequency = <16000000>;
			reg = <0x80014000 0x100>;
			label = "UART_0";
			interrupts = <86 0>;
			interrupt-parent = <&intc>;
			dlf = <0x01>;
		};

		uart1: uart@80014100 {
			compatible = "ns16550";
			clock-frequency = <16000000>;
			reg = <0x80014100 0x100>;
			label = "UART_1";
			interrupts = <87 0>;
			interrupt-parent = <&intc>;

		};

		uart2: uart@80014200 {
			compatible = "ns16550";
			clock-frequency = <16000000>;
			reg = <0x80014200 0x1000>;
			label = "UART_2";
			interrupts = <88 0>;
			interrupt-parent = <&intc>;

		};

		uart3: uart@80014300 {
			compatible = "ns16550";
			clock-frequency = <144000000>;
			reg = <0x80014300 0x100>;
			label = "UART_3";
			interrupts = <89 0>;
			interrupt-parent = <&intc>;

		};

		gpio8b0: gpio@80017800 {
			reg = <0x80017800 0x100>;
			interrupts = <54 1>;
			interrupt-parent = <&intc>;
			label = "GPIO_8B_0";

			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio8b1: gpio@80017900 {
			reg = <0x80017900 0x100>;
			interrupts = <55 1>;
			interrupt-parent = <&intc>;
			label = "GPIO_8B_1";

			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio8b2: gpio@80017a00 {
			reg = <0x80017a00 0x100>;
			interrupts = <56 1>;
			interrupt-parent = <&intc>;
			label = "GPIO_8B_2";

			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio8b3: gpio@80017b00 {
			reg = <0x80017b00 0x100>;
			interrupts = <57 1>;
			interrupt-parent = <&intc>;
			label = "GPIO_8B_3";

			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio4b0: gpio@80017c00 {
			reg = <0x80017c00 0x100>;
			interrupts = <19 1>;
			interrupt-parent = <&intc>;
			label = "GPIO_4B_0";

			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio4b1: gpio@80017d00 {
			reg = <0x80017d00 0x100>;
			interrupts = <52 1>;
			interrupt-parent = <&intc>;
			label = "GPIO_4B_1";

			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio4b2: gpio@80017e00 {
			reg = <0x80017e00 0x100>;
			interrupts = <53 1>;
			interrupt-parent = <&intc>;
			label = "GPIO_4B_2";

			gpio-controller;
			#gpio-cells = <2>;
		};


		i2c0: i2c@80012000 {
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x80012000 0x100>;
			interrupts = <58 1>, <61 1>, <60 1>, <59 1>;
			interrupt-names = "error", "stop", "tx", "rx";
			interrupt-parent = <&intc>;
			label = "I2C_0";

			status = "disabled";
		};

		i2c1: i2c@80012100 {
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x80012100 0x100>;
			interrupts = <62 1>, <65 1>, <64 1>, <63 1>;
			interrupt-names = "error", "stop", "tx", "rx";
			interrupt-parent = <&intc>;
			label = "I2C_1";

			status = "disabled";
		};

		i2c2: i2c@80012200 {
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x80012200 0x100>;
			interrupts = <66 1>, <69 1>, <68 1>, <67 1>;
			interrupt-names = "error", "stop", "tx", "rx";
			interrupt-parent = <&intc>;
			label = "I2C_2";

			status = "disabled";
		};

		spi0: spi@80010000 {
			compatible = "snps,designware-spi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x80010000 0x100>;
			clocks = <&sysclk>;
			interrupts = <70 2>, <71 2>, <72 2>;
			interrupt-names = "err-int", "rx-avail", "tx-req";
			interrupt-parent = <&intc>;
			label = "SPI_0";
			status = "disabled";
		};

		spi1: spi@80010100 {
			compatible = "snps,designware-spi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x80010100 0x100>;
			clocks = <&sysclk>;
			interrupts = <74 2>, <75 2>, <76 2>;
			interrupt-names = "err-int", "rx-avail", "tx-req";
			interrupt-parent = <&intc>;
			label = "SPI_1";
			status = "disabled";
		};

		spi2: spi@80010200 {
			compatible = "snps,designware-spi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x80010200 0x100>;
			clocks = <&sysclk>;
			interrupts = <78 2>, <79 2>, <80 2>;
			interrupt-names = "err-int", "rx-avail", "tx-req";
			interrupt-parent = <&intc>;
			label = "SPI_2";
			status = "disabled";
		};

	};
};
