env: Convert CONFIG_ENV_IS_IN... to a choice

At present we support multiple environment drivers but there is not way to
select between them at run time. Also settings related to the position and
size of the environment area are global (i.e. apply to all locations).

Until these limitations are removed we cannot really support more than one
environment location. Adjust the location to be a choice so that only one
can be selected. By default the environment is 'nowhere', meaning that the
environment exists only in memory and cannot be saved.

Also expand the help for the 'nowhere' option and move it to the top since
it is the default.

Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: Move all of the imply logic to default X if Y so it works again]
Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/configs/boston32r2_defconfig b/configs/boston32r2_defconfig
index 3129249..48983f5 100644
--- a/configs/boston32r2_defconfig
+++ b/configs/boston32r2_defconfig
@@ -38,3 +38,4 @@
 CONFIG_PCI_XILINX=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZ4=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/boston32r2el_defconfig b/configs/boston32r2el_defconfig
index ee47e2c..0e1cf29 100644
--- a/configs/boston32r2el_defconfig
+++ b/configs/boston32r2el_defconfig
@@ -39,3 +39,4 @@
 CONFIG_PCI_XILINX=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZ4=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/boston64r2_defconfig b/configs/boston64r2_defconfig
index a98fe97..5010a0e 100644
--- a/configs/boston64r2_defconfig
+++ b/configs/boston64r2_defconfig
@@ -39,3 +39,4 @@
 CONFIG_PCI_XILINX=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZ4=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/boston64r2el_defconfig b/configs/boston64r2el_defconfig
index a361447..ae090bf 100644
--- a/configs/boston64r2el_defconfig
+++ b/configs/boston64r2el_defconfig
@@ -40,3 +40,4 @@
 CONFIG_PCI_XILINX=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZ4=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/edison_defconfig b/configs/edison_defconfig
index b55cc78..0aa7a45 100644
--- a/configs/edison_defconfig
+++ b/configs/edison_defconfig
@@ -24,6 +24,7 @@
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_CPU=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
diff --git a/configs/malta64_defconfig b/configs/malta64_defconfig
index c70c1cc..9a4ef27 100644
--- a/configs/malta64_defconfig
+++ b/configs/malta64_defconfig
@@ -21,3 +21,4 @@
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PCI=y
 CONFIG_SYS_NS16550=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/malta64el_defconfig b/configs/malta64el_defconfig
index a05d76d..1d076d4 100644
--- a/configs/malta64el_defconfig
+++ b/configs/malta64el_defconfig
@@ -22,3 +22,4 @@
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PCI=y
 CONFIG_SYS_NS16550=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/malta_defconfig b/configs/malta_defconfig
index f0a0f20..6c7034e 100644
--- a/configs/malta_defconfig
+++ b/configs/malta_defconfig
@@ -20,3 +20,4 @@
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PCI=y
 CONFIG_SYS_NS16550=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/maltael_defconfig b/configs/maltael_defconfig
index dcbd5d0..c19f925 100644
--- a/configs/maltael_defconfig
+++ b/configs/maltael_defconfig
@@ -21,3 +21,4 @@
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PCI=y
 CONFIG_SYS_NS16550=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
index 1036abe..953801e 100644
--- a/configs/microblaze-generic_defconfig
+++ b/configs/microblaze-generic_defconfig
@@ -37,6 +37,7 @@
 # CONFIG_CMD_UBIFS is not set
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_NETCONSOLE=y
 CONFIG_SPL_DM=y
 CONFIG_MTD_NOR_FLASH=y
diff --git a/configs/qemu_mips64_defconfig b/configs/qemu_mips64_defconfig
index 6835cf1..4262934 100644
--- a/configs/qemu_mips64_defconfig
+++ b/configs/qemu_mips64_defconfig
@@ -16,3 +16,4 @@
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZMA=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/qemu_mips64el_defconfig b/configs/qemu_mips64el_defconfig
index 60bd616..6027835 100644
--- a/configs/qemu_mips64el_defconfig
+++ b/configs/qemu_mips64el_defconfig
@@ -17,3 +17,4 @@
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZMA=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/qemu_mips_defconfig b/configs/qemu_mips_defconfig
index c6f08b4..cedb906 100644
--- a/configs/qemu_mips_defconfig
+++ b/configs/qemu_mips_defconfig
@@ -14,3 +14,4 @@
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZMA=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/qemu_mipsel_defconfig b/configs/qemu_mipsel_defconfig
index b8c2069..5bb84da 100644
--- a/configs/qemu_mipsel_defconfig
+++ b/configs/qemu_mipsel_defconfig
@@ -15,3 +15,4 @@
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZMA=y
+CONFIG_ENV_IS_IN_FLASH=y
diff --git a/configs/r8a7795_ulcb_defconfig b/configs/r8a7795_ulcb_defconfig
index 6e967f5..8b6b03b 100644
--- a/configs/r8a7795_ulcb_defconfig
+++ b/configs/r8a7795_ulcb_defconfig
@@ -17,6 +17,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_OF_CONTROL=y
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_CLK=y
 CONFIG_CLK_RENESAS=y
 CONFIG_SH_SDHI=y
diff --git a/configs/r8a7796_ulcb_defconfig b/configs/r8a7796_ulcb_defconfig
index 62ec2a5..bc995de 100644
--- a/configs/r8a7796_ulcb_defconfig
+++ b/configs/r8a7796_ulcb_defconfig
@@ -18,6 +18,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_OF_CONTROL=y
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_CLK=y
 CONFIG_CLK_RENESAS=y
 CONFIG_SH_SDHI=y