/dts-v1/;

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

/ {
	model = "Univeral Scientific Industrial Co. Topkick-1281P2";
	compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood";

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

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

	ocp@f1000000 {
		pinctrl: pinctrl@10000 {
			/*
			 * Switch positions
			 *
			 *     /-SW_LEFT(2)
			 *     |
			 *     |   /-SW_IDLE
			 *     |   |
			 *     |   |   /-SW_RIGHT
			 *     |   |   |
			 * PS [L] [I] [R] LEDS
			 */
			pinctrl-0 = <&pmx_sw_left &pmx_sw_right
				     &pmx_sw_idle &pmx_sw_left2>;
			pinctrl-names = "default";

			pmx_led_disk_yellow: pmx-led-disk-yellow {
				marvell,pins = "mpp21";
				marvell,function = "gpio";
			};

			pmx_sata0_pwr_enable: pmx-sata0-pwr-enable {
				marvell,pins = "mpp36";
				marvell,function = "gpio";
			};

			pmx_led_sys_red: pmx-led-sys-red {
				marvell,pins = "mpp37";
				marvell,function = "gpio";
			};

			pmx_led_sys_blue: pmx-led-sys-blue {
				marvell,pins = "mpp38";
				marvell,function = "gpio";
			};

			pmx_led_wifi_green: pmx-led-wifi-green {
				marvell,pins = "mpp39";
				marvell,function = "gpio";
			};

			pmx_sw_left: pmx-sw-left {
				marvell,pins = "mpp43";
				marvell,function = "gpio";
			};

			pmx_sw_right: pmx-sw-right {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};

			pmx_sw_idle: pmx-sw-idle {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};

			pmx_sw_left2: pmx-sw-left2 {
				marvell,pins = "mpp46";
				marvell,function = "gpio";
			};

			pmx_led_wifi_yellow: pmx-led-wifi-yellow {
				marvell,pins = "mpp48";
				marvell,function = "gpio";
			};
		};

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

		nand@3000000 {
			status = "okay";
			pinctrl-0 = <&pmx_nand>;
			pinctrl-names = "default";

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

			partition@180000 {
				label = "u-boot env";
				reg = <0x0180000 0x20000>;
			};

			partition@200000 {
				label = "uImage";
				reg = <0x0200000 0x600000>;
			};

			partition@800000 {
				label = "uInitrd";
				reg = <0x0800000 0x1000000>;
			};

			partition@1800000 {
				label = "rootfs";
				reg = <0x1800000 0xe800000>;
			};
		};

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

		i2c@11000 {
			status = "ok";
			pinctrl-0 = <&pmx_twsi0>;
			pinctrl-names = "default";
		};

		mvsdio@90000 {
			pinctrl-0 = <&pmx_sdio>;
			pinctrl-names = "default";
			status = "okay";
			/* No CD or WP GPIOs */
			broken-cd;
		};
	};

	gpio-leds {
		/*
		 * GPIO LED layout
		 *
		 *       /-SYS_LED(2)
		 *       |
		 *       |   /-DISK_LED
		 *       |   |
		 *       |   |   /-WLAN_LED(2)
		 *       |   |   |
		 * [SW] [*] [*] [*]
		 */

		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_led_disk_yellow &pmx_led_sys_red
			     &pmx_led_sys_blue &pmx_led_wifi_green
			     &pmx_led_wifi_yellow>;
		pinctrl-names = "default";

		disk {
			label = "topkick:yellow:disk";
			gpios = <&gpio0 21 1>;
			linux,default-trigger = "ide-disk";
		};
		system2 {
			label = "topkick:red:system";
			gpios = <&gpio1 5 1>;
		};
		system {
			label = "topkick:blue:system";
			gpios = <&gpio1 6 1>;
			default-state = "on";
		};
		wifi {
			label = "topkick:green:wifi";
			gpios = <&gpio1 7 1>;
		};
		wifi2 {
			label = "topkick:yellow:wifi";
			gpios = <&gpio1 16 1>;
		};
	};
	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_sata0_pwr_enable>;
		pinctrl-names = "default";

		sata0_power: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "SATA0 Power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			gpio = <&gpio1 4 0>;
		};
	};
};

&mdio {
	status = "okay";

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

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