/*
 * at91sam9263ek.dts - Device Tree file for Atmel at91sam9263 reference board
 *
 *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
 *
 * Licensed under GPLv2 only
 */
/dts-v1/;
/include/ "at91sam9263.dtsi"

/ {
	model = "Atmel at91sam9263ek";
	compatible = "atmel,at91sam9263ek", "atmel,at91sam9263", "atmel,at91sam9";

	chosen {
		bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
	};

	memory {
		reg = <0x20000000 0x4000000>;
	};

	clocks {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		main_clock: clock@0 {
			compatible = "atmel,osc", "fixed-clock";
			clock-frequency = <16367660>;
		};
	};

	ahb {
		apb {
			dbgu: serial@ffffee00 {
				status = "okay";
			};

			usart0: serial@fff8c000 {
				pinctrl-0 = <
					&pinctrl_usart0
					&pinctrl_usart0_rts
					&pinctrl_usart0_cts>;
				status = "okay";
			};

			macb0: ethernet@fffbc000 {
				phy-mode = "rmii";
				status = "okay";
			};

			usb1: gadget@fff78000 {
				atmel,vbus-gpio = <&pioA 25 0>;
				status = "okay";
			};

			mmc0: mmc@fff80000 {
				pinctrl-0 = <
					&pinctrl_board_mmc0
					&pinctrl_mmc0_clk
					&pinctrl_mmc0_slot0_cmd_dat0
					&pinctrl_mmc0_slot0_dat1_3>;
				status = "okay";
				slot@0 {
					reg = <0>;
					bus-width = <4>;
					cd-gpios = <&pioE 18 0>;
					wp-gpios = <&pioE 19 0>;
				};
			};

			pinctrl@fffff200 {
				mmc0 {
					pinctrl_board_mmc0: mmc0-board {
						atmel,pins =
							<5 18 0x0 0x5	/* PE18 gpio CD pin pull up and deglitch */
							 5 19 0x0 0x1>;	/* PE19 gpio WP pin pull up */
					};
				};
			};

			spi0: spi@fffa4000 {
				status = "okay";
				cs-gpios = <&pioA 5 0>, <0>, <0>, <0>;
				mtd_dataflash@0 {
					compatible = "atmel,at45", "atmel,dataflash";
					spi-max-frequency = <50000000>;
					reg = <0>;
				};
			};
		};

		nand0: nand@40000000 {
			nand-bus-width = <8>;
			nand-ecc-mode = "soft";
			nand-on-flash-bbt = <1>;
			status = "okay";

			at91bootstrap@0 {
				label = "at91bootstrap";
				reg = <0x0 0x20000>;
			};

			barebox@20000 {
				label = "barebox";
				reg = <0x20000 0x40000>;
			};

			bareboxenv@60000 {
				label = "bareboxenv";
				reg = <0x60000 0x20000>;
			};

			bareboxenv2@80000 {
				label = "bareboxenv2";
				reg = <0x80000 0x20000>;
			};

			oftree@80000 {
				label = "oftree";
				reg = <0xa0000 0x20000>;
			};

			kernel@a0000 {
				label = "kernel";
				reg = <0xc0000 0x400000>;
			};

			rootfs@4a0000 {
				label = "rootfs";
				reg = <0x4c0000 0x7800000>;
			};

			data@7ca0000 {
				label = "data";
				reg = <0x7cc0000 0x8340000>;
			};
		};

		usb0: ohci@00a00000 {
			num-ports = <2>;
			status = "okay";
			atmel,vbus-gpio = <&pioA 24 0
					   &pioA 21 0
					  >;
		};
	};

	leds {
		compatible = "gpio-leds";

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

		d2 {
			label = "d2";
			gpios = <&pioC 29 1>;
			linux,default-trigger = "nand-disk";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";

		left_click {
			label = "left_click";
			gpios = <&pioC 5 1>;
			linux,code = <272>;
			gpio-key,wakeup;
		};

		right_click {
			label = "right_click";
			gpios = <&pioC 4 1>;
			linux,code = <273>;
			gpio-key,wakeup;
		};
	};

	i2c@0 {
		status = "okay";

		24c512@50 {
			compatible = "24c512";
			reg = <0x50>;
			pagesize = <128>;
		};
	};
};