/*
 * Copyright (C) 2014 Daniel Golle <daniel@makrotopia.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/dts-v1/;
#include "ox820.dtsi"

#include <dt-bindings/input/input.h>

/ {
	model = "Shuttle KD20";

	chosen {
		bootargs = "console=ttyS0,115200n8 earlyprintk=serial mem=256M";
	};

	pcie-controller@47C00000 {
		status = "okay";
	};

	uart@44200000 {
		status = "okay";
	};

	sata@45900000 {
		status = "okay";
		nr-ports = <2>;
	};

	ethernet@40400000 {
		status = "okay";
		snps,phy-addr = <1>;
		phy-mode = "rgmii-id";
	};

	ehci@40200100 {
		status = "okay";
	};

	i2c-gpio {
		compatible = "i2c-gpio";
		gpios = <&GPIOB 9 0 &GPIOB 10 0>;
		i2c-gpio,delay-us = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		pcf8563: rtc@51 {
			compatible = "nxp,pcf8563";
			reg = <0x51>;
		};
	};

	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		#address-cells = <1>;
		#size-cells = <0>;
		poll-interval = <100>;

		power {
			label = "power";
			gpios = <&GPIOA 10 1>;
			linux,code = <KEY_POWER>;
		};
		reset {
			label = "reset";
			gpios = <&GPIOA 11 1>;
			linux,code = <KEY_RESTART>;
		};
		eject1 {
			label = "eject1";
			gpios = <&GPIOA 5 1>;
			linux,code = <KEY_EJECTCD>;
		};
		eject2 {
			label = "eject2";
			gpios = <&GPIOA 6 1>;
			linux,code = <162>;
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		status {
			label = "kd20:blue:status";
			gpios = <&GPIOB 16 0>;
		};
		status2 {
			label = "kd20:red:status";
			gpios = <&GPIOB 17 0>;
		};
		hdd1blue {
			label = "kd20:blue:hdd1";
			gpios = <&GPIOA 27 0>;
			linux,default-trigger = "ata1";
		};
		hdd1red {
			label = "kd20:red:hdd1";
			gpios = <&GPIOB 4 0>;
		};
		hdd2blue {
			label = "kd20:blue:hdd2";
			gpios = <&GPIOB 6 0>;
			linux,default-trigger = "ata2";
		};
		hdd2red {
			label = "kd20:red:hdd2";
			gpios = <&GPIOB 7 0>;
		};
		usb {
			label = "kd20:blue:usb";
			gpios = <&GPIOB 8 0>;
		};
	};

	beeper: beeper {
		compatible = "gpio-beeper";
		gpios = <&GPIOB 11 0>;
	};

	gpio-fan {
		compatible = "gpio-fan";
		gpios = <&GPIOA 2 1>;
		gpio-fan,speed-map = <0    0
				      3000 1>;
	};

	gpio-poweroff {
		compatible = "gpio-poweroff";
		gpios = <&GPIOA 9 0>;
	};
};

&nandc {
	status = "okay";

	nand@0 {
		reg = <0>;
		#address-cells = <1>;
		#size-cells = <1>;
		nand-ecc-mode = "soft";
		nand-ecc-algo = "hamming";

		partition@0 {
			label = "stage1";
			reg = <0x00000000 0x00040000>;
			read-only;
		};

		partition@40000 {
			label = "u-boot";
			reg = <0x00040000 0x00200000>;
			read-only;
		};

		partition@240000 {
			label = "initrd";
			reg = <0x00240000 0x00600000>;
		};

		partition@840000 {
			label = "kernel";
			reg = <0x00840000 0x007C0000>;
		};

		partition@e00000 {
			label = "ubi";
			reg = <0x01000000 0x07000000>;
		};
	};
};
