/*
 * at91sam9g35.dtsi - Device Tree Include file for AT91SAM9G35 SoC
 *
 * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
 *
 * Licensed under GPLv2.
 */

/include/ "at91sam9x5.dtsi"

/ {
	model = "Atmel AT91SAM9G35 SoC";
	compatible = "atmel,at91sam9g35", "atmel,at91sam9x5";

	ahb {
		apb {
			pinctrl@fffff400 {
				atmel,mux-mask = <
				      /*    A         B          C     */
				       0xffffffff 0xffe0399f 0xc000000c  /* pioA */
				       0x000406ff 0x00047e3f 0x00000000  /* pioB */
				       0xfdffffff 0x00000000 0xb83fffff  /* pioC */
				       0x003fffff 0x003f8000 0x00000000  /* pioD */
				      >;
			};
		};
	};
};
