/*
 * at91sam9g20ek_2mmc.dts - Device Tree file for Atmel at91sam9g20ek 2 MMC board
 *
 * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
 *
 * Licensed under GPLv2.
 */
/dts-v1/;
/include/ "at91sam9g20ek_common.dtsi"

/ {
	model = "Atmel at91sam9g20ek 2 mmc";
	compatible = "atmel,at91sam9g20ek_2mmc", "atmel,at91sam9g20", "atmel,at91sam9";

	ahb {
		apb{
			mmc0: mmc@fffa8000 {
				/* clk already mux wuth slot0 */
				pinctrl-0 = <
					&pinctrl_board_mmc0_slot0
					&pinctrl_mmc0_slot0_cmd_dat0
					&pinctrl_mmc0_slot0_dat1_3>;
				slot@0 {
					reg = <0>;
					bus-width = <4>;
					cd-gpios = <&pioC 2 0>;
				};
			};

			pinctrl@fffff400 {
				mmc0_slot0 {
					pinctrl_board_mmc0_slot0: mmc0_slot0-board {
						atmel,pins =
							<2 2 0x0 0x5>;	/* PC2 gpio CD pin pull up and deglitch */
					};
				};
			};
		};
	};

	leds {
		compatible = "gpio-leds";

		ds1 {
			label = "ds1";
			gpios = <&pioB 9 0>;
			linux,default-trigger = "heartbeat";
		};

		ds5 {
			label = "ds5";
			gpios = <&pioB 8 1>;
		};
	};
};
