/*
 * sama5d35ek.dts - Device Tree file for SAMA5D35-EK board
 *
 *  Copyright (C) 2013 Atmel,
 *                2013 Ludovic Desroches <ludovic.desroches@atmel.com>
 *
 * Licensed under GPLv2 or later.
 */
/dts-v1/;
#include "sama5d35.dtsi"
#include "sama5d3xmb.dtsi"

/ {
	model = "Atmel SAMA5D35-EK";
	compatible = "atmel,sama5d35ek", "atmel,sama5d3xmb", "atmel,sama5d3xcm", "atmel,sama5d35", "atmel,sama5d3", "atmel,sama5";

	aliases {
		spi0 = &spi0;
	};

	ahb {
		apb {
			spi0: spi@f0004000 {
				status = "okay";
			};

			can0: can@f000c000 {
				status = "okay";
			};

			i2c1: i2c@f0018000 {
				status = "okay";
			};

			macb0: ethernet@f0028000 {
				status = "okay";
			};

			isi: isi@f0034000 {
				status = "okay";
			};

			macb1: ethernet@f802c000 {
				status = "okay";
			};
		};
	};

	gpio_keys {
		compatible = "gpio-keys";

		pb_user1 {
			label = "pb_user1";
			gpios = <&pioE 27 GPIO_ACTIVE_HIGH>;
			linux,code = <0x100>;
			wakeup-source;
		};
	};
};
