diff --git a/include/image-commands.mk b/include/image-commands.mk
index 485d870f050a83db2fa7a264f600b99e31d1eece..eda3fee94b2e031367a1b9b9712ee10fe5e74c99 100644
--- a/include/image-commands.mk
+++ b/include/image-commands.mk
@@ -295,11 +295,6 @@ define Build/install-dtb
 	)
 endef
 
-define Build/iptime-crc32
-	$(STAGING_DIR_HOST)/bin/iptime-crc32 $(1) $@ $@.new
-	mv $@.new $@
-endef
-
 define Build/iptime-naspkg
 	$(STAGING_DIR_HOST)/bin/iptime-naspkg $(1) $@ $@.new
 	mv $@.new $@
diff --git a/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts b/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts
deleted file mode 100644
index 6da223689c2046d63f1f1ea82b26f8c81522b88b..0000000000000000000000000000000000000000
--- a/target/linux/ramips/dts/mt7621_iptime_ax2004m.dts
+++ /dev/null
@@ -1,165 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-
-#include "mt7621.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-/ {
-	compatible = "iptime,ax2004m", "mediatek,mt7621-soc";
-	model = "ipTIME AX2004M";
-
-	aliases {
-		led-boot = &led_cpu;
-		led-failsafe = &led_cpu;
-		led-running = &led_cpu;
-		led-upgrade = &led_cpu;
-	};
-
-	chosen {
-		bootargs = "console=ttyS0,115200";
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_cpu: cpu {
-			label = "amber:cpu";
-			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-		};
-
-		wlan2g {
-			label = "amber:wlan2g";
-			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy0radio";
-		};
-
-		wlan5g {
-			label = "amber:wlan5g";
-			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy1radio";
-		};
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_RESTART>;
-		};
-	};
-};
-
-&nand {
-	status = "okay";
-
-	partitions {
-		compatible = "fixed-partitions";
-		#address-cells = <1>;
-		#size-cells = <1>;
-
-		partition@0 {
-			label = "u-boot";
-			reg = <0x0 0x80000>;
-			read-only;
-		};
-
-		partition@80000 {
-			label = "config";
-			reg = <0x80000 0x80000>;
-			read-only;
-		};
-
-		factory: partition@100000 {
-			label = "factory";
-			reg = <0x100000 0x80000>;
-			read-only;
-
-			compatible = "nvmem-cells";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			macaddr_factory_4: macaddr@4 {
-				reg = <0x4 0x6>;
-			};
-		};
-
-		partition@180000 {
-			label = "firmware";
-			reg = <0x180000 0x7680000>;
-
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "kernel";
-				reg = <0x0 0x400000>;
-			};
-
-			partition@400000 {
-				label = "ubi";
-				reg = <0x400000 0x7280000>;
-			};
-		};
-	};
-};
-
-&state_default {
-	gpio {
-		groups = "i2c", "jtag", "wdt";
-		function = "gpio";
-	};
-};
-
-&gmac0 {
-	nvmem-cells = <&macaddr_factory_4>;
-	nvmem-cell-names = "mac-address";
-	mac-address-increment = <3>;
-};
-
-&switch0 {
-	ports {
-		port@0 {
-			status = "okay";
-			label = "wan";
-			nvmem-cells = <&macaddr_factory_4>;
-			nvmem-cell-names = "mac-address";
-			mac-address-increment = <1>;
-		};
-
-		port@1 {
-			status = "okay";
-			label = "lan4";
-		};
-
-		port@2 {
-			status = "okay";
-			label = "lan3";
-		};
-
-		port@3 {
-			status = "okay";
-			label = "lan2";
-		};
-
-		port@4 {
-			status = "okay";
-			label = "lan1";
-		};
-	};
-};
-
-&pcie {
-	status = "okay";
-};
-
-&pcie1 {
-	wifi@0,0 {
-		compatible = "mediatek,mt76";
-		reg = <0x0000 0 0 0 0>;
-		mediatek,mtd-eeprom = <&factory 0x0>;
-	};
-};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index b125df48d9cc1878101b94a56f3a271cd7ccda32..a461c57f1508383680cfe074aba5b9053842e953 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -817,26 +817,6 @@ define Device/iptime_a8004t
 endef
 TARGET_DEVICES += iptime_a8004t
 
-define Device/iptime_ax2004m
-  $(Device/dsa-migration)
-  BLOCKSIZE := 128k
-  PAGESIZE := 2048
-  KERNEL_SIZE := 4096k
-  IMAGE_SIZE := 121344k
-  UBINIZE_OPTS := -E 5
-  KERNEL_LOADADDR := 0x82000000
-  KERNEL := kernel-bin | relocate-kernel 0x80001000 | lzma | \
-	fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
-  IMAGES += recovery.bin
-  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
-  IMAGE/recovery.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
-	check-size | iptime-crc32 ax2004m
-  DEVICE_VENDOR := ipTIME
-  DEVICE_MODEL := AX2004M
-  DEVICE_PACKAGES := kmod-mt7915e kmod-usb3
-endef
-TARGET_DEVICES += iptime_ax2004m
-
 define Device/iptime_t5004
   $(Device/dsa-migration)
   BLOCKSIZE := 128k
diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index 6d7af90e80b6810c03abb59191053006530579b8..242e1e6efeec66b0856b26b2f794b1f1746c59c2 100644
--- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -25,12 +25,6 @@ case "$board" in
 		[ "$PHYNBR" = "1" ] && \
 			macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress
 		;;
-	iptime,ax2004m)
-		if [ "$PHYNBR" = "1" ]; then
-			base_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 3)
-			macaddr_setbit_la "$base_mac" > /sys${DEVPATH}/macaddress
-		fi
-		;;
 	jcg,q20)
 		[ "$PHYNBR" = "1" ] && \
 			macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
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 afbba0a6460b71b2428ea2bee32f5e07c185b9ea..8e1bdc157f76cd2b5bfadfd515be4686f41f1929 100755
--- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
@@ -59,7 +59,6 @@ platform_do_upgrade() {
 	dlink,dir-853-a3|\
 	hiwifi,hc5962|\
 	iptime,a3004t|\
-	iptime,ax2004m|\
 	iptime,t5004|\
 	jcg,q20|\
 	linksys,e5600|\