/*
 * Copyright (c) 2018 Sean Nyekjaer
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <atmel/samd2x.dtsi>

/ {
	aliases {
		tc-0 = &tc0;
		tc-2 = &tc2;
		tc-6 = &tc6;
	};

	soc {
		tc0: tc@42002000 {
			compatible = "atmel,sam0-tc32";
			reg = <0x42002000 0x20>;
			interrupts = <13 0>;
			label = "TIMER_0";
			clocks = <&gclk 0x13>, <&pm 0x20 8>;
			clock-names = "GCLK", "PM";
		};

		tc2: tc@42002800 {
			compatible = "atmel,sam0-tc32";
			reg = <0x42002800 0x20>;
			interrupts = <15 0>;
			label = "TIMER_2";
			clocks = <&gclk 0x14>, <&pm 0x20 10>;
			clock-names = "GCLK", "PM";
		};

		tc6: tc@42003800 {
			compatible = "atmel,sam0-tc32";
			reg = <0x42003800 0x20>;
			interrupts = <19 0>;
			label = "TIMER_6";
			clocks = <&gclk 0x16>, <&pm 0x20 14>;
			clock-names = "GCLK", "PM";
		};
	};
};

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

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

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

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

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

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

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

&adc {
	interrupts = <21 0>;
	clocks = <&gclk 0x17>, <&pm 0x20 16>;
	clock-names = "GCLK", "PM";
};
