/dts-v1/;

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

/ {
	model = "Iomega Iconnect";
	compatible = "iom,iconnect-1.1", "iom,iconnect", "marvell,kirkwood-88f6281", "marvell,kirkwood";

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

	chosen {
		bootargs = "console=ttyS0,115200n8 earlyprintk";
		linux,initrd-start = <0x4500040>;
		linux,initrd-end   = <0x4800000>;
	};

	mbus {
		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>;
		pcie-controller {
			status = "okay";

			pcie@1,0 {
				status = "okay";
			};
		};
	};

	ocp@f1000000 {
		pinctrl: pinctrl@10000 {
			pmx_button_reset: pmx-button-reset {
				marvell,pins = "mpp12";
				marvell,function = "gpio";
			};
			pmx_button_otb: pmx-button-otb {
				marvell,pins = "mpp35";
				marvell,function = "gpio";
			};
			pmx_led_level: pmx-led-level {
				marvell,pins = "mpp41";
				marvell,function = "gpio";
			};
			pmx_led_power_blue: pmx-led-power-blue {
				marvell,pins = "mpp42";
				marvell,function = "gpio";
			};
			pmx_led_power_red: pmx-power-red {
				marvell,pins = "mpp43";
				marvell,function = "gpio";
			};
			pmx_led_usb1: pmx-led-usb1 {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};
			pmx_led_usb2: pmx-led-usb2 {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};
			pmx_led_usb3: pmx-led-usb3 {
				marvell,pins = "mpp46";
				marvell,function = "gpio";
			};
			pmx_led_usb4: pmx-led-usb4 {
				marvell,pins = "mpp47";
				marvell,function = "gpio";
			};
			pmx_led_otb: pmx-led-otb {
				marvell,pins = "mpp48";
				marvell,function = "gpio";
			};
		};
		i2c@11000 {
			status = "okay";

			lm63: lm63@4c {
				compatible = "national,lm63";
				reg = <0x4c>;
			};
		};
		serial@12000 {
			status = "ok";
		};

		nand@3000000 {
			status = "okay";

			partition@0 {
				label = "uboot";
				reg = <0x0000000 0xc0000>;
			};

			partition@a0000 {
				label = "env";
				reg = <0xa0000 0x20000>;
			};

			partition@100000 {
				label = "zImage";
				reg = <0x100000 0x300000>;
			};

			partition@540000 {
				label = "initrd";
				reg = <0x540000 0x300000>;
			};

			partition@980000 {
				label = "boot";
				reg = <0x980000 0x1f400000>;
			};
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = < &pmx_led_level &pmx_led_power_blue
			      &pmx_led_power_red &pmx_led_usb1
			      &pmx_led_usb2 &pmx_led_usb3
			      &pmx_led_usb4 &pmx_led_otb >;
		pinctrl-names = "default";

		led-level {
			label = "led_level";
			gpios = <&gpio1 9 0>;
			linux,default-trigger = "default-on";
		};
		power-blue {
			label = "power:blue";
			gpios = <&gpio1 10 0>;
			linux,default-trigger = "timer";
		};
		power-red {
			label = "power:red";
			gpios = <&gpio1 11 0>;
		};
		usb1 {
			label = "usb1:blue";
			gpios = <&gpio1 12 0>;
		};
		usb2 {
			label = "usb2:blue";
			gpios = <&gpio1 13 0>;
		};
		usb3 {
			label = "usb3:blue";
			gpios = <&gpio1 14 0>;
		};
		usb4 {
			label = "usb4:blue";
			gpios = <&gpio1 15 0>;
		};
		otb {
			label = "otb:blue";
			gpios = <&gpio1 16 0>;
		};
	};

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

		button@1 {
			label = "OTB Button";
			linux,code = <133>;
			gpios = <&gpio1 3 1>;
			debounce-interval = <100>;
		};
		button@2 {
			label = "Reset";
			linux,code = <0x198>;
			gpios = <&gpio0 12 1>;
			debounce-interval = <100>;
		};
	};
};

&mdio {
	status = "okay";

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

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