/*
 * at91sam9261ek.dts - Device Tree file for Atmel at91sam9261 reference board
 *
 *  Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com>
 *
 * Licensed under GPLv2 only.
 */
/dts-v1/;
#include "at91sam9261.dtsi"

/ {
	model = "Atmel at91sam9261ek";
	compatible = "atmel,at91sam9261ek", "atmel,at91sam9261", "atmel,at91sam9";

	chosen {
		bootargs = "console=ttyS0,115200 rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs rw";
	};

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

	main_xtal {
		clock-frequency = <18432000>;
	};

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

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

	ahb {
		usb0: ohci@00500000 {
			status = "okay";
		};

		fb0: fb@0x00600000 {
			display = <&display0>;
			atmel,power-control-gpio = <&pioA 12 GPIO_ACTIVE_LOW>;
			status = "okay";

			display0: display {
				bits-per-pixel = <16>;
				atmel,lcdcon-backlight;
				atmel,dmacon = <0x1>;
				atmel,lcdcon2 = <0x80008002>;
				atmel,guard-time = <1>;
				atmel,lcd-wiring-mode = "BRG";

				display-timings {
					native-mode = <&timing0>;
					timing0: timing0 {
						clock-frequency = <4965000>;
						hactive = <240>;
						vactive = <320>;
						hback-porch = <1>;
						hfront-porch = <33>;
						vback-porch = <1>;
						vfront-porch = <0>;
						hsync-len = <5>;
						vsync-len = <1>;
						hsync-active = <1>;
						vsync-active = <1>;
					};
				};
			};
		};

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

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

			bootloader@40000 {
				label = "bootloader";
				reg = <0x40000 0x80000>;
			};

			bootloaderenv@c0000 {
				label = "bootloader env";
				reg = <0xc0000 0xc0000>;
			};

			dtb@180000 {
				label = "device tree";
				reg = <0x180000 0x80000>;
			};

			kernel@200000 {
				label = "kernel";
				reg = <0x200000 0x600000>;
			};

			rootfs@800000 {
				label = "rootfs";
				reg = <0x800000 0x0f800000>;
			};
		};

		apb {
			usb1: gadget@fffa4000 {
				atmel,vbus-gpio = <&pioB 29 GPIO_ACTIVE_HIGH>;
				status = "okay";
			};

			spi0: spi@fffc8000 {
				cs-gpios = <&pioA 3 0>, <0>, <&pioA 28 0>, <0>;
				status = "okay";

				mtd_dataflash@0 {
					compatible = "atmel,at45", "atmel,dataflash";
					reg = <0>;
					spi-max-frequency = <15000000>;
				};

				tsc2046@0 {
					reg = <2>;
					compatible = "ti,ads7843";
					interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
					spi-max-frequency = <3000000>;
					pendown-gpio = <&pioC 2 GPIO_ACTIVE_HIGH>;

					ti,x-min = /bits/ 16 <150>;
					ti,x-max = /bits/ 16 <3830>;
					ti,y-min = /bits/ 16 <190>;
					ti,y-max = /bits/ 16 <3830>;
					ti,vref-delay-usecs = /bits/ 16 <450>;
					ti,x-plate-ohms = /bits/ 16 <450>;
					ti,y-plate-ohms = /bits/ 16 <250>;
					ti,pressure-max = /bits/ 16 <15000>;
					ti,debounce-rep = /bits/ 16 <0>;
					ti,debounce-tol = /bits/ 16 <65535>;
					ti,debounce-max = /bits/ 16 <1>;

					linux,wakeup;
				};
			};

			dbgu: serial@fffff200 {
				status = "okay";
			};

			watchdog@fffffd40 {
				status = "okay";
			};

		};
	};

	leds {
		compatible = "gpio-leds";

		ds8 {
			label = "ds8";
			gpios = <&pioA 13 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
		};

		ds7 {
			label = "ds7";
			gpios = <&pioA 14 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "nand-disk";
		};

		ds1 {
			label = "ds1";
			gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";

		button_0 {
			label = "button_0";
			gpios = <&pioA 27 GPIO_ACTIVE_LOW>;
			linux,code = <256>;
			gpio-key,wakeup;
		};

		button_1 {
			label = "button_1";
			gpios = <&pioA 26 GPIO_ACTIVE_LOW>;
			linux,code = <257>;
			gpio-key,wakeup;
		};

		button_2 {
			label = "button_2";
			gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
			linux,code = <258>;
			gpio-key,wakeup;
		};

		button_3 {
			label = "button_3";
			gpios = <&pioA 24 GPIO_ACTIVE_LOW>;
			linux,code = <259>;
			gpio-key,wakeup;
		};
	};
};
