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

	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>;
			gpio-key,wakeup;
		};
	};
};
