/dts-v1/;

#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"

/ {
	model = "Seagate GoFlex Net";
	compatible = "seagate,goflexnet", "marvell,kirkwood-88f6281", "marvell,kirkwood";

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

	chosen {
		bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/sda1 rootdelay=10";
	};

	ocp@f1000000 {
		pinctrl: pinctrl@10000 {
			pmx_usb_power_enable: pmx-usb-power-enable {
				marvell,pins = "mpp29";
				marvell,function = "gpio";
			};
			pmx_led_right_cap_0: pmx-led_right_cap_0 {
				marvell,pins = "mpp38";
				marvell,function = "gpio";
			};
			pmx_led_right_cap_1: pmx-led_right_cap_1 {
				marvell,pins = "mpp39";
				marvell,function = "gpio";
			};
			pmx_led_right_cap_2: pmx-led_right_cap_2 {
				marvell,pins = "mpp40";
				marvell,function = "gpio";
			};
			pmx_led_right_cap_3: pmx-led_right_cap_3 {
				marvell,pins = "mpp41";
				marvell,function = "gpio";
			};
			pmx_led_left_cap_0: pmx-led_left_cap_0 {
				marvell,pins = "mpp42";
				marvell,function = "gpio";
			};
			pmx_led_left_cap_1: pmx-led_left_cap_1 {
				marvell,pins = "mpp43";
				marvell,function = "gpio";
			};
			pmx_led_left_cap_2: pmx-led_left_cap_2 {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};
			pmx_led_left_cap_3: pmx-led_left_cap_3 {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};
			pmx_led_green: pmx-led_green {
				marvell,pins = "mpp46";
				marvell,function = "gpio";
			};
			pmx_led_orange: pmx-led_orange {
				marvell,pins = "mpp47";
				marvell,function = "gpio";
			};
		};
		serial@12000 {
			status = "ok";
		};

		nand@3000000 {
			chip-delay = <40>;
			status = "okay";

			partition@0 {
				label = "u-boot";
				reg = <0x0000000 0x100000>;
				read-only;
			};

			partition@100000 {
				label = "uImage";
				reg = <0x0100000 0x400000>;
			};

			partition@500000 {
				label = "pogoplug";
				reg = <0x0500000 0x2000000>;
			};

			partition@2500000 {
				label = "root";
				reg = <0x02500000 0xd800000>;
			};
		};
		sata@80000 {
			status = "okay";
			nr-ports = <2>;
		};

	};
	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = < &pmx_led_orange
			      &pmx_led_left_cap_0 &pmx_led_left_cap_1
			      &pmx_led_left_cap_2 &pmx_led_left_cap_3
			      &pmx_led_right_cap_0 &pmx_led_right_cap_1
			      &pmx_led_right_cap_2 &pmx_led_right_cap_3
			    >;
		pinctrl-names = "default";

		health {
			label = "status:green:health";
			gpios = <&gpio1 14 1>;
			linux,default-trigger = "default-on";
		};
		fault {
			label = "status:orange:fault";
			gpios = <&gpio1 15 1>;
		};
		left0 {
			label = "status:white:left0";
			gpios = <&gpio1 10 0>;
		};
		left1 {
			label = "status:white:left1";
			gpios = <&gpio1 11 0>;
		};
		left2 {
			label = "status:white:left2";
			gpios = <&gpio1 12 0>;
		};
		left3 {
			label = "status:white:left3";
			gpios = <&gpio1 13 0>;
		};
		right0 {
			label = "status:white:right0";
			gpios = <&gpio1 6 0>;
		};
		right1 {
			label = "status:white:right1";
			gpios = <&gpio1 7 0>;
		};
		right2 {
			label = "status:white:right2";
			gpios = <&gpio1 8 0>;
		};
		right3 {
			label = "status:white:right3";
			gpios = <&gpio1 9 0>;
		};
	};
	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_usb_power_enable>;
		pinctrl-names = "default";

		usb_power: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "USB Power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			gpio = <&gpio0 29 0>;
		};
	};
};

&mdio {
	status = "okay";

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

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