/*
 * sama5d3_tcb1.dtsi - Device Tree Include file for SAMA5D3 SoC with
 * 2 TC blocks.
 *
 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
 *
 * Licensed under GPLv2.
 */

#include <dt-bindings/pinctrl/at91.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/at91.h>

/ {
	aliases {
		tcb1 = &tcb1;
	};

	ahb {
		apb {
			pmc: pmc@fffffc00 {
				periphck {
					tcb1_clk: tcb1_clk {
						#clock-cells = <0>;
						reg = <27>;
					};
				};
			};

			tcb1: timer@f8014000 {
				compatible = "atmel,at91sam9x5-tcb";
				reg = <0xf8014000 0x100>;
				interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
				clocks = <&tcb1_clk>, <&clk32k>;
				clock-names = "t0_clk", "slow_clk";
			};
		};
	};
};
