// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)

/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "armada-372x.dtsi"

/ {
	model = "GL.iNet GL-MV1000";
	compatible = "glinet,gl-mv1000", "marvell,armada3720", "marvell,armada3710";

	aliases {
		led-boot = &led_power;
		led-failsafe = &led_power;
		led-running = &led_power;
		led-upgrade = &led_power;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

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

	vcc_sd_reg1: regulator {
		compatible = "regulator-gpio";
		regulator-name = "vcc_sd1";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;

		gpios-states = <0>;
		states = <1800000 0x1
			3300000 0x0>;
		enable-active-high;
	};

	keys {
		compatible = "gpio-keys";

		button-reset {
			label = "reset";
			linux,code = <KEY_RESTART>;
			gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
		};

		switch {
			label = "switch";
			linux,code = <BTN_0>;
			gpios = <&gpiosb 22 GPIO_ACTIVE_LOW>;
		};
	};

	leds {
		compatible = "gpio-leds";

		led-vpn {
			label = "green:vpn";
			gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
		};

		led-wan {
			label = "green:wan";
			gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
		};

		led_power: led-power {
			label = "green:power";
			gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};
	};
};

&spi0 {
	status = "okay";

	flash@0 {
		reg = <0>;
		compatible = "jedec,spi-nor";
		spi-max-frequency = <104000000>;
		m25p,fast-read;
		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition@0 {
				label = "firmware";
				reg = <0 0xf0000>;
			};

			partition@f0000 {
				label = "u-boot-env";
				reg = <0xf0000 0x8000>;
			};

			factory: partition@f8000 {
				label = "factory";
				reg = <0xf8000 0x8000>;
				read-only;
			};

			partition@100000 {
				label = "dtb";
				reg = <0x100000 0x10000>;
				read-only;
			};

			partition@110000 {
				label = "rescue";
				reg = <0x110000 0x1000000>;
			};
		};
	};
};

&sdhci1 {
	wp-inverted;
	bus-width = <4>;
	cd-gpios = <&gpionb 17 GPIO_ACTIVE_LOW>;
	marvell,pad-type = "sd";
	no-1-8-v;
	vqmmc-supply = <&vcc_sd_reg1>;
	status = "okay";
};

&sdhci0 {
	bus-width = <8>;
	mmc-ddr-1_8v;
	mmc-hs400-1_8v;
	non-removable;
	no-sd;
	no-sdio;
	marvell,pad-type = "fixed-1-8v";
	status = "okay";
};

&usb3 {
	status = "okay";
};

&usb2 {
	status = "okay";
};

&uart0 {
	status = "okay";
};

&mdio {
	switch0: ethernet-switch@1 {
		compatible = "marvell,mv88e6085";
		reg = <1>;

		dsa,member = <0 0>;

		ports: ethernet-ports {
			#address-cells = <1>;
			#size-cells = <0>;

			ethernet-port@0 {
				reg = <0>;
				label = "cpu";
				ethernet = <&eth0>;
			};

			ethernet-port@1 {
				reg = <1>;
				label = "wan";
				phy-handle = <&switch0phy0>;
			};

			ethernet-port@2 {
				reg = <2>;
				label = "lan0";
				phy-handle = <&switch0phy1>;

				nvmem-cells = <&macaddr_factory_6>;
				nvmem-cell-names = "mac-address";
			};

			ethernet-port@3 {
				reg = <3>;
				label = "lan1";
				phy-handle = <&switch0phy2>;

				nvmem-cells = <&macaddr_factory_6>;
				nvmem-cell-names = "mac-address";
			};
		};

		mdio {
			#address-cells = <1>;
			#size-cells = <0>;

			switch0phy0: ethernet-phy@11 {
				reg = <0x11>;
			};
			switch0phy1: ethernet-phy@12 {
				reg = <0x12>;
			};
			switch0phy2: ethernet-phy@13 {
				reg = <0x13>;
			};
		};
	};
};

&eth0 {
	nvmem-cells = <&macaddr_factory_0>;
	nvmem-cell-names = "mac-address";
	phy-mode = "rgmii-id";
	status = "okay";

	fixed-link {
		speed = <1000>;
		full-duplex;
	};
};

&factory {
	compatible = "nvmem-cells";
	#address-cells = <1>;
	#size-cells = <1>;

	macaddr_factory_0: macaddr@0 {
		reg = <0x0 0x6>;
	};

	macaddr_factory_6: macaddr@6 {
		reg = <0x6 0x6>;
	};
};
