/dts-v1/;

#include "ox820.dtsi"

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

/ {
	model = "MitraStar Technology Corp. STG-212";

	compatible = "mitrastar,stg-212", "oxsemi,ox820";

	chosen {
		bootargs = "earlyprintk console=ttyS0,115200";
		stdout-path = "serial0:115200n8";
	};

	memory {
		/* 128Mbytes DDR */
		reg = <0x60000000 0x8000000>;
	};

	aliases {
		serial0 = &uart0;
		gpio0 = &gpio0;
		gpio1 = &gpio1;
		led-boot = &led_status;
		led-failsafe = &led_warn;
		led-running = &led_status;
		led-upgrade = &led_warn;
	};

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

		reset {
			label = "reset";
			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
		};
		copy {
			label = "copy";
			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_COPY>;
		};
	};

	leds {
		compatible = "gpio-leds";
		led_status: status {
			label = "zyxel:blue:status";
			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
		};
		led_warn: status2 {
			label = "zyxel:red:status";
			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
		};
		copy {
			label = "zyxel:orange:copy";
			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
			trigger-sources = <&ehci_port1>, <&ehci_port2>;
			linux,default-trigger = "usbport";
		};
	};

	i2c-gpio {
		compatible = "i2c-gpio";
		gpios = <&gpio1  9 GPIO_ACTIVE_HIGH
		         &gpio1 10 GPIO_ACTIVE_HIGH>;
		i2c-gpio,delay-us = <10>;
	};
};

&uart0 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart0>;
};

&nandc {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_nand>;

	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 0x00380000>;
			read-only;
		};

		partition@3c0000 {
			label = "u-boot-env";
			reg = <0x003c0000 0x00080000>;
		};

		partition@440000 {
			label = "kernel";
			reg = <0x00440000 0x009c0000>;
		};

		partition@e00000 {
			label = "ubi";
			reg = <0x00e00000 0x07200000>;
		};
	};
};

&etha {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_etha_mdio>;
};

&ehci {
	status = "okay";
};

&sata {
	status = "okay";
};
