diff --git a/README b/README
index 5dceb2ef5a28b0800e9c1498390f1f38031557f4..2e79fea327438e2516ab124a5cbfff47b5b6a48f 100644
--- a/README
+++ b/README
@@ -815,7 +815,6 @@ The following options need to be configured:
 		CONFIG_CMD_PING		* send ICMP ECHO_REQUEST to network
 					  host
 		CONFIG_CMD_RUN		  run command in env variable
-		CONFIG_CMD_SAVES	* save S record dump
 		CONFIG_CMD_SDRAM	* print SDRAM configuration information
 					  (requires CONFIG_CMD_I2C)
 		CONFIG_CMD_SF		* Read/write/erase SPI NOR flash
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9cfeedeebd95e02c042f5a503246027ce7084c3d..c6f5f237860577bc13d024f1fcbf956f08beb6c6 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -308,6 +308,7 @@ config TARGET_GPLUGD
 config ARCH_DAVINCI
 	bool "TI DaVinci"
 	select CPU_ARM926EJS
+	imply CMD_SAVES
 	help
 	  Support for TI's DaVinci platform.
 
@@ -409,21 +410,25 @@ config TARGET_SPEAR300
 	bool "Support spear300"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
+	imply CMD_SAVES
 
 config TARGET_SPEAR310
 	bool "Support spear310"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
+	imply CMD_SAVES
 
 config TARGET_SPEAR320
 	bool "Support spear320"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
+	imply CMD_SAVES
 
 config TARGET_SPEAR600
 	bool "Support spear600"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
+	imply CMD_SAVES
 
 config TARGET_STV0991
 	bool "Support stv0991"
@@ -575,6 +580,7 @@ config ARCH_KEYSTONE
 	select CMD_POWEROFF
 	imply CMD_MTDPARTS
 	imply FIT
+	imply CMD_SAVES
 
 config ARCH_OMAP2PLUS
 	bool "TI OMAP2+"
diff --git a/cmd/Kconfig b/cmd/Kconfig
index d623a43191432ef15182acf547820e7460bdae15..9efc2cf640866374245bdb9689c4d010e5afba82 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -779,6 +779,12 @@ config CMD_SATA
 	  Attachment, where AT refers to an IBM AT (Advanced Technology)
 	  computer released in 1984.
 
+config CMD_SAVES
+	bool "saves - Save a file over serial in S-Record format"
+	help
+	  Provides a way to save a binary file using the Motorola S-Record
+	  format over the serial line.
+
 config CMD_SF
 	bool "sf"
 	help
diff --git a/configs/ethernut5_defconfig b/configs/ethernut5_defconfig
index 26df9160710a48b3e6ba87925b7ef4fea12e497d..ca8233694d882b9e64fd4c988eed343010972d45 100644
--- a/configs/ethernut5_defconfig
+++ b/configs/ethernut5_defconfig
@@ -20,6 +20,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_FPGA is not set
+CONFIG_CMD_SAVES=y
 CONFIG_CMD_RARP=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
index 62338032805803c8eb276af857febdf6a3616713..92324b41b10a95c69542c88a08ea00fbf52a5da5 100644
--- a/configs/microblaze-generic_defconfig
+++ b/configs/microblaze-generic_defconfig
@@ -24,6 +24,7 @@ CONFIG_SYS_PROMPT="U-Boot-mONStR> "
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MFSL=y
+CONFIG_CMD_SAVES=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_DHCP=y
diff --git a/configs/x600_defconfig b/configs/x600_defconfig
index 98b18806b5c9b09cc29470f5258f31a379dc25a3..b8a9a6f8bae3301656a6965ed898cf32f81beb90 100644
--- a/configs/x600_defconfig
+++ b/configs/x600_defconfig
@@ -24,6 +24,7 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FPGA_LOADMK=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SAVES=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
diff --git a/configs/xtfpga_defconfig b/configs/xtfpga_defconfig
index e52e62b201561afcddc6e351dd9599340c73b5a2..f28c05f1564684b332eedd3d0833dc090841991a 100644
--- a/configs/xtfpga_defconfig
+++ b/configs/xtfpga_defconfig
@@ -10,6 +10,7 @@ CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press <SPACE> to stop\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 CONFIG_CMD_ASKENV=y
 CONFIG_CRC32_VERIFY=y
+CONFIG_CMD_SAVES=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_DIAG=y
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index 87fba76cc924023abdfcf419c823a419fa255ca4..c72b24284b00dbc7a9eda9b2342b3611ee5c6865 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -13,7 +13,6 @@
  * Alphabetical list of all possible commands.
  */
 
-#define CONFIG_CMD_SAVES	/* save S record dump		*/
 #define CONFIG_CMD_SDRAM	/* SDRAM DIMM SPD info printout */
 #define CONFIG_CMD_TERMINAL	/* built-in Serial Terminal	*/
 #define CONFIG_CMD_UNIVERSE	/* Tundra Universe Support	*/
diff --git a/include/configs/calimain.h b/include/configs/calimain.h
index b6c8035fb5e8bab5371fea5d33eca139f1df60ca..044aa69bafb65236a59f02c5830a3545543d7e73 100644
--- a/include/configs/calimain.h
+++ b/include/configs/calimain.h
@@ -294,14 +294,6 @@
 	"echo Product: $product; "	\
 	"gpio c 1; gpio c 2;"
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
-#ifndef CONFIG_DRIVER_TI_EMAC
-#endif
-
 /* additions for new relocation code, must added to all boards */
 #define CONFIG_SYS_SDRAM_BASE		0xc0000000
 /* initial stack pointer in internal SRAM */
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 695f3f687478271277d7fc43de16972ca27af42b..675e7a649e1ce080bd09d406be91d27181507648 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -263,11 +263,6 @@
 	"mem=32M console=ttyS2,115200n8 root=/dev/mtdblock2 rw noinitrd ip=dhcp"
 #define CONFIG_EXTRA_ENV_SETTINGS	"hwconfig=dsp:wake=yes"
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/ea20.h b/include/configs/ea20.h
index b1c4e3a750d4b305578257f1ecb44353c04171e4..158eea60181f642539de8d9eabe0ab16121e58c0 100644
--- a/include/configs/ea20.h
+++ b/include/configs/ea20.h
@@ -121,11 +121,6 @@
 #define CONFIG_CMDLINE_TAG
 #define CONFIG_SETUP_MEMORY_TAGS
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/ethernut5.h b/include/configs/ethernut5.h
index 5aa091b0df019ca9dbdd2586578591679401b599..32a526fac26b3f944164acd9dc5dea500e40fbd3 100644
--- a/include/configs/ethernut5.h
+++ b/include/configs/ethernut5.h
@@ -61,7 +61,6 @@
 #define CONFIG_ENV_SPI_MAX_HZ	15000000
 
 #ifndef MINIMAL_LOADER
-#define CONFIG_CMD_SAVES
 #endif
 
 /* NAND flash */
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index a21261f4d5063b24a472a9e0825abd72813108b4..083ccd8ef6d836fc39d7b48b00e2b78bf3725f93 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -236,11 +236,6 @@
 		"nand write c0000100 180000 20000\0"		\
 	"\0"
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
index 4ea61af920eb52b8d5c728aa78552db43e5296cf..2e6147d8228d27d210477301638e2de36870b66f 100644
--- a/include/configs/legoev3.h
+++ b/include/configs/legoev3.h
@@ -197,11 +197,6 @@
 	"loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
 	"bootscript=source ${bootscraddr}\0" \
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 636c98c386588c09af3e06db05e52c5ee2e87d09..8e7225cd6fecc3378a9b6eb9263b66299b6a8bb9 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -160,24 +160,6 @@
 #define CONFIG_BOOTP_GATEWAY
 #define CONFIG_BOOTP_HOSTNAME
 
-/*
- * Command line configuration.
- */
-
-#if defined(FLASH)
-# if !defined(RAMENV)
-#  define CONFIG_CMD_SAVES
-# endif
-
-#else
-#if defined(SPIFLASH)
-
-# if !defined(RAMENV)
-#  define CONFIG_CMD_SAVES
-# endif
-#endif
-#endif
-
 #if defined(CONFIG_CMD_JFFS2)
 # define CONFIG_MTD_PARTITIONS
 #endif
diff --git a/include/configs/omapl138_lcdk.h b/include/configs/omapl138_lcdk.h
index 08e7deb30f16cf0aeb747f93642ef3b4d5ca9361..6ea2b5e7f3687d97a2dc98704519e26ae74abb49 100644
--- a/include/configs/omapl138_lcdk.h
+++ b/include/configs/omapl138_lcdk.h
@@ -274,10 +274,6 @@
 	"boot_fit=0\0" \
 	"console=ttyS2,115200n8\0"
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 49fdf9cdb742ceaa4d539ee843f7ae57e5a40ada..6b4080132dfdcde1118b2f4d18a5f6379dc36b7d 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -92,11 +92,6 @@
 #define CONFIG_SYS_MAX_NAND_DEVICE		1
 #define CONFIG_SYS_NAND_ONFI_DETECTION
 
-/*
- * Command support defines
- */
-#define CONFIG_CMD_SAVES
-
 /*
  * Default Environment Varible definitions
  */
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index 03e28fc39b4066244ffd73ee9df524ee9f261a01..ba222e61057d0b66028e91069f7fce404a79468b 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -197,9 +197,6 @@
 #define CONFIG_DEV_USB_PHY_BASE			KS2_DEV_USB_PHY_BASE
 #define CONFIG_USB_PHY_CFG_BASE			KS2_USB_PHY_CFG_BASE
 
-/* U-Boot command configuration */
-#define CONFIG_CMD_SAVES
-
 /* U-Boot general configuration */
 #define CONFIG_MISC_INIT_R
 #define CONFIG_MX_CYCLIC
diff --git a/include/configs/x600.h b/include/configs/x600.h
index 18167a8a3c0407336cfe97db446df4c22ad022c2..677882539704cf1592fda4d4b123f117585e8f65 100644
--- a/include/configs/x600.h
+++ b/include/configs/x600.h
@@ -97,11 +97,6 @@
 #define CONFIG_USB_EHCI_SPEAR
 #define CONFIG_USB_MAX_CONTROLLER_COUNT	2
 
-/*
- * Command support defines
- */
-#define CONFIG_CMD_SAVES
-
 /* Filesystem support (for USB key) */
 #define CONFIG_SUPPORT_VFAT
 
diff --git a/include/configs/xtfpga.h b/include/configs/xtfpga.h
index 206ec344d940dfc1cea5b5b4413deea960726734..df983d9f1e5ae7167d1357c3a154c07f15b058cc 100644
--- a/include/configs/xtfpga.h
+++ b/include/configs/xtfpga.h
@@ -123,12 +123,6 @@
 	/* Boot Argument Buffer Size */
 #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
 
-/*=================*/
-/* U-Boot commands */
-/*=================*/
-
-#define CONFIG_CMD_SAVES
-
 /*==============================*/
 /* U-Boot autoboot configuration */
 /*==============================*/
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 6cfd4a75ce3d1526129babdef21919c0679e1269..2c255a705d8b55ff1545e166156bb26131c78122 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -293,7 +293,6 @@ CONFIG_CM922T_XA10
 CONFIG_CMDLINE_EDITING
 CONFIG_CMDLINE_PS_SUPPORT
 CONFIG_CMDLINE_TAG
-CONFIG_CMD_SAVES
 CONFIG_CMD_SCSI
 CONFIG_CMD_SDRAM
 CONFIG_CMD_SF_TEST