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

#include "skeleton.dtsi"
#include <arc/emsk_dt.h>
#include <dt-bindings/i2c/i2c.h>


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

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

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

	iccm0: iccm@0 {
		device_type = "memory";
		compatible = "arc,iccm";
		reg = <0x0 DT_ICCM_SIZE>;
	};

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

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

		ddr0: memory@10000000 {
			device_type = "memory";
			compatible = "mmio-sram";
			reg = <0x10000000 0x8000000>;
		};


		i2c0: i2c@f0004000 {
			compatible = "snps,designware-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0xf0004000 0x1000>;
			label = "I2C_0";
			interrupts = <DT_I2C0_INTNO 1>;
			interrupt-parent = <&intc>;
		};

		i2c1: i2c@f0005000 {
			compatible = "snps,designware-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0xf0005000 0x1000>;
			label = "I2C_1";
			interrupts = <DT_I2C1_INTNO 1>;
			interrupt-parent = <&intc>;
		};

		uart0: uart@f0008000 {
			compatible = "ns16550";
			clock-frequency = <DT_APB_CLK_HZ>;
			reg = <0xf0008000 0x1000>;
			label = "UART_0";
			interrupts = <DT_UART0_INTNO 1>;
			interrupt-parent = <&intc>;
		};

		uart1: uart@f0009000 {
			compatible = "ns16550";
			clock-frequency = <DT_APB_CLK_HZ>;
			reg = <0xf0009000 0x1000>;
			label = "UART_1";
			interrupts = <DT_UART1_INTNO 1>;
			interrupt-parent = <&intc>;

		};

		uart2: uart@f000a000 {
			compatible = "ns16550";
			clock-frequency = <DT_APB_CLK_HZ>;
			reg = <0xf000a000 0x1000>;
			label = "UART_2";
			interrupts = <DT_UART2_INTNO 1>;
			interrupt-parent = <&intc>;

		};

		gpio0: gpio@f0002000 {
			compatible = "snps,designware-gpio";
			reg = <0xF0002000 0xc>;
			bits = <32>;
			label = "GPIO_0";
			interrupts = <DT_GPIO0_INTNO 1>;
			interrupt-parent = <&intc>;

		};

		gpio1: gpio@f000200C {
			compatible = "snps,designware-gpio";
			reg = <0xF000200C 0xc>;
			bits = <9>;
			label = "GPIO_1";
			interrupts = <DT_GPIO1_INTNO 1>;
			interrupt-parent = <&intc>;

		};

		gpio2: gpio@f0002018 {
			compatible = "snps,designware-gpio";
			reg = <0xF0002018 0xc>;
			bits = <32>;
			label = "GPIO_2";

			interrupts = <DT_GPIO2_INTNO 1>;
			interrupt-parent = <&intc>;

		};

		gpio3: gpio@f0002024 {
			compatible = "snps,designware-gpio";
			reg = <0xF0002024 0xc>;
			bits = <12>;
			label = "GPIO_3";

			interrupts = <DT_GPIO3_INTNO 1>;
			interrupt-parent = <&intc>;

		};

		spi0: spi@f0006000 {
			compatible = "snps,designware-spi";
			reg = <0xf0006000 0x1000>;
			label = "SPI_0";
			interrupts = <DT_SPI0_INTNO 1>;
			interrupt-parent = <&intc>;

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

		};

		spi1: spi@f0007000 {
			compatible = "snps,designware-spi";
			reg = <0xf0007000 0x1000>;
			label = "SPI_1";
			interrupts = <DT_SPI1_INTNO 1>;
			interrupt-parent = <&intc>;

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

		};

	};
};
