diff --git a/target/linux/ramips/dts/mt7621_netgear_r6700-v2.dts b/target/linux/ramips/dts/mt7621_netgear_r6700-v2.dts
new file mode 100644
index 0000000000000000000000000000000000000000..6a8cd6e4e4c26f8de3cc0a358f637f6aacc8dc99
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_netgear_r6700-v2.dts
@@ -0,0 +1,122 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "mt7621_netgear_sercomm_bzv.dtsi"
+
+/ {
+	compatible = "netgear,r6700-v2", "mediatek,mt7621-soc";
+	model = "Netgear R6700 v2";
+
+	aliases {
+		led-boot = &led_power_white;
+		led-failsafe = &led_power_orange;
+		led-running = &led_power_white;
+		led-upgrade = &led_power_orange;
+		label-mac-device = &ethernet;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power_orange: power_orange {
+			gpios = <&gpio_expander 0 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:orange:power";
+		};
+
+		led_power_white: power_white {
+			gpios = <&gpio_expander 1 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:power";
+		};
+
+		wan_orange {
+			gpios = <&gpio_expander 2 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:orange:wan";
+		};
+
+		wan_white {
+			gpios = <&gpio_expander 3 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:wan";
+		};
+
+		wlan2g {
+			gpios = <&gpio_expander 4 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:wlan2g";
+			linux,default-trigger = "phy0radio";
+		};
+
+		wlan5g {
+			gpios = <&gpio_expander 5 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:wlan5g";
+			linux,default-trigger = "phy1radio";
+		};
+
+		guest_wifi {
+			gpios = <&gpio_expander 6 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:guest_wifi";
+		};
+
+		usb3 {
+			gpios = <&gpio_expander 7 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:usb3";
+			linux,default-trigger = "usbport";
+			trigger-sources = <&xhci_ehci_port1>;
+		};
+
+		lan1_orange {
+			gpios = <&gpio_expander 8 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:orange:lan1";
+		};
+
+		lan1_white {
+			gpios = <&gpio_expander 9 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:lan1";
+		};
+
+		lan2_orange {
+			gpios = <&gpio_expander 10 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:orange:lan2";
+		};
+
+		lan2_white {
+			gpios = <&gpio_expander 11 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:lan2";
+		};
+
+		lan3_orange {
+			gpios = <&gpio_expander 12 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:orange:lan3";
+		};
+
+		lan3_white {
+			gpios = <&gpio_expander 13 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:lan3";
+		};
+
+		lan4_orange {
+			gpios = <&gpio_expander 14 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:orange:lan4";
+		};
+
+		lan4_white {
+			gpios = <&gpio_expander 15 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:lan4";
+		};
+
+		wps {
+			gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
+			label = "r6700-v2:white:wps";
+		};
+
+		wlan {
+			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
+			label = "r6700-v2:white:wlan";
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		ralink,group = "uart3", "uart2", "jtag", "wdt";
+		ralink,function = "gpio";
+	};
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 82fbd87df96f617cc5b44ca9782ff2d62df79725..98d83f944ffd97685f885df14861b377d6d62c85 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -595,6 +595,21 @@ define Device/netgear_r6350
 endef
 TARGET_DEVICES += netgear_r6350
 
+define Device/netgear_r6700-v2
+  $(Device/netgear_sercomm_nand)
+  DEVICE_MODEL := R6700
+  DEVICE_VARIANT := v2
+  DEVICE_ALT0_VENDOR := NETGEAR
+  DEVICE_ALT0_MODEL := Nighthawk AC2400
+  SERCOMM_HWNAME := R6950
+  SERCOMM_HWID := BZV
+  SERCOMM_HWVER := A001
+  SERCOMM_SWVER := 0x1032
+  IMAGE_SIZE := 40960k
+  DEVICE_PACKAGES += kmod-mt7615e
+endef
+TARGET_DEVICES += netgear_r6700-v2
+
 define Device/netgear_r6800
   $(Device/netgear_sercomm_nand)
   DEVICE_MODEL := R6800
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
index ac73729d1bd2101ddc12fe1bc62da21b7ae7efea..7695cb991893e9481edcc3917f642bab43bec591 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
@@ -52,6 +52,7 @@ netgear,r6850|\
 netgear,wndr3700-v5)
 	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
 	;;
+netgear,r6700-v2|\
 netgear,r6800)
 	ucidef_set_led_switch "wan" "WAN" "$boardname:white:wan" "switch0" "0x10"
 	ucidef_set_led_switch "lan1" "LAN1" "$boardname:white:lan1" "switch0" "0x08"
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index a84ee808a3e6343b04c960df1b297107ebf3895a..c930f34592bf15ae9198ab90416bf50908af4d16 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -41,6 +41,7 @@ ramips_setup_interfaces()
 	netgear,r6220|\
 	netgear,r6260|\
 	netgear,r6350|\
+	netgear,r6700-v2|\
 	netgear,r6800|\
 	netgear,r6850|\
 	netgear,wndr3700-v5|\
@@ -253,6 +254,7 @@ ramips_setup_macs()
 		;;
 	netgear,r6260|\
 	netgear,r6350|\
+	netgear,r6700-v2|\
 	netgear,r6800|\
 	netgear,r6850)
 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 2)
diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
index f6b5c864318e02e07491dd1746fc8dbfe633f725..ad10dcbdaa4cc83b892f22e0ce55579637bfa8f1 100755
--- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
@@ -48,6 +48,7 @@ platform_do_upgrade() {
 	netgear,r6220|\
 	netgear,r6260|\
 	netgear,r6350|\
+	netgear,r6700-v2|\
 	netgear,r6800|\
 	netgear,r6850|\
 	netis,wf2881|\