Convert CONFIG_STANDALONE_LOAD_ADDR to Kconfig

This converts the following to Kconfig:
   CONFIG_STANDALONE_LOAD_ADDR

Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/README b/README
index 3ebee1c..c8f6b21 100644
--- a/README
+++ b/README
@@ -1166,13 +1166,6 @@
 		this is instead controlled by the value of
 		/config/load-environment.
 
-		CONFIG_STANDALONE_LOAD_ADDR
-
-		This option defines a board specific value for the
-		address where standalone program gets loaded, thus
-		overwriting the architecture dependent default
-		settings.
-
 - Automatic software updates via TFTP server
 		CONFIG_UPDATE_TFTP
 		CONFIG_UPDATE_TFTP_CNT_MAX
diff --git a/api/Kconfig b/api/Kconfig
index eb8d5d0..d936272 100644
--- a/api/Kconfig
+++ b/api/Kconfig
@@ -11,3 +11,22 @@
 	default 1
 
 endmenu
+
+config STANDALONE_LOAD_ADDR
+	hex "Address in memory to link standalone applications to"
+	default 0xffffffff80200000 if MIPS && 64BIT
+	default 0x8c000000 if SH
+	default 0x82000000 if ARC
+	default 0x80f00000 if MICROBLAZE
+	default 0x80300000 if ARCH_OMAP2PLUS || FSL_LSCH2 || FSL_LSCH3
+	default 0x80200000 if MIPS && 32BIT
+	default 0x0c100000 if ARM
+	default 0x02000000 if NIOS2
+	default 0x00040000 if PPC || X86
+	default 0x00020000 if M68K
+	default 0x0 if RISCV
+	default SYS_LOAD_ADDR
+	help
+	  This option defines a board specific value for the address where
+	  standalone program gets loaded, thus overwriting the architecture
+	  dependent default settings.
diff --git a/arch/arc/config.mk b/arch/arc/config.mk
index 2b70945..b713fa3 100644
--- a/arch/arc/config.mk
+++ b/arch/arc/config.mk
@@ -21,6 +21,3 @@
 
 # Needed for relocation
 LDFLAGS_FINAL += -pie --gc-sections
-
-# Load address for standalone apps
-CONFIG_STANDALONE_LOAD_ADDR ?= 0x82000000
diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index 2065438..bf781f1 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -3,14 +3,6 @@
 # (C) Copyright 2000-2002
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 
-ifndef CONFIG_STANDALONE_LOAD_ADDR
-ifneq ($(CONFIG_ARCH_OMAP2PLUS),)
-CONFIG_STANDALONE_LOAD_ADDR = 0x80300000
-else
-CONFIG_STANDALONE_LOAD_ADDR = 0xc100000
-endif
-endif
-
 CFLAGS_NON_EFI := -fno-pic -ffixed-r9 -ffunction-sections -fdata-sections \
 		  -fstack-protector-strong
 CFLAGS_EFI := -fpic -fshort-wchar
diff --git a/arch/arm/include/asm/arch-fsl-layerscape/config.h b/arch/arm/include/asm/arch-fsl-layerscape/config.h
index c9c72e3..57d92f6 100644
--- a/arch/arm/include/asm/arch-fsl-layerscape/config.h
+++ b/arch/arm/include/asm/arch-fsl-layerscape/config.h
@@ -14,8 +14,6 @@
 #include <linux/bitops.h>
 #endif
 
-#define CONFIG_STANDALONE_LOAD_ADDR	0x80300000
-
 /*
  * Reserve secure memory
  * To be aligned with MMU block size
diff --git a/arch/m68k/config.mk b/arch/m68k/config.mk
index ed59233..3ccbe49 100644
--- a/arch/m68k/config.mk
+++ b/arch/m68k/config.mk
@@ -3,8 +3,6 @@
 # (C) Copyright 2000-2002
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 
-CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000
-
 PLATFORM_CPPFLAGS += -D__M68K__
 KBUILD_LDFLAGS  += -n
 PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
diff --git a/arch/microblaze/config.mk b/arch/microblaze/config.mk
index d35b4f6..467c5ca 100644
--- a/arch/microblaze/config.mk
+++ b/arch/microblaze/config.mk
@@ -6,8 +6,6 @@
 # (C) Copyright 2004 Atmark Techno, Inc.
 # Yasushi SHOJI <yashi@atmark-techno.com>
 
-CONFIG_STANDALONE_LOAD_ADDR ?= 0x80F00000
-
 PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
 PLATFORM_CPPFLAGS += -fdata-sections -ffunction-sections
 
diff --git a/arch/mips/config.mk b/arch/mips/config.mk
index 04f3627..745f031 100644
--- a/arch/mips/config.mk
+++ b/arch/mips/config.mk
@@ -25,14 +25,12 @@
 PLATFORM_CPPFLAGS	+= -mabi=32
 KBUILD_LDFLAGS		+= -m $(32bit-emul)
 OBJCOPYFLAGS		+= -O $(32bit-bfd)
-CONFIG_STANDALONE_LOAD_ADDR	?= 0x80200000
 endif
 
 ifdef CONFIG_64BIT
 PLATFORM_CPPFLAGS	+= -mabi=64
 KBUILD_LDFLAGS		+= -m$(64bit-emul)
 OBJCOPYFLAGS		+= -O $(64bit-bfd)
-CONFIG_STANDALONE_LOAD_ADDR	?= 0xffffffff80200000
 endif
 
 PLATFORM_CPPFLAGS += -D__MIPS__
diff --git a/arch/nios2/config.mk b/arch/nios2/config.mk
index 44260b1..b18b9b7 100644
--- a/arch/nios2/config.mk
+++ b/arch/nios2/config.mk
@@ -4,8 +4,6 @@
 # Psyent Corporation <www.psyent.com>
 # Scott McNutt <smcnutt@psyent.com>
 
-CONFIG_STANDALONE_LOAD_ADDR ?= 0x02000000
-
 PLATFORM_CPPFLAGS += -D__NIOS2__
 PLATFORM_CPPFLAGS += -G0
 
diff --git a/arch/powerpc/config.mk b/arch/powerpc/config.mk
index 307ca65..725a4f4 100644
--- a/arch/powerpc/config.mk
+++ b/arch/powerpc/config.mk
@@ -3,7 +3,6 @@
 # (C) Copyright 2000-2010
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 
-CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
 LDFLAGS_FINAL += --gc-sections
 LDFLAGS_FINAL += --bss-plt
 PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \
diff --git a/arch/riscv/config.mk b/arch/riscv/config.mk
index 1ebce5b..a8ed3fa 100644
--- a/arch/riscv/config.mk
+++ b/arch/riscv/config.mk
@@ -23,8 +23,6 @@
 EFI_LDS			:= elf_riscv64_efi.lds
 endif
 
-CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000
-
 PLATFORM_CPPFLAGS	+= -ffixed-gp -fpic
 PLATFORM_RELFLAGS	+= -fno-common -gdwarf-2 -ffunction-sections \
 			   -fdata-sections
diff --git a/arch/sh/config.mk b/arch/sh/config.mk
index 78bb266..a408264 100644
--- a/arch/sh/config.mk
+++ b/arch/sh/config.mk
@@ -3,7 +3,6 @@
 # (C) Copyright 2000-2002
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 
-CONFIG_STANDALONE_LOAD_ADDR ?= 0x8C000000
 ifeq ($(CPU),sh2)
 LDFLAGS_STANDALONE += -EB
 endif
diff --git a/arch/x86/config.mk b/arch/x86/config.mk
index 889497b..a4a694d 100644
--- a/arch/x86/config.mk
+++ b/arch/x86/config.mk
@@ -3,8 +3,6 @@
 # (C) Copyright 2000-2002
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 
-CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
-
 PLATFORM_CPPFLAGS += -fomit-frame-pointer
 PF_CPPFLAGS_X86   := $(call cc-option, -fno-toplevel-reorder, \
 		     $(call cc-option, -fno-unit-at-a-time))
diff --git a/configs/display5_defconfig b/configs/display5_defconfig
index dbd917b..c46a0a0 100644
--- a/configs/display5_defconfig
+++ b/configs/display5_defconfig
@@ -30,6 +30,7 @@
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI=y
 CONFIG_SYS_MONITOR_LEN=409600
+CONFIG_STANDALONE_LOAD_ADDR=0x10001000
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
diff --git a/configs/display5_factory_defconfig b/configs/display5_factory_defconfig
index 7508702..cacdf33 100644
--- a/configs/display5_factory_defconfig
+++ b/configs/display5_factory_defconfig
@@ -27,6 +27,7 @@
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI=y
 CONFIG_SYS_MONITOR_LEN=409600
+CONFIG_STANDALONE_LOAD_ADDR=0x10001000
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
diff --git a/configs/microchip_mpfs_icicle_defconfig b/configs/microchip_mpfs_icicle_defconfig
index fbb2df4..c2b938e 100644
--- a/configs/microchip_mpfs_icicle_defconfig
+++ b/configs/microchip_mpfs_icicle_defconfig
@@ -12,6 +12,7 @@
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
diff --git a/configs/qemu-riscv32_defconfig b/configs/qemu-riscv32_defconfig
index 425bb37..844c953 100644
--- a/configs/qemu-riscv32_defconfig
+++ b/configs/qemu-riscv32_defconfig
@@ -9,6 +9,7 @@
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
 CONFIG_SYS_MONITOR_LEN=786432
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
diff --git a/configs/qemu-riscv32_smode_defconfig b/configs/qemu-riscv32_smode_defconfig
index eeb9036..2be349a 100644
--- a/configs/qemu-riscv32_smode_defconfig
+++ b/configs/qemu-riscv32_smode_defconfig
@@ -10,6 +10,7 @@
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
 CONFIG_SYS_MONITOR_LEN=786432
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
diff --git a/configs/qemu-riscv32_spl_defconfig b/configs/qemu-riscv32_spl_defconfig
index 04447e5..894b6d5 100644
--- a/configs/qemu-riscv32_spl_defconfig
+++ b/configs/qemu-riscv32_spl_defconfig
@@ -12,6 +12,7 @@
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
 CONFIG_SYS_MONITOR_LEN=786432
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000
 CONFIG_DISPLAY_CPUINFO=y
diff --git a/configs/qemu-riscv64_defconfig b/configs/qemu-riscv64_defconfig
index 7430fa0..8b558e6 100644
--- a/configs/qemu-riscv64_defconfig
+++ b/configs/qemu-riscv64_defconfig
@@ -9,6 +9,7 @@
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
diff --git a/configs/qemu-riscv64_smode_defconfig b/configs/qemu-riscv64_smode_defconfig
index 03ef58b..6ed88de 100644
--- a/configs/qemu-riscv64_smode_defconfig
+++ b/configs/qemu-riscv64_smode_defconfig
@@ -10,6 +10,7 @@
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_USE_PREBOOT=y
 CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
diff --git a/configs/qemu-riscv64_spl_defconfig b/configs/qemu-riscv64_spl_defconfig
index 840e0ff..adc6f73 100644
--- a/configs/qemu-riscv64_spl_defconfig
+++ b/configs/qemu-riscv64_spl_defconfig
@@ -11,6 +11,7 @@
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000
 CONFIG_DISPLAY_CPUINFO=y
diff --git a/configs/sifive_unleashed_defconfig b/configs/sifive_unleashed_defconfig
index 99faaba..6c85962 100644
--- a/configs/sifive_unleashed_defconfig
+++ b/configs/sifive_unleashed_defconfig
@@ -16,6 +16,7 @@
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x84000000
 CONFIG_USE_PREBOOT=y
diff --git a/configs/sifive_unmatched_defconfig b/configs/sifive_unmatched_defconfig
index c390af2..3d96aa5 100644
--- a/configs/sifive_unmatched_defconfig
+++ b/configs/sifive_unmatched_defconfig
@@ -19,6 +19,7 @@
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
+CONFIG_STANDALONE_LOAD_ADDR=0x80200000
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x84000000
 CONFIG_USE_PREBOOT=y
diff --git a/configs/xtfpga_defconfig b/configs/xtfpga_defconfig
index f5eeea4..d3a350f 100644
--- a/configs/xtfpga_defconfig
+++ b/configs/xtfpga_defconfig
@@ -9,6 +9,7 @@
 CONFIG_ENV_ADDR=0xF7FE0000
 CONFIG_XTFPGA_KC705=y
 CONFIG_SYS_MONITOR_LEN=262144
+CONFIG_STANDALONE_LOAD_ADDR=0x00800000
 CONFIG_SYS_MONITOR_BASE=0xF6000000
 CONFIG_DYNAMIC_SYS_CLK_FREQ=y
 CONFIG_SHOW_BOOT_PROGRESS=y
diff --git a/include/configs/display5.h b/include/configs/display5.h
index 5cbeb92..4401515 100644
--- a/include/configs/display5.h
+++ b/include/configs/display5.h
@@ -276,8 +276,6 @@
 
 /* Miscellaneous configurable options */
 
-#define CONFIG_STANDALONE_LOAD_ADDR	0x10001000
-
 /* Physical Memory Map */
 #define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
 #define CFG_SYS_SDRAM_BASE		PHYS_SDRAM
diff --git a/include/configs/microchip_mpfs_icicle.h b/include/configs/microchip_mpfs_icicle.h
index 3def93d..c73c5a1 100644
--- a/include/configs/microchip_mpfs_icicle.h
+++ b/include/configs/microchip_mpfs_icicle.h
@@ -11,8 +11,6 @@
 
 #define CFG_SYS_SDRAM_BASE       0x80000000
 
-#define CONFIG_STANDALONE_LOAD_ADDR 0x80200000
-
 /* Environment options */
 
 #define BOOT_TARGET_DEVICES(func) \
diff --git a/include/configs/opos6uldev.h b/include/configs/opos6uldev.h
index 5c44b9d..459134b 100644
--- a/include/configs/opos6uldev.h
+++ b/include/configs/opos6uldev.h
@@ -11,7 +11,6 @@
 #include "mx6_common.h"
 
 /* Miscellaneous configurable options */
-#define CONFIG_STANDALONE_LOAD_ADDR	CONFIG_SYS_LOAD_ADDR
 
 /* Physical Memory Map */
 #define CFG_SYS_SDRAM_BASE		MMDC0_ARB_BASE_ADDR
diff --git a/include/configs/qemu-riscv.h b/include/configs/qemu-riscv.h
index 72f35cc..35172da 100644
--- a/include/configs/qemu-riscv.h
+++ b/include/configs/qemu-riscv.h
@@ -10,8 +10,6 @@
 
 #define CFG_SYS_SDRAM_BASE		0x80000000
 
-#define CONFIG_STANDALONE_LOAD_ADDR	0x80200000
-
 #define RISCV_MMODE_TIMERBASE		0x2000000
 #define RISCV_MMODE_TIMER_FREQ		1000000
 
diff --git a/include/configs/sifive-unleashed.h b/include/configs/sifive-unleashed.h
index 5ad2124..4a453a9 100644
--- a/include/configs/sifive-unleashed.h
+++ b/include/configs/sifive-unleashed.h
@@ -13,8 +13,6 @@
 
 #define CFG_SYS_SDRAM_BASE		0x80000000
 
-#define CONFIG_STANDALONE_LOAD_ADDR	0x80200000
-
 #define RISCV_MMODE_TIMERBASE		0x2000000
 #define RISCV_MMODE_TIMER_FREQ		1000000
 
diff --git a/include/configs/sifive-unmatched.h b/include/configs/sifive-unmatched.h
index f4b1a16..ac42108 100644
--- a/include/configs/sifive-unmatched.h
+++ b/include/configs/sifive-unmatched.h
@@ -13,8 +13,6 @@
 
 #define CFG_SYS_SDRAM_BASE		0x80000000
 
-#define CONFIG_STANDALONE_LOAD_ADDR	0x80200000
-
 /* Environment options */
 
 #define BOOT_TARGET_DEVICES(func) \
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index 496139f..5d82e7e 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -73,9 +73,6 @@
  * Miscellaneous configurable options
  */
 
-/* standalone support */
-#define CONFIG_STANDALONE_LOAD_ADDR	CONFIG_SYS_LOAD_ADDR
-
 /* FLASH and environment organization */
 
 /*
diff --git a/include/configs/xtfpga.h b/include/configs/xtfpga.h
index 9201dac..e0189c5 100644
--- a/include/configs/xtfpga.h
+++ b/include/configs/xtfpga.h
@@ -53,22 +53,6 @@
 
 /* Memory test is destructive so default must not overlap vectors or U-Boot*/
 
-/* Load address for stand-alone applications.
- * MEMADDR cannot be used here, because the definition needs to be
- * a plain number as it's used as -Ttext argument for ld in standalone
- * example makefile.
- * Handle noMMU vs MMUv2 vs MMUv3 distinction here manually.
- */
-#if XCHAL_HAVE_PTP_MMU
-#if XCHAL_VECBASE_RESET_VADDR == XCHAL_VECBASE_RESET_PADDR
-#define CONFIG_STANDALONE_LOAD_ADDR	0x00800000
-#else
-#define CONFIG_STANDALONE_LOAD_ADDR	0xd0800000
-#endif
-#else
-#define CONFIG_STANDALONE_LOAD_ADDR	0x60800000
-#endif
-
 #if defined(CONFIG_MAX_MEM_MAPPED) && \
 	CONFIG_MAX_MEM_MAPPED < CFG_SYS_SDRAM_SIZE
 #define XTENSA_SYS_TEXT_ADDR		\