/* SPDX-License-Identifier: Apache-2.0 */

/dts-v1/;

#include <arm/armv7-m.dtsi>
#include <dt-bindings/i2c/i2c.h>

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

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

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

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

	sram0: memory@20000000 {
		compatible = "mmio-sram";
		reg = <0x20000000 0x400000>;
	};

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

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

	soc {
		timer0: timer@40000000 {
			compatible = "arm,cmsdk-timer";
			reg = <0x40000000 0x1000>;
			interrupts = <8 3>;
			label = "TIMER_0";
		};

		timer1: timer@40001000 {
			compatible = "arm,cmsdk-timer";
			reg = <0x40001000 0x1000>;
			interrupts = <9 3>;
			label = "TIMER_1";
		};

		dtimer0: dtimer@40002000 {
			compatible = "arm,cmsdk-dtimer";
			reg = <0x40002000 0x1000>;
			interrupts = <10 3>;
			label = "DTIMER_0";
		};

		uart0: uart@40004000 {
			compatible = "arm,cmsdk-uart";
			reg = <0x40004000 0x1000>;
			interrupts = <1 3 0 3>;
			interrupt-names = "tx", "rx";
			clocks = <&sysclk>;
			current-speed = <115200>;
			label = "UART_0";
		};

		uart1: uart@40005000 {
			compatible = "arm,cmsdk-uart";
			reg = <0x40005000 0x1000>;
			interrupts = <3 3 2 3>;
			interrupt-names = "tx", "rx";
			clocks = <&sysclk>;
			current-speed = <115200>;
			label = "UART_1";
		};

		uart2: uart@40006000 {
			compatible = "arm,cmsdk-uart";
			reg = <0x40006000 0x1000>;
			interrupts = <5 3 4 3>;
			interrupt-names = "tx", "rx";
			clocks = <&sysclk>;
			current-speed = <115200>;
			label = "UART_2";
		};

		uart3: uart@40007000 {
			compatible = "arm,cmsdk-uart";
			reg = <0x40007000 0x1000>;
			interrupts = <19 3 18 3>;
			interrupt-names = "tx", "rx";
			clocks = <&sysclk>;
			current-speed = <115200>;
			label = "UART_3";
		};

		wdog0: wdog@40008000 {
			compatible = "arm,cmsdk-watchdog";
			clocks = <&sysclk>;
			reg = <0x40008000 0x1000>;
		};

		uart4: uart@40009000 {
			compatible = "arm,cmsdk-uart";
			reg = <0x40009000 0x1000>;
			interrupts = <21 3 20 3>;
			interrupt-names = "tx", "rx";
			clocks = <&sysclk>;
			current-speed = <115200>;
			label = "UART_4";
		};

		gpio0: gpio@40010000 {
			compatible = "arm,cmsdk-gpio";
			reg = <0x40010000 0x1000>;
			interrupts = <6 3>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio1: gpio@40011000 {
			compatible = "arm,cmsdk-gpio";
			reg = <0x40011000 0x1000>;
			interrupts = <7 3>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio2: gpio@40012000 {
			compatible = "arm,cmsdk-gpio";
			reg = <0x40012000 0x1000>;
			interrupts = <16 3>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpio3: gpio@40013000 {
			compatible = "arm,cmsdk-gpio";
			reg = <0x40013000 0x1000>;
			interrupts = <17 3>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		eth0: eth@40200000 {
			/* Linux has "smsc,lan9115" */
			compatible = "smsc,lan9220";
			/* Such a big size from memory map in AN385 */
			/* Actual reg range is ~0x200 */
			reg = <0x40200000 0x100000>;
			label = "eth0";
			interrupts = <13 3>;
		};

		i2c_touch: i2c@40022000 {
			compatible = "arm,versatile-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40022000 0x1000>;
			label = "I2C_TOUCH";
		};

		i2c_audio_conf: i2c@40023000 {
			compatible = "arm,versatile-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40023000 0x1000>;
			label = "I2C_AUDIO_CONF";
		};

		i2c_shield0: i2c@40029000 {
			compatible = "arm,versatile-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40029000 0x1000>;
			label = "I2C_SHIELD0";
		};

		i2c_shield1: i2c@4002a000 {
			compatible = "arm,versatile-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x4002a000 0x1000>;
			label = "I2C_SHIELD1";
		};
	};
};

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