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

/ {
	model = "Atmel SAMA5D34-EK";
	compatible = "atmel,sama5d34ek", "atmel,sama5d3xmb", "atmel,sama5d3xcm", "atmel,sama5d34", "atmel,sama5d3", "atmel,sama5";

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

			ssc0: ssc@f0008000 {
				status = "okay";
			};

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

			i2c0: i2c@f0014000 {
				status = "okay";
			};

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

				24c256@50 {
					compatible = "24c256";
					reg = <0x50>;
					pagesize = <64>;
				};
			};

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

	leds {
		d3 {
			label = "d3";
			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
		};
	};

	sound {
		status = "okay";
	};
};
