diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index 32bfa77f70e39f1a3c6cdc942e7fbe53557b1526..e9df34524b5ea97bdcc50e2b6feeaa32574eb6a1 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -72,6 +72,7 @@ ramips_setup_interfaces()
 	dir-615-h1|\
 	firewrt|\
 	hlk-rm04|\
+	mac1200rv2|\
 	miwifi-mini|\
 	miwifi-nano|\
 	mt7621|\
@@ -313,6 +314,10 @@ ramips_setup_macs()
 		wan_mac=$(mtd_get_mac_binary factory 4)
 		lan_mac=$(mtd_get_mac_binary factory 46)
 		;;
+	mac1200rv2)
+		lan_mac=$(mtd_get_mac_binary factory_info 13)
+		wan_mac=$(macaddr_add "$lan_mac" 1)
+		;;
 	m3|\
 	m4|\
 	x5|\
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index 5693f6307edeb415c39481f5cb6129a9646f89fb..969594d8a60fcb33e18b8e348e584669bd9a55d6 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -65,6 +65,7 @@ get_status_led() {
 	dir-620-d1|\
 	hpm|\
 	hw550-3g|\
+	mac1200rv2|\
 	miniembwifi|\
 	mofi3500-3gn|\
 	rut5xx|\
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 1e9fa90b5dc3cead625a8004eb924073110d5814..98bc68c39732452b9d7c2b2bcac402b3fda176d3 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -250,6 +250,9 @@ ramips_board_detect() {
 	*"Memory 2 Move")
 		name="m2m"
 		;;
+	*"Mercury MAC1200R v2")
+		name="mac1200rv2"
+		;;
 	*"MicroWRT")
 		name="microwrt"
 		;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index d7f5a73e7716fce62bbacaec22bd8bc56611d2c8..e3a74e092814c71293c2a491d32144023f7e8169 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -76,6 +76,7 @@ platform_check_image() {
 	m2m|\
 	m3|\
 	m4|\
+	mac1200rv2|\
 	microwrt|\
 	miniembplug|\
 	miniembwifi|\
diff --git a/target/linux/ramips/dts/MAC1200RV2.dts b/target/linux/ramips/dts/MAC1200RV2.dts
new file mode 100644
index 0000000000000000000000000000000000000000..9576081c82c926ce96c5e3abb0872342d71bf167
--- /dev/null
+++ b/target/linux/ramips/dts/MAC1200RV2.dts
@@ -0,0 +1,94 @@
+/dts-v1/;
+
+/include/ "mt7628an.dtsi"
+
+/ {
+	compatible = "mercury,mac1200rv2", "mediatek,mt7628an-soc";
+	model = "Mercury MAC1200R v2";
+
+	chosen {
+		bootargs = "console=ttyS0,57600";
+	};
+
+	memory@0 {
+		device_type = "memory";
+		reg = <0x0 0x2000000>;
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		status {
+			label = "mac1200rv2:green:status";
+			gpios = <&gpio0 11 1>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	m25p80@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "w25q128";
+		reg = <0 0>;
+		linux,modalias = "m25p80", "w25q128";
+		spi-max-frequency = <10000000>;
+		m25p,chunked-io = <32>;
+
+		partition@0 {
+			label = "u-boot";
+			reg = <0x0 0x1d800>;
+		};
+
+		factory: partition@0x1d800 {
+			label = "factory_info";
+			reg = <0x1d800 0x800>;
+			read-only;
+		};
+
+		art: partition@0x1e000 {
+			label = "art";
+			reg = <0x1e000 0x2000>;
+			read-only;
+		};
+
+		partition@20000 {
+			label = "config";
+			reg = <0x20000 0x10000>;
+		};
+
+		partition@30000 {
+			label = "u-boot2";
+			reg = <0x30000 0x10000>;
+		};
+
+		partition@40000 {
+			label = "firmware";
+			reg = <0x40000 0x7c0000>;
+		};
+	};
+};
+
+&ethernet {
+	pinctrl-names = "default";
+	mtd-mac-address = <&factory 0xd>;
+	ralink,port-map = "llllw";
+};
+
+&wmac {
+	status = "okay";
+	ralink,mtd-eeprom = <&art 0x0>;
+};
+
+&pcie {
+	status = "okay";
+	pcie-bridge {
+		mt76@0,0 {
+			reg = <0x0000 0 0 0 0>;
+			device_type = "pci";
+			mediatek,mtd-eeprom = <&art 0x1000>;
+			mediatek,2ghz = <0>;
+		};
+	};
+};
diff --git a/target/linux/ramips/image/mt7628.mk b/target/linux/ramips/image/mt7628.mk
index fa7d1e77f267a4b5d9c794ded3967063397ce0f1..0647acf3ad5d89983f455ba3e0cf7a59699b78bb 100644
--- a/target/linux/ramips/image/mt7628.mk
+++ b/target/linux/ramips/image/mt7628.mk
@@ -33,3 +33,10 @@ define Device/duzun-dm06
   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
 endef
 TARGET_DEVICES += duzun-dm06
+
+define Device/mac1200r-v2
+  DTS := MAC1200RV2
+  IMAGE_SIZE := $(ralink_default_fw_size_8M)
+  DEVICE_TITLE := Mercury MAC1200R v2.0
+endef
+TARGET_DEVICES += mac1200r-v2