/*
 * Copyright (C) 2016 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 = "Akitio MyCloud mini";

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

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

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

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

	nand@41000000 {
		status = "okay";

	};

	ethernet@40400000 {
		status = "okay";
	};

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

	i2c-gpio {
		compatible = "i2c-gpio";
		gpios = <&GPIOB 9 0 &GPIOB 10 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_i2c>;
		i2c-gpio,delay-us = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		ds1307: rtc@68 {
			compatible = "dallas,ds1307";
			reg = <0x68>;
		};
	};

	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_buttons>;
		#address-cells = <1>;
		#size-cells = <0>;
		poll-interval = <100>;
		power {
			label = "power";
			gpios = <&GPIOA 11 1>;
			linux,code = <KEY_POWER>;
		};
		reset {
			label = "reset";
			gpios = <&GPIOB 6 1>;
			linux,code = <KEY_RESTART>;
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_leds>;
		status {
			label = "akitio:red:status";
			gpios = <&GPIOA 29 0>;
		};
	};

	gpio-poweroff {
		compatible = "gpio-poweroff";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_poweroff>;
		gpios = <&GPIOB 13 2>;
	};

	pinctrl {
		i2c {
			pinctrl_i2c: i2c-0 {
				plxtech,pins =
					<1  9 0 4	/* MF_B9 GPIO debounce */
					 1 10 0 4>;	/* MF_B10 GPIO debounce */
			};
		};
		buttons {
			pinctrl_buttons: buttons-0 {
				plxtech,pins =
					<0 11 0 0	/* MF_A11 GPIO */
					 1  6 0 0>;	/* MF_B6 GPIO */
			};
		};
		leds {
			pinctrl_leds: leds-0 {
				plxtech,pins =
					<0 29 0 0>;	/* MF_A29 GPIO */
			};
		};
		poweroff {
			pinctrl_poweroff: poweroff-0 {
				plxtech,pins =
					<1 13 0 0>;	/* MF_B13 GPIO */
			};
		};
	};
};

&nandc {
	status = "okay";

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

		partition@0 {
			label = "boot";
			reg = <0x00000000 0x026c0000>;
		};

		partition@26c0000 {
			label = "ubi";
			reg = <0x026c0000 0x0d940000>;
		};
	};
};
