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

#include "ar9344_tplink_tl-wdrxxxx.dtsi"

/ {
	model = "TP-Link TL-WDR3500 v1";
	compatible = "tplink,tl-wdr3500-v1", "qca,ar9344";

	aliases {
		label-mac-device = &wmac;
	};
};

&leds {
	usb {
		label = "green:usb";
		gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
		linux,default-trigger = "usbport";
		trigger-sources = <&hub_port>;
	};
};

&gpio {
	usb_power {
		gpio-hog;
		gpios = <12 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "tp-link:power:usb";
	};
};

&pinmux {
	pmx_led_wan_lan: pinmux_led_wan_lan {
		pinctrl-single,bits = <0x10 0x2c2d0000 0xffff0000>,
			<0x14 0x292a2b 0xffffff>;
	};
};

&builtin_switch {
	pinctrl-names = "default";
	pinctrl-0 = <&pmx_led_wan_lan>;
};

&usb {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	hub_port: port@1 {
		reg = <1>;
		#trigger-source-cells = <0>;
	};
};

&usb_phy {
	status = "okay";
};

&ath9k {
	nvmem-cells = <&macaddr_uboot_1fc00>;
	nvmem-cell-names = "mac-address";
	mac-address-increment = <1>;
};

&wmac {
	nvmem-cells = <&macaddr_uboot_1fc00>;
	nvmem-cell-names = "mac-address";
};

&eth1 {
	status = "okay";

	nvmem-cells = <&macaddr_uboot_1fc00>;
	nvmem-cell-names = "mac-address";
	mac-address-increment = <(-1)>;

	gmac-config {
		device = <&gmac>;
		switch-phy-swap = <0>;
		switch-only-mode = <1>;
	};
};

&eth0 {
	status = "okay";

	phy-handle = <&swphy4>;

	nvmem-cells = <&macaddr_uboot_1fc00>;
	nvmem-cell-names = "mac-address";
	mac-address-increment = <2>;
};

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

	macaddr_uboot_1fc00: macaddr@1fc00 {
		reg = <0x1fc00 0x6>;
	};
};