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

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

/ {
	model = "Globalscale Technologies Dreamplug";
	compatible = "globalscale,dreamplug-003-ds2001", "globalscale,dreamplug", "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_bluetooth: pmx-led-bluetooth {
				marvell,pins = "mpp47";
				marvell,function = "gpio";
			};
			pmx_led_wifi: pmx-led-wifi {
				marvell,pins = "mpp48";
				marvell,function = "gpio";
			};
			pmx_led_wifi_ap: pmx-led-wifi-ap {
				marvell,pins = "mpp49";
				marvell,function = "gpio";
			};
		};
		serial@12000 {
			status = "okay";
		};

		spi@10600 {
			status = "okay";

			m25p40@0 {
				#address-cells = <1>;
				#size-cells = <1>;
				compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
				reg = <0>;
				spi-max-frequency = <50000000>;
				mode = <0>;

				partition@0 {
					reg = <0x0 0x80000>;
					label = "u-boot";
				};

				partition@100000 {
					reg = <0x100000 0x10000>;
					label = "u-boot env";
				};

				partition@180000 {
					reg = <0x180000 0x10000>;
					label = "dtb";
				};
			};
		};

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

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

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_led_bluetooth &pmx_led_wifi
			     &pmx_led_wifi_ap >;
		pinctrl-names = "default";

		bluetooth {
			label = "dreamplug:blue:bluetooth";
			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
		};
		wifi {
			label = "dreamplug:green:wifi";
			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
		};
		wifi-ap {
			label = "dreamplug:green:wifi_ap";
			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
		};
	};
};

&mdio {
	status = "okay";

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

	ethphy1: ethernet-phy@1 {
		reg = <1>;
	};
};

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

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