// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

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

/ {
	model = "Globalscale Technologies Guruplug Server Plus";
	compatible = "globalscale,guruplug-server-plus", "globalscale,guruplug", "marvell,kirkwood-88f6281", "marvell,kirkwood";

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

	chosen {
		bootargs = "console=ttyS0,115200n8 earlyprintk";
		stdout-path = &uart0;
	};

	ocp@f1000000 {
		pinctrl: pin-controller@10000 {
			pmx_led_health_r: pmx-led-health-r {
				marvell,pins = "mpp46";
				marvell,function = "gpio";
			};
			pmx_led_health_g: pmx-led-health-g {
				marvell,pins = "mpp47";
				marvell,function = "gpio";
			};
			pmx_led_wmode_r: pmx-led-wmode-r {
				marvell,pins = "mpp48";
				marvell,function = "gpio";
			};
			pmx_led_wmode_g: pmx-led-wmode-g {
				marvell,pins = "mpp49";
				marvell,function = "gpio";
			};
		};
		serial@12000 {
			status = "okay";
		};

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

		/* AzureWave AW-GH381 WiFi/BT */
		mvsdio@90000 {
			status = "okay";
			non-removable;
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g
			      &pmx_led_wmode_r &pmx_led_wmode_g >;
		pinctrl-names = "default";

		health-r {
			label = "guruplug:red:health";
			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
		};
		health-g {
			label = "guruplug:green:health";
			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
		};
		wmode-r {
			label = "guruplug:red:wmode";
			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
		};
		wmode-g {
			label = "guruplug:green:wmode";
			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
		};
	};
};

&nand {
	status = "okay";

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

	partition@100000 {
		label = "uImage";
		reg = <0x00100000 0x00400000>;
	};

	partition@500000 {
		label = "data";
		reg = <0x00500000 0x1fb00000>;
	};
};

&mdio {
	status = "okay";

	ethphy0: ethernet-phy@0 {
		/* Marvell 88E1121R */
		compatible = "ethernet-phy-id0141.0cb0",
		             "ethernet-phy-ieee802.3-c22";
		reg = <0>;
	};

	ethphy1: ethernet-phy@1 {
		/* Marvell 88E1121R */
		compatible = "ethernet-phy-id0141.0cb0",
		             "ethernet-phy-ieee802.3-c22";
		reg = <1>;
	};
};

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

&eth1 {
	status = "okay";
	ethernet1-port@0 {
		phy-handle = <&ethphy1>;
		phy-connection-type = "rgmii-id";
	};
};