/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";
		};

		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>;
		};
	};
};

&nand {
	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>;
	};
};

&mdio {
	status = "okay";

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

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