/*
 * Copyright (c) 2017 Piotr Mienkowski
 * Copyright (c) 2017 Justin Watson
 *
 * SPDX-License-Identifier: Apache-2.0
 */

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

#include "same70-pinctrl.dtsi"

/ {
	aliases {
		watchdog0 = &wdt;
	};

	chosen {
		zephyr,flash-controller = &eefc;
	};

	chosen {
		zephyr,entropy = &trng;
	};

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

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

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

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

	soc {
		eefc: flash-controller@400e0c00 {
			compatible = "atmel,sam-flash-controller";
			label = "FLASH_CTRL";
			reg = <0x400e0c00 0x200>;
			interrupts = <6 0>;
			peripheral-id = <6>;

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

			flash0: flash@400000 {
				compatible = "soc-nv-flash";
				label = "FLASH_E70";

				write-block-size = <16>;
				erase-block-size = <8192>;
			};

		};

		wdt: watchdog@400e1850 {
			compatible = "atmel,sam-watchdog";
			reg = <0x400e1850 0xc>;
			interrupts = <4 0>;
			peripheral-id = <4>;
			label = "WATCHDOG_0";
			status = "disabled";
		};

		twihs0: i2c@40018000 {
			compatible = "atmel,sam-i2c-twihs";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40018000 0x12B>;
			interrupts = <19 0>;
			peripheral-id = <19>;
			label = "I2C_0";
			status = "disabled";
			pinctrl-0 = <&pa4a_twihs0_twck0 &pa3a_twihs0_twd0>;
		};

		twihs1: i2c@4001c000 {
			compatible = "atmel,sam-i2c-twihs";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x4001c000 0x12B>;
			interrupts = <20 0>;
			peripheral-id = <20>;
			label = "I2C_1";
			status = "disabled";
			pinctrl-0 = <&pb5a_twihs1_twck1 &pb4a_twihs1_twd1>;
		};

		twihs2: i2c@40060000 {
			compatible = "atmel,sam-i2c-twihs";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40060000 0x12B>;
			interrupts = <41 0>;
			peripheral-id = <41>;
			label = "I2C_2";
			status = "disabled";
			pinctrl-0 = <&pd28c_twihs2_twck2 &pd27c_twihs2_twd2>;
		};

		spi0: spi@40008000 {
			compatible = "atmel,sam-spi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40008000 0x4000>;
			interrupts = <21 0>;
			peripheral-id = <21>;
			label = "SPI_0";
			status = "disabled";
			pinctrl-0 = <&pd20b_spi0_miso &pd21b_spi0_mosi &pd22b_spi0_spck>;
		};

		spi1: spi@40058000 {
			compatible = "atmel,sam-spi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40058000 0x4000>;
			interrupts = <42 0>;
			peripheral-id = <42>;
			label = "SPI_1";
			status = "disabled";
			pinctrl-0 = <&pc26c_spi1_miso &pc27c_spi1_mosi &pc24c_spi1_spck>;
		};

		uart0: uart@400e0800 {
			compatible = "atmel,sam-uart";
			reg = <0x400e0800 0x100>;
			interrupts = <7 1>;
			peripheral-id = <7>;
			status = "disabled";
			label = "UART_0";
			pinctrl-0 = <&pa9a_uart0_urxd0 &pa10a_uart0_utxd0>;
		};

		uart1: uart@400e0a00 {
			compatible = "atmel,sam-uart";
			reg = <0x400e0a00 0x100>;
			interrupts = <8 1>;
			peripheral-id = <8>;
			status = "disabled";
			label = "UART_1";
		};

		uart2: uart@400e1a00 {
			compatible = "atmel,sam-uart";
			reg = <0x400e1a00 0x100>;
			interrupts = <44 1>;
			peripheral-id = <44>;
			status = "disabled";
			label = "UART_2";
		};

		uart3: uart@400e1c00 {
			compatible = "atmel,sam-uart";
			reg = <0x400e1c00 0x100>;
			interrupts = <45 1>;
			peripheral-id = <45>;
			status = "disabled";
			label = "UART_3";
		};

		uart4: uart@400e1e00 {
			compatible = "atmel,sam-uart";
			reg = <0x400e1e00 0x100>;
			interrupts = <46 1>;
			peripheral-id = <46>;
			status = "disabled";
			label = "UART_4";
		};

		usart0: usart@40024000 {
			compatible = "atmel,sam-usart";
			reg = <0x40024000 0x100>;
			interrupts = <13 0>;
			peripheral-id = <13>;
			status = "disabled";
			label = "USART_0";
			pinctrl-0 = <&pb0c_usart0_rxd0 &pb1c_usart0_txd0>;
		};

		usart1: usart@40028000 {
			compatible = "atmel,sam-usart";
			reg = <0x40028000 0x100>;
			interrupts = <14 0>;
			peripheral-id = <14>;
			status = "disabled";
			label = "USART_1";
			pinctrl-0 = <&pa21a_usart1_rxd1 &pb4d_usart1_txd1>;
		};

		usart2: usart@4002c000 {
			compatible = "atmel,sam-usart";
			reg = <0x4002c000 0x100>;
			interrupts = <15 0>;
			peripheral-id = <15>;
			status = "disabled";
			label = "USART_2";
			pinctrl-0 = <&pd15b_usart2_rxd2 &pd16b_usart2_txd2>;
		};

		afec0: adc@4003c000 {
			compatible = "atmel,sam-afec";
			reg = <0x4003c000 0x100>;
			interrupts = <29 0>;
			peripheral-id = <29>;
			status = "disabled";
			label = "ADC_0";
			#io-channel-cells = <1>;
			pinctrl-0 = <&pa8b_afec0_adtrg>;
		};

		afec1: adc@40064000 {
			compatible = "atmel,sam-afec";
			reg = <0x40064000 0x100>;
			interrupts = <40 0>;
			peripheral-id = <40>;
			status = "disabled";
			label = "ADC_1";
			#io-channel-cells = <1>;
			pinctrl-0 = <&pd9c_afec1_adtrg>;
		};

		dacc: dacc@40040000 {
			compatible = "atmel,sam-dac";
			reg = <0x40040000 0x100>;
			interrupts = <30 0>;
			peripheral-id = <30>;
			status = "disabled";
			label = "DACC";
			#io-channel-cells = <1>;
		};

		pinctrl@400e0e00 {
			compatible = "atmel,sam-pinctrl";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x400e0e00 0x400e0e00 0xa00>;

			pioa: gpio@400e0e00 {
				compatible = "atmel,sam-gpio";
				reg = <0x400e0e00 0x190>;
				interrupts = <10 1>;
				peripheral-id = <10>;
				label = "PORTA";
				gpio-controller;
				#gpio-cells = <2>;
				#atmel,pin-cells = <2>;
			};

			piob: gpio@400e1000 {
				compatible = "atmel,sam-gpio";
				reg = <0x400e1000 0x190>;
				interrupts = <11 1>;
				peripheral-id = <11>;
				label = "PORTB";
				gpio-controller;
				#gpio-cells = <2>;
				#atmel,pin-cells = <2>;
			};

			pioc: gpio@400e1200 {
				compatible = "atmel,sam-gpio";
				reg = <0x400e1200 0x190>;
				interrupts = <12 1>;
				peripheral-id = <12>;
				label = "PORTC";
				gpio-controller;
				#gpio-cells = <2>;
				#atmel,pin-cells = <2>;
			};

			piod: gpio@400e1400 {
				compatible = "atmel,sam-gpio";
				reg = <0x400e1400 0x190>;
				interrupts = <16 1>;
				peripheral-id = <16>;
				label = "PORTD";
				gpio-controller;
				#gpio-cells = <2>;
				#atmel,pin-cells = <2>;
			};

			pioe: gpio@400e1600 {
				compatible = "atmel,sam-gpio";
				reg = <0x400e1600 0x190>;
				interrupts = <17 1>;
				peripheral-id = <17>;
				label = "PORTE";
				gpio-controller;
				#gpio-cells = <2>;
				#atmel,pin-cells = <2>;
			};
		};

		pwm0: pwm0@40020000 {
			compatible = "atmel,sam-pwm";
			reg = <0x40020000 0x4000>;
			interrupts = <31 0>;
			peripheral-id = <31>;
			status = "disabled";
			label = "PWM_0";
			prescaler = <10>;
			divider = <1>;
			#pwm-cells = <2>;
		};

		pwm1: pwm1@4005c000 {
			compatible = "atmel,sam-pwm";
			reg = <0x4005c000 0x4000>;
			interrupts = <60 0>;
			peripheral-id = <60>;
			status = "disabled";
			label = "PWM_1";
			prescaler = <10>;
			divider = <1>;
			#pwm-cells = <2>;
		};

		usbhs: usbd@40038000 {
			compatible = "atmel,sam-usbhs";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40038000 0x4000>;
			interrupts = <34 0>;
			interrupt-names = "usbhs";
			maximum-speed = "full-speed";
			num-bidir-endpoints = <10>;
			peripheral-id = <34>;
			status = "disabled";
			label = "USBHS";
		};

		gmac: ethernet@40050000 {
			compatible = "atmel,sam-gmac";
			reg = <0x40050000 0x4000>;
			peripheral-id = <39>;
			interrupts = <39 0>, <66 0>, <67 0>;
			interrupt-names = "gmac", "q1", "q2";
			num-queues = <3>;
			local-mac-address = [00 00 00 00 00 00];
			label = "GMAC";
			status = "disabled";
			/* Default to RMII config */
			pinctrl-0 = <&pd0a_gmac_gtxck &pd1a_gmac_gtxen
				     &pd2a_gmac_gtx0 &pd3a_gmac_gtx1
				     &pd4a_gmac_grxdv &pd5a_gmac_grx0
				     &pd6a_gmac_grx1 &pd7a_gmac_grxer>;

			mdio: mdio {
				compatible = "atmel,sam-mdio";
				label = "MDIO";
				status = "disabled";
				pinctrl-0 = <&pd8a_gmac_gmdc &pd9a_gmac_gmdio>;
			};
		};

		tc0: tc@4000c000 {
			compatible = "atmel,sam-tc";
			reg = <0x4000c000 0x100>;
			interrupts = <23 0
				      24 0
				      25 0>;
			peripheral-id = <23 24 25>;
			status = "disabled";
			label = "TC0";
			pinctrl-0 = <>;
		};

		tc1: tc@40010000 {
			compatible = "atmel,sam-tc";
			reg = <0x40010000 0x100>;
			interrupts = <26 0
				      27 0
				      28 0>;
			peripheral-id = <26 27 28>;
			status = "disabled";
			label = "TC1";
			pinctrl-0 = <>;
		};

		tc2: tc@40014000 {
			compatible = "atmel,sam-tc";
			reg = <0x40014000 0x100>;
			interrupts = <47 0
				      48 0
				      49 0>;
			peripheral-id = <47 48 49>;
			status = "disabled";
			label = "TC2";
			pinctrl-0 = <>;
		};

		tc3: tc@40054000 {
			compatible = "atmel,sam-tc";
			reg = <0x40054000 0x100>;
			interrupts = <50 0
				      51 0
				      52 0>;
			peripheral-id = <50 51 52>;
			status = "disabled";
			label = "TC3";
			pinctrl-0 = <>;
		};

		trng: random@40070000 {
			compatible = "atmel,sam-trng";
			reg = <0x40070000 0x4000>;
			interrupts = <57 0>;
			peripheral-id = <57>;
			status = "okay";
			label = "TRNG";
		};

		xdmac: dma-controller@40078000 {
			compatible = "atmel,sam-xdmac";
			reg = <0x40078000 0x400>;
			interrupts = <58 0>;
			peripheral-id = <58>;
			label = "DMA_0";
			#dma-cells = <2>;
		};

		ssc: ssc@40004000 {
			compatible = "atmel,sam-ssc";
			reg = <0x40004000 0x400>;
			interrupts = <22 0>;
			peripheral-id = <22>;
			label = "SSC_0";
			status = "disabled";
		};
	};
};

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