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

#include "dove.dtsi"

/ {
	model = "Globalscale D3Plug";
	compatible = "globalscale,d3plug", "marvell,dove";

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

	chosen {
		bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/mmcblk0p2 rw rootwait";
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_gpio_0 &pmx_gpio_1 &pmx_gpio_2>;
		pinctrl-names = "default";

		led-wlan-act {
			label = "wlan-act";
			gpios = <&gpio0 0 1>;
		};

		led-wlan-ap {
			label = "wlan-ap";
			gpios = <&gpio0 1 1>;
		};

		led-status {
			label = "status";
			gpios = <&gpio0 2 1>;
		};
	};

	usb_power: regulator-1 {
		compatible = "regulator-fixed";
		regulator-name = "USB Power";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		enable-active-high;
		regulator-always-on;
		regulator-boot-on;
		gpio = <&gpio0 8 0>;
		pinctrl-0 = <&pmx_gpio_8>;
		pinctrl-names = "default";
	};
};

&uart0 { status = "okay"; };
&sata0 { status = "okay"; };
&i2c0 { status = "okay"; };

/* Samsung M8G2F eMMC */
&sdio0 {
	status = "okay";
	non-removable;
	bus-width = <4>;
};

/* Marvell SD8787 WLAN/BT */
&sdio1 {
	status = "okay";
	non-removable;
};

&spi0 {
	status = "okay";

	/* spi0.0: 2M Flash Macronix MX25L1605D */
	flash@0 {
		compatible = "st,m25l1605d";
		spi-max-frequency = <86000000>;
		reg = <0>;
	};
};

&pcie {
	status = "okay";
	/* Fresco Logic USB3.0 xHCI controller */
	pcie@1 {
		status = "okay";
		reset-gpios = <&gpio0 26 1>;
		reset-delay-us = <20000>;
		pinctrl-0 = <&pmx_camera_gpio>;
		pinctrl-names = "default";
	};
	/* Mini-PCIe slot */
	pcie@2 {
		status = "okay";
		reset-gpios = <&gpio0 25 1>;
	};
};