/*
 * Copyright (c) 2019 Benjamin Valentin
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <atmel/samd2x.dtsi>

#include "samr2x-pinctrl.dtsi"

/ {
	aliases {
		port-c = &portc;
	};

	soc {
		usb0: usb@41005000 {
			compatible = "atmel,sam0-usb";
			status = "disabled";
			reg = <0x41005000 0x1000>;
			interrupts = <7 0>;
			num-bidir-endpoints = <8>;
			label = "USB0";
		};

		dmac: dmac@41004800 {
			compatible = "atmel,sam0-dmac";
			reg = <0x41004800 0x50>;
			interrupts = <6 0>;
			label = "DMA_0";
			#dma-cells = <2>;
		};

		pinctrl@41004400 {
			ranges = <0x41004400 0x41004400 0x180>;

			portc: gpio@41004500 {
				compatible = "atmel,sam0-gpio";
				reg = <0x41004500 0x80>;
				label = "PORTC";
				gpio-controller;
				#gpio-cells = <2>;
				#atmel,pin-cells = <2>;
			};
		};

		pinmux_c: pinmux@41004500 {
			compatible = "atmel,sam0-pinmux";
			reg = <0x41004500 0x80>;
		};

		tcc0: tcc@42002000 {
			compatible = "atmel,sam0-tcc";
			reg = <0x42002000 0x80>;
			interrupts = <15 0>;
			label = "TCC_0";
			clocks = <&gclk 26>, <&pm 0x20 8>;
			clock-names = "GCLK", "PM";

			channels = <4>;
			counter-size = <24>;
		};

		tcc1: tcc@42002400 {
			compatible = "atmel,sam0-tcc";
			reg = <0x42002400 0x80>;
			interrupts = <16 0>;
			label = "TCC_1";
			clocks = <&gclk 26>, <&pm 0x20 9>;
			clock-names = "GCLK", "PM";

			channels = <2>;
			counter-size = <24>;
		};

		tcc2: tcc@42002800 {
			compatible = "atmel,sam0-tcc";
			reg = <0x42002800 0x80>;
			interrupts = <17 0>;
			label = "TCC_2";
			clocks = <&gclk 27>, <&pm 0x20 10>;
			clock-names = "GCLK", "PM";

			channels = <2>;
			counter-size = <16>;
		};
	};
};

&sercom0 {
	interrupts = <9 0>;
	clocks = <&gclk 0x14>, <&pm 0x20 2>;
	clock-names = "GCLK", "PM";
};

&sercom1 {
	interrupts = <10 0>;
	clocks = <&gclk 0x15>, <&pm 0x20 3>;
	clock-names = "GCLK", "PM";
};

&sercom2 {
	interrupts = <11 0>;
	clocks = <&gclk 0x16>, <&pm 0x20 4>;
	clock-names = "GCLK", "PM";
};

&sercom3 {
	interrupts = <12 0>;
	clocks = <&gclk 0x17>, <&pm 0x20 5>;
	clock-names = "GCLK", "PM";
};

&sercom4 {
	interrupts = <13 0>;
	clocks = <&gclk 0x18>, <&pm 0x20 6>;
	clock-names = "GCLK", "PM";
};

&sercom5 {
	interrupts = <14 0>;
	clocks = <&gclk 0x19>, <&pm 0x20 7>;
	clock-names = "GCLK", "PM";
};

&tc4 {
	interrupts = <19 0>;
	clocks = <&gclk 0x1c>, <&pm 0x20 12>;
	clock-names = "GCLK", "PM";
};

&adc {
	clocks = <&gclk 0x1e>, <&pm 0x20 16>;
	clock-names = "GCLK", "PM";
	interrupts = <23 0>;
	interrupt-names = "resrdy";
};
