/*
 * at91-cosino_mega2560.dts - Device Tree file for Cosino board with
 *			      Mega 2560 extension
 *
 * Copyright (C) 2013 - Rodolfo Giometti <giometti@linux.it>
 *			HCE Engineering
 *
 * Derived from at91sam9g35ek.dts by:
 * 	Copyright (C) 2012 Atmel,
 *      2012 Nicolas Ferre <nicolas.ferre@atmel.com>
 *
 * Licensed under GPLv2 or later.
 */

/dts-v1/;
#include "at91-cosino.dtsi"

/ {
	model = "HCE Cosino Mega 2560";
	compatible = "hce,cosino_mega2560", "atmel,at91sam9x5", "atmel,at91sam9";

	ahb {
		apb {
			macb0: ethernet@f802c000 {
				phy-mode = "rmii";
				status = "okay";
			};

			adc0: adc@f804c000 {
				atmel,adc-ts-wires = <4>;
				atmel,adc-ts-pressure-threshold = <10000>;
				status = "okay";
			};

			rtc@fffffeb0 {
				status = "okay";
			};

			usart1: serial@f8020000 {
				status = "okay";
			};

			usart2: serial@f8024000 {
				status = "okay";
			};

			usb2: gadget@f803c000 {
				atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
				status = "okay";
			};

			mmc1: mmc@f000c000 {
				pinctrl-0 = <
					&pinctrl_mmc1_slot0_clk_cmd_dat0
					&pinctrl_mmc1_slot0_dat1_3>;
				status = "okay";
				slot@0 {
					reg = <0>;
					bus-width = <4>;
					non-removable;
				};
			};
		};

		usb0: ohci@600000 {
			status = "okay";
			num-ports = <3>;
			atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW */
					   &pioD 19 GPIO_ACTIVE_LOW
					   &pioD 20 GPIO_ACTIVE_LOW
					  >;
		};

		usb1: ehci@700000 {
			status = "okay";
		};
	};
};
