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