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

#include <dt-bindings/leds/common.h>

#include "mt7620a_tplink_8m.dtsi"

/ {
	compatible = "tplink,ec220-g5-v2", "ralink,mt7620a-soc";
	model = "TP-Link EC220-G5 v2";

	aliases {
		led-boot = &led_power;
		led-failsafe = &led_power;
		led-running = &led_power;
		led-upgrade = &led_power;
		label-mac-device = &ethernet;
	};

	leds {
		compatible = "gpio-leds";

		led_power: led-0 {
			function = LED_FUNCTION_POWER;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
		};

		led-1 {
			function = LED_FUNCTION_WAN;
			color = <LED_COLOR_ID_ORANGE>;
			gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
		};

		led-2 {
			function = LED_FUNCTION_WAN;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&gpio2 13 GPIO_ACTIVE_LOW>;
		};

		led-3 {
			function = LED_FUNCTION_LAN;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
		};

		led-4 {
			function = LED_FUNCTION_WLAN_2GHZ;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "phy1tpt";
		};

		led-5 {
			function = LED_FUNCTION_WLAN_5GHZ;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "phy0tpt";
		};

		led-6 {
			function = LED_FUNCTION_WPS;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
		};
	};

	keys {
		compatible = "gpio-keys";

		reset {
			label = "reset";
			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
		};

		rfkill {
			label = "rfkill";
			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RFKILL>;
		};
	};

	rtl8367s {
		compatible = "realtek,rtl8367b";
		realtek,extif = <7 1 0 1 1 1 1 1 1 2>;
		mii-bus = <&mdio0>;
		phy-id = <29>;
	};
};

&state_default {
	gpio {
		groups = "i2c", "uartf", "ephy", "rgmii2";
		function = "gpio";
	};
};

&ethernet {
	pinctrl-names = "default";
	pinctrl-0 = <&rgmii1_pins &mdio_pins>;

	port@5 {
		status = "okay";
		mediatek,fixed-link = <1000 1 1 1>;
		phy-mode = "rgmii";
	};

	mdio0: mdio-bus {
		status = "okay";
		reset-gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
		reset-delay-us = <10000>;
	};
};

&ehci {
	status = "disabled";
};

&ohci {
	status = "disabled";
};

&wmac {
	pinctrl-names = "default", "pa_gpio";
	pinctrl-0 = <&pa_pins>;
	pinctrl-1 = <&pa_gpio_pins>;

	nvmem-cells = <&eeprom_radio_0>, <&macaddr_rom_f100 0>;
	nvmem-cell-names = "eeprom", "mac-address";
};


&wifi {
	nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100 2>;
	nvmem-cell-names = "eeprom", "mac-address";
};
