/*
 * 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";
		};
	};
};

&dac0 {
	interrupts = <23 0>;
	clocks = <&gclk 26>, <&pm 0x20 18>;
	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>;
	interrupt-names = "resrdy";
	clocks = <&gclk 0x17>, <&pm 0x20 16>;
	clock-names = "GCLK", "PM";
};
