/*
 * ethernut5.dts - Device Tree file for Ethernut 5 board
 *
 * Copyright (C) 2012 egnite GmbH <info@egnite.de>
 *
 * Licensed under GPLv2.
 */
/dts-v1/;
#include "at91sam9xe.dtsi"

/ {
	model = "Ethernut 5";
	compatible = "egnite,ethernut5", "atmel,at91sam9260", "atmel,at91sam9";

	chosen {
		bootargs = "console=ttyS0,115200 root=/dev/mtdblock0 rw rootfstype=jffs2";
	};

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

	clocks {
		slow_xtal {
			clock-frequency = <32768>;
		};

		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 = "rmii";
				status = "okay";
			};

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

		ebi: ebi@10000000 {
			status = "okay";

			nand_controller: nand-controller {
				status = "okay";
				pinctrl-0 = <&pinctrl_nand_cs>;
				pinctrl-names = "default";

				nand: nand@3 {
					reg = <0x3 0x0 0x800000>;
					cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
					nand-bus-width = <8>;
					nand-ecc-mode = "soft";
					nand-on-flash-bbt;
					label = "atmel_nand";

					partitions {
						compatible = "fixed-partitions";
						#address-cells = <1>;
						#size-cells = <1>;

						root@0 {
							label = "root";
							reg = <0x0 0x08000000>;
						};

						data@20000 {
							label = "data";
							reg = <0x08000000 0x38000000>;
						};
					};
				};
			};
		};

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

	i2c-gpio-0 {
		status = "okay";

		pcf8563@50 {
			compatible = "nxp,pcf8563";
			reg = <0x51>;
		};
	};
};
