diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index f19b07cfe12266c95b50714d5ae546568f8d719b..d67f551b9c5513181b8e2a9db8d83830b59c61fb 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -23,7 +23,7 @@ PKG_LICENSE:=GPL-2.0
 PKG_CONFIG_DEPENDS += \
 	CONFIG_SIGNED_PACKAGES CONFIG_TARGET_INIT_PATH CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE \
 	CONFIG_NAND_SUPPORT \
-	CONFIG_SDCARD_SUPPORT \
+	CONFIG_LEGACY_SDCARD_SUPPORT \
 	CONFIG_CLEAN_IPKG \
 	CONFIG_PER_FEED_REPO \
 	$(foreach feed,$(FEEDS_AVAILABLE),CONFIG_FEED_$(feed))
@@ -124,9 +124,9 @@ ifeq ($(CONFIG_NAND_SUPPORT),)
   endef
 endif
 
-ifeq ($(CONFIG_SDCARD_SUPPORT),)
-  define Package/base-files/sdcard-support
-	rm -f $(1)/lib/upgrade/sdcard.sh
+ifeq ($(CONFIG_LEGACY_SDCARD_SUPPORT),)
+  define Package/base-files/legacy-sdcard-support
+	rm -f $(1)/lib/upgrade/legacy-sdcard.sh
   endef
 endif
 
@@ -135,7 +135,7 @@ define Package/base-files/install
 	$(CP) ./files/* $(1)/
 	$(Package/base-files/install-key)
 	$(Package/base-files/nand-support)
-	$(Package/base-files/sdcard-support)
+	$(Package/base-files/legacy-sdcard-support)
 	if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \
 		$(CP) $(GENERIC_PLATFORM_DIR)/base-files/* $(1)/; \
 	fi
diff --git a/package/base-files/files/lib/upgrade/sdcard.sh b/package/base-files/files/lib/upgrade/legacy-sdcard.sh
similarity index 96%
rename from package/base-files/files/lib/upgrade/sdcard.sh
rename to package/base-files/files/lib/upgrade/legacy-sdcard.sh
index 2052805acbf443dfbcb91b72c1aeaf840a932bf3..d2ae53b72911321bd1d10bc39817474b6c663808 100644
--- a/package/base-files/files/lib/upgrade/sdcard.sh
+++ b/package/base-files/files/lib/upgrade/legacy-sdcard.sh
@@ -1,4 +1,4 @@
-sdcard_check_image() {
+legacy_sdcard_check_image() {
 	local file="$1"
 	local diskdev partdev diff
 
@@ -26,7 +26,7 @@ sdcard_check_image() {
 	fi
 }
 
-sdcard_do_upgrade() {
+legacy_sdcard_do_upgrade() {
 	local board=$(board_name)
 	local diskdev partdev diff
 
@@ -78,7 +78,7 @@ sdcard_do_upgrade() {
 	sleep 1
 }
 
-sdcard_copy_config() {
+legacy_sdcard_copy_config() {
 	local partdev
 
 	if export_partdevice partdev 1; then
diff --git a/scripts/target-metadata.pl b/scripts/target-metadata.pl
index 34fb32a07e6d8580d7098cbef437afd48a9cae63..163eb3768bdea294bcc5731a2e17dee031b94174 100755
--- a/scripts/target-metadata.pl
+++ b/scripts/target-metadata.pl
@@ -22,6 +22,7 @@ sub target_config_features(@) {
 		/^gpio$/ and $ret .= "\tselect GPIO_SUPPORT\n";
 		/^jffs2$/ and $ret .= "\tselect USES_JFFS2\n";
 		/^jffs2_nand$/ and $ret .= "\tselect USES_JFFS2_NAND\n";
+		/^legacy-sdcard$/ and $ret .= "\tselect LEGACY_SDCARD_SUPPORT\n";
 		/^low_mem$/ and $ret .= "\tselect LOW_MEMORY_FOOTPRINT\n";
 		/^minor$/ and $ret .= "\tselect USES_MINOR\n";
 		/^mips16$/ and $ret .= "\tselect HAS_MIPS16\n";
@@ -36,7 +37,6 @@ sub target_config_features(@) {
 		/^rfkill$/ and $ret .= "\tselect RFKILL_SUPPORT\n";
 		/^rootfs-part$/ and $ret .= "\tselect USES_ROOTFS_PART\n";
 		/^rtc$/ and $ret .= "\tselect RTC_SUPPORT\n";
-		/^sdcard$/ and $ret .= "\tselect SDCARD_SUPPORT\n";
 		/^separate_ramdisk$/ and $ret .= "\tselect USES_INITRAMFS\n\tselect USES_SEPARATE_INITRAMFS\n";
 		/^small_flash$/ and $ret .= "\tselect SMALL_FLASH\n";
 		/^spe_fpu$/ and $ret .= "\tselect HAS_SPE_FPU\n";
diff --git a/target/Config.in b/target/Config.in
index fde7ea4137497b6dafcd2172a4f59956ca28496f..32242446ee6c49743cc619105d03240a7799a5f2 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -101,7 +101,7 @@ config RFKILL_SUPPORT
 config NAND_SUPPORT
 	bool
 
-config SDCARD_SUPPORT
+config LEGACY_SDCARD_SUPPORT
 	bool
 
 config ARCH_64BIT
diff --git a/target/linux/mvebu/Makefile b/target/linux/mvebu/Makefile
index 6b992f890392dc5d4e27330923e6b655e1c955fc..3737a4aa23b10c3840ef7b5fd0005bd337f7505f 100644
--- a/target/linux/mvebu/Makefile
+++ b/target/linux/mvebu/Makefile
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 BOARD:=mvebu
 BOARDNAME:=Marvell EBU Armada
-FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part sdcard
+FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part legacy-sdcard
 SUBTARGETS:=cortexa9 cortexa53 cortexa72
 
 KERNEL_PATCHVER:=5.4
diff --git a/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh
index 26bb02241510eaa921426b561df9df412e6411dc..0ee1d61506fbd63a851b150e0944180fc0d7e082 100755
--- a/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh
@@ -15,7 +15,7 @@ platform_check_image() {
 	globalscale,espressobin-ultra|\
 	globalscale,espressobin-v7|\
 	globalscale,espressobin-v7-emmc)
-		sdcard_check_image "$1"
+		legacy_sdcard_check_image "$1"
 		;;
 	*)
 		return 0
@@ -31,7 +31,7 @@ platform_do_upgrade() {
 	globalscale,espressobin-ultra|\
 	globalscale,espressobin-v7|\
 	globalscale,espressobin-v7-emmc)
-		sdcard_do_upgrade "$1"
+		legacy_sdcard_do_upgrade "$1"
 		;;
 	methode,udpu)
 		platform_do_upgrade_uDPU "$1"
@@ -49,7 +49,7 @@ platform_copy_config() {
 	globalscale,espressobin-ultra|\
 	globalscale,espressobin-v7|\
 	globalscale,espressobin-v7-emmc)
-		sdcard_copy_config
+		legacy_sdcard_copy_config
 		;;
 	methode,udpu)
 		platform_copy_config_uDPU
diff --git a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
index 1713f55b72a3e2a20621c477ba4b825716b9ce95..74aad434ea0f7ba00a0795af354dce2505815c41 100755
--- a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
@@ -11,7 +11,7 @@ platform_check_image() {
 	case "$(board_name)" in
 	marvell,armada8040-mcbin-doubleshot|\
 	marvell,armada8040-mcbin-singleshot)
-		sdcard_check_image "$1"
+		legacy_sdcard_check_image "$1"
 		;;
 	*)
 		return 0
@@ -23,7 +23,7 @@ platform_do_upgrade() {
 	case "$(board_name)" in
 	marvell,armada8040-mcbin-doubleshot|\
 	marvell,armada8040-mcbin-singleshot)
-		sdcard_do_upgrade "$1"
+		legacy_sdcard_do_upgrade "$1"
 		;;
 	*)
 		default_do_upgrade "$1"
@@ -34,7 +34,7 @@ platform_copy_config() {
 	case "$(board_name)" in
 	marvell,armada8040-mcbin-doubleshot|\
 	marvell,armada8040-mcbin-singleshot)
-		sdcard_copy_config
+		legacy_sdcard_copy_config
 		;;
 	esac
 }
diff --git a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh
index bf3961c4373cf0b30e9e17e3b554a6e0c05c9560..5e69374837778f22b898db3df7e535265a89031b 100755
--- a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh
@@ -13,7 +13,7 @@ platform_check_image() {
 	kobol,helios4|\
 	solidrun,clearfog-base-a1|\
 	solidrun,clearfog-pro-a1)
-		sdcard_check_image "$1"
+		legacy_sdcard_check_image "$1"
 		;;
 	*)
 		return 0
@@ -30,7 +30,7 @@ platform_do_upgrade() {
 	kobol,helios4|\
 	solidrun,clearfog-base-a1|\
 	solidrun,clearfog-pro-a1)
-		sdcard_do_upgrade "$1"
+		legacy_sdcard_do_upgrade "$1"
 		;;
 	linksys,wrt1200ac|\
 	linksys,wrt1900ac-v1|\
@@ -51,7 +51,7 @@ platform_copy_config() {
 	kobol,helios4|\
 	solidrun,clearfog-base-a1|\
 	solidrun,clearfog-pro-a1)
-		sdcard_copy_config
+		legacy_sdcard_copy_config
 		;;
 	linksys,wrt1200ac|\
 	linksys,wrt1900ac-v1|\