/*
 * aks-cdu.dts - Device Tree file for AK signal CDU
 *
 * Copyright (C) 2012 AK signal Brno a.s.
 *               2012 Jiri Prchal <jiri.prchal@aksignal.cz>
 *
 * Licensed under GPLv2 or later.
 */

/dts-v1/;

#include "ge863-pro3.dtsi"

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

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

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

			usart1: serial@fffb4000 {
				status = "okay";
				linux,rs485-enabled-at-boot-time;
				rs485-rts-delay = <0 0>;
				};

			usart2: serial@fffb8000 {
				status = "okay";
				linux,rs485-enabled-at-boot-time;
				rs485-rts-delay = <0 0>;
			};

			usart3: serial@fffd0000 {
				status = "okay";
				linux,rs485-enabled-at-boot-time;
				rs485-rts-delay = <0 0>;
			};

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

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

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

		ebi: ebi@10000000 {
			nand_controller: nand-controller {
				nand: nand@3 {
					partitions {
						bootstrap@0 {
							label = "bootstrap";
							reg = <0x0 0x40000>;
						};

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

						ubootenv@c0000 {
							label = "ubootenv";
							reg = <0xc0000 0x40000>;
						};

						kernel@100000 {
							label = "kernel";
							reg = <0x100000 0x400000>;
						};

						rootfs@500000 {
							label = "rootfs";
							reg = <0x500000 0x7b00000>;
						};
					};
				};
			};
		};
	};

	leds {
		compatible = "gpio-leds";

		red {
			gpios = <&pioC 10 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "none";
		};

		green {
			gpios = <&pioA 5 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
			default-state = "on";
		};

		yellow {
			gpios = <&pioB 20 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
		};

		blue {
			gpios = <&pioB 21 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
		};
	};
};
