diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index cba51f5df626ed38a547eaf36c3258bdd2be188e..ea084f462b9ac871ee4dea9773d717113e700f45 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -449,6 +449,15 @@ config SPL_POWER_SUPPORT
 	  in drivers/power, drivers/power/pmic and drivers/power/regulator
 	  as part of an SPL build.
 
+config SPL_RAM_DEVICE
+	bool "Support booting from preloaded image in RAM"
+	depends on SPL
+	default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ
+	help
+	  Enable booting of an image already loaded in RAM. The image has to
+	  be already in memory when SPL takes over, e.g. loaded by the boot
+	  ROM.
+
 config SPL_SATA_SUPPORT
 	bool "Support loading from SATA"
 	depends on SPL
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 36b0a0eb163cdf81b3c11d0904d7d461ac01a972..643413f823d4d9026bcc4d2b4bc18b2dea5552c2 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -283,7 +283,6 @@
 
 #define CONFIG_SPL_LDSCRIPT	"arch/microblaze/cpu/u-boot-spl.lds"
 
-#define CONFIG_SPL_RAM_DEVICE
 #ifdef CONFIG_SYS_FLASH_BASE
 # define CONFIG_SYS_UBOOT_BASE		CONFIG_SYS_FLASH_BASE
 #endif
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 7de9d861f03aede42095aaf3f6bbf82da7d582b0..6285266a1bbceb469790264dabb6efb3a12ac035 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -306,7 +306,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
  * 0xFFFF_FF00 ...... End of SRAM
  */
 #define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_RAM_DEVICE
 #define CONFIG_SPL_TEXT_BASE		CONFIG_SYS_INIT_RAM_ADDR
 #define CONFIG_SPL_MAX_SIZE		(64 * 1024)
 
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 23a0e782e0fc738c2e5c14314128261ed3214ea9..f30fec84a2a856fa4f94eca7fd989427aa5eff26 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -98,7 +98,6 @@
 
 /* Defines for SPL */
 #define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_RAM_DEVICE
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
 #define CONFIG_SPL_MAX_FOOTPRINT	(CONFIG_SYS_TEXT_BASE - \
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index ea4761c684137e51dfa5f90f56274cd2a8ebd22b..bb749c5e8eaa04838dc6f11bcf55ce03c73dd714 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -288,7 +288,6 @@
 
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_RAM_DEVICE
 
 /* u-boot is like dtb */
 #define CONFIG_SPL_FS_LOAD_ARGS_NAME	"u-boot.bin"
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index fd74e809dc11bf19fec0c6203141bc71a37d919a..36dc140e002c7f4ba6a9d1fbb1713bfb923c0c0d 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -290,7 +290,6 @@
 #define CONFIG_CMD_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_RAM_DEVICE
 
 #define CONFIG_SPL_LDSCRIPT	"arch/arm/mach-zynq/u-boot-spl.lds"