/*
 * kizbox.dts - Device Tree file for Overkiz Kizbox board
 *
 * Copyright (C) 2012 Boris BREZILLON <linux-arm@overkiz.com>
 *
 * Licensed under GPLv2.
 */
/dts-v1/;
#include "at91sam9g20.dtsi"

/ {

	model = "Overkiz kizbox";
	compatible = "overkiz,kizbox", "atmel,at91sam9g20", "atmel,at91sam9";

	chosen {
		bootargs = "panic=5 ubi.mtd=1 rootfstype=ubifs root=ubi0:root";
	};

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

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

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

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

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

			usart0: serial@fffb0000 {
				status = "okay";
			};

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

			macb0: ethernet@fffc4000 {
				phy-mode = "mii";
				pinctrl-0 = <&pinctrl_macb_rmii
				             &pinctrl_macb_rmii_mii_alt>;
				status = "okay";
			};

			watchdog@fffffd40 {
				timeout-sec = <15>;
				atmel,max-heartbeat-sec = <16>;
				atmel,min-heartbeat-sec = <0>;
				status = "okay";
			};
		};

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

			bootloaderkernel@0 {
				label = "bootloader-kernel";
				reg = <0x0 0xc0000>;
			};

			ubi@c0000 {
				label = "ubi";
				reg = <0xc0000 0x7f40000>;
			};

		};

		usb0: ohci@00500000 {
			num-ports = <1>;
			status = "okay";
		};
	};

	i2c@0 {
		status = "okay";

		pcf8563@51 {
			/* nxp pcf8563 rtc */
			compatible = "nxp,pcf8563";
			reg = <0x51>;
		};

	};

	leds {
		compatible = "gpio-leds";

		led1g {
			label = "led1:green";
			gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
		};

		led1r {
			label = "led1:red";
			gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
		};

		led2g {
			label = "led2:green";
			gpios = <&pioB 2 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
			default-state = "on";
		};

		led2r {
			label = "led2:red";
			gpios = <&pioB 3 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;

		reset {
			label = "reset";
			gpios = <&pioB 30 GPIO_ACTIVE_LOW>;
			linux,code = <0x100>;
			gpio-key,wakeup;
		};

		mode {
			label = "mode";
			gpios = <&pioB 31 GPIO_ACTIVE_LOW>;
			linux,code = <0x101>;
			gpio-key,wakeup;
		};
	};
};
