// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/* Copyright (c) 2021, Marcel Ziswiler <marcel@ziswiler.com> */

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

/ {
	model = "Netgear GS110EMX";
	compatible = "netgear,gs110emx", "marvell,armada380";

	aliases {
		/* So that mvebu u-boot can update the MAC addresses */
		ethernet1 = &eth0;
	};

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

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-0 = <&front_button_pins>;
		pinctrl-names = "default";

		key-factory-default {
			label = "Factory Default";
			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
		};
	};

	memory {
		device_type = "memory";
		reg = <0x00000000 0x08000000>; /* 128 MB */
	};

	soc {
		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;

		internal-regs {
			rtc@a3800 {
				/*
				 * If the rtc doesn't work, run "date reset"
				 * twice in u-boot.
				 */
				status = "okay";
			};
		};
	};
};

&eth0 {
	/* ethernet@70000 */
	bm,pool-long = <0>;
	bm,pool-short = <1>;
	buffer-manager = <&bm>;
	phy-mode = "rgmii-id";
	pinctrl-0 = <&ge0_rgmii_pins>;
	pinctrl-names = "default";
	status = "okay";

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

&mdio {
	pinctrl-names = "default";
	pinctrl-0 = <&mdio_pins>;
	status = "okay";

	switch@0 {
		compatible = "marvell,mv88e6190";
		#address-cells = <1>;
		#interrupt-cells = <2>;
		interrupt-controller;
		interrupt-parent = <&gpio1>;
		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-0 = <&switch_interrupt_pins>;
		pinctrl-names = "default";
		#size-cells = <0>;
		reg = <0>;

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

			switch0phy1: switch0phy1@1 {
				reg = <0x1>;
			};

			switch0phy2: switch0phy2@2 {
				reg = <0x2>;
			};

			switch0phy3: switch0phy3@3 {
				reg = <0x3>;
			};

			switch0phy4: switch0phy4@4 {
				reg = <0x4>;
			};

			switch0phy5: switch0phy5@5 {
				reg = <0x5>;
			};

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

			switch0phy7: switch0phy7@7 {
				reg = <0x7>;
			};

			switch0phy8: switch0phy8@8 {
				reg = <0x8>;
			};
		};

		mdio-external {
			compatible = "marvell,mv88e6xxx-mdio-external";
			#address-cells = <1>;
			#size-cells = <0>;

			phy1: ethernet-phy@b {
				reg = <0xb>;
				compatible = "ethernet-phy-ieee802.3-c45";
			};

			phy2: ethernet-phy@c {
				reg = <0xc>;
				compatible = "ethernet-phy-ieee802.3-c45";
			};
		};

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

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

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

			port@1 {
				label = "lan1";
				phy-handle = <&switch0phy1>;
				reg = <1>;
			};

			port@2 {
				label = "lan2";
				phy-handle = <&switch0phy2>;
				reg = <2>;
			};

			port@3 {
				label = "lan3";
				phy-handle = <&switch0phy3>;
				reg = <3>;
			};

			port@4 {
				label = "lan4";
				phy-handle = <&switch0phy4>;
				reg = <4>;
			};

			port@5 {
				label = "lan5";
				phy-handle = <&switch0phy5>;
				reg = <5>;
			};

			port@6 {
				label = "lan6";
				phy-handle = <&switch0phy6>;
				reg = <6>;
			};

			port@7 {
				label = "lan7";
				phy-handle = <&switch0phy7>;
				reg = <7>;
			};

			port@8 {
				label = "lan8";
				phy-handle = <&switch0phy8>;
				reg = <8>;
			};

			port@9 {
				/* 88X3310P external phy */
				label = "lan9";
				phy-handle = <&phy1>;
				phy-mode = "xaui";
				reg = <9>;
			};

			port@a {
				/* 88X3310P external phy */
				label = "lan10";
				phy-handle = <&phy2>;
				phy-mode = "xaui";
				reg = <0xa>;
			};
		};
	};
};

&pinctrl {
	front_button_pins: front-button-pins {
		marvell,pins = "mpp38";
		marvell,function = "gpio";
	};

	switch_interrupt_pins: switch-interrupt-pins {
		marvell,pins = "mpp39";
		marvell,function = "gpio";
	};
};

&spi0 {
	pinctrl-0 = <&spi0_pins>;
	pinctrl-names = "default";
	status = "okay";

	flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "jedec,spi-nor";
		reg = <0>; /* Chip select 0 */
		spi-max-frequency = <3000000>;

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

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

			partition@100000 {
				label = "env";
				reg = <0x00100000 0x00010000>;
			};

			partition@200000 {
				label = "rsv";
				reg = <0x00110000 0x00010000>;
			};

			partition@300000 {
				label = "image0";
				reg = <0x00120000 0x00900000>;
			};

			partition@400000 {
				label = "config";
				reg = <0x00a20000 0x00300000>;
			};

			partition@480000 {
				label = "debug";
				reg = <0x00d20000 0x002e0000>;
			};
		};
	};
};

&uart0 {
	pinctrl-0 = <&uart0_pins>;
	pinctrl-names = "default";
	status = "okay";
};
