/dts-v1/;

#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"

/ {
	model = "Plat'Home OpenBlocksA6";
	compatible = "plathome,openblocks-a6", "marvell,kirkwood-88f6283", "marvell,kirkwood";

	memory {
		device_type = "memory";
		reg = <0x00000000 0x20000000>;
	};

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

	ocp@f1000000 {
		serial@12000 {
			status = "ok";
			pinctrl-0 = <&pmx_uart0>;
			pinctrl-names = "default";
		};

		serial@12100 {
			status = "ok";
			pinctrl-0 = <&pmx_uart1>;
			pinctrl-names = "default";
		};

		sata@80000 {
			nr-ports = <1>;
			status = "okay";
		};

		i2c@11100 {
			status = "okay";
			pinctrl-0 = <&pmx_twsi1>;
			pinctrl-names = "default";

			s35390a: s35390a@30 {
				compatible = "sii,s35390a";
				reg = <0x30>;
			};
		};

		pinctrl: pinctrl@10000 {
			pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header>;
			pinctrl-names = "default";

			pmx_uart0: pmx-uart0 {
				marvell,pins = "mpp10", "mpp11", "mpp15",
					"mpp16";
				marvell,function = "uart0";
			};

			pmx_uart1: pmx-uart1 {
				marvell,pins = "mpp13", "mpp14", "mpp8",
					"mpp9";
				marvell,function = "uart1";
			};

			pmx_sysrst: pmx-sysrst {
				marvell,pins = "mpp6";
				marvell,function = "sysrst";
			};

			pmx_dip_switches: pmx-dip-switches {
				marvell,pins = "mpp20", "mpp21", "mpp22", "mpp23";
				marvell,function = "gpio";
			};

			pmx_gpio_header: pmx-gpio-header {
				marvell,pins = "mpp24", "mpp25", "mpp26", "mpp27",
					       "mpp28", "mpp29", "mpp30", "mpp31";
				marvell,function = "gpio";
			};

			pmx_gpio_init: pmx-init {
				marvell,pins = "mpp38";
				marvell,function = "gpio";
			};

			pmx_usb_oc: pmx-usb-oc {
				marvell,pins = "mpp39";
				marvell,function = "gpio";
			};

			pmx_leds: pmx-leds {
				marvell,pins = "mpp41", "mpp42", "mpp43";
				marvell,function = "gpio";
			};
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_leds>;
		pinctrl-names = "default";

		led-red {
			label = "obsa6:red:stat";
			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
		};

		led-green {
			label = "obsa6:green:stat";
			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
		};

		led-yellow {
			label = "obsa6:yellow:stat";
			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
		};
        };

	gpio_keys {
		compatible = "gpio-keys";
		pinctrl-0 = <&pmx_gpio_init>;
		pinctrl-names = "default";
		#address-cells = <1>;
		#size-cells = <0>;

		button@1 {
			label = "Init Button";
			linux,code = <KEY_POWER>;
			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
		};
	};
};

&nand {
	chip-delay = <25>;
	status = "okay";
	pinctrl-0 = <&pmx_nand>;
	pinctrl-names = "default";

	partition@0 {
		label = "uboot";
		reg = <0x0 0x90000>;
	};

	partition@90000 {
		label = "env";
		reg = <0x90000 0x44000>;
	};

	partition@d4000 {
		label = "test";
		reg = <0xd4000 0x24000>;
	};

	partition@f4000 {
		label = "conf";
		reg = <0xf4000 0x400000>;
	};

	partition@4f4000 {
		label = "linux";
		reg = <0x4f4000 0x1d20000>;
	};

	partition@2214000 {
		label = "user";
		reg = <0x2214000 0x1dec000>;
	};
};

&mdio {
	status = "okay";

	ethphy0: ethernet-phy@0 {
		reg = <0>;
	};
};

&eth0 {
	status = "okay";
	ethernet0-port@0 {
		phy-handle = <&ethphy0>;
	};
};
