Skip to content
Snippets Groups Projects
Commit c1c3fe23 authored by Simon Glass's avatar Simon Glass Committed by Tom Rini
Browse files

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: default avatarSimon Glass <sjg@chromium.org>
[trini: Move all of the imply logic to default X if Y so it works again]
Signed-off-by: default avatarTom Rini <trini@konsulko.com>
parent 4415f1d1
Branches
Tags
No related merge requests found
Showing
with 57 additions and 9 deletions
...@@ -10,7 +10,6 @@ config INTEL_QUARK ...@@ -10,7 +10,6 @@ config INTEL_QUARK
select ARCH_EARLY_INIT_R select ARCH_EARLY_INIT_R
select ARCH_MISC_INIT select ARCH_MISC_INIT
imply ENABLE_MRC_CACHE imply ENABLE_MRC_CACHE
imply ENV_IS_IN_SPI_FLASH
imply ETH_DESIGNWARE imply ETH_DESIGNWARE
imply ICH_SPI imply ICH_SPI
imply INTEL_ICH6_GPIO imply INTEL_ICH6_GPIO
......
...@@ -9,7 +9,6 @@ config INTEL_QUEENSBAY ...@@ -9,7 +9,6 @@ config INTEL_QUEENSBAY
select HAVE_FSP select HAVE_FSP
select HAVE_CMC select HAVE_CMC
select ARCH_EARLY_INIT_R select ARCH_EARLY_INIT_R
imply ENV_IS_IN_SPI_FLASH
imply AHCI_PCI imply AHCI_PCI
imply ICH_SPI imply ICH_SPI
imply INTEL_ICH6_GPIO imply INTEL_ICH6_GPIO
......
...@@ -42,4 +42,3 @@ config TI_COMMON_CMD_OPTIONS ...@@ -42,4 +42,3 @@ config TI_COMMON_CMD_OPTIONS
imply CMD_SPI imply CMD_SPI
imply CMD_TIME imply CMD_TIME
imply CMD_USB if USB imply CMD_USB if USB
imply ENV_IS_IN_FAT if MMC_OMAP_HS
...@@ -38,3 +38,4 @@ CONFIG_DM_PCI=y ...@@ -38,3 +38,4 @@ CONFIG_DM_PCI=y
CONFIG_PCI_XILINX=y CONFIG_PCI_XILINX=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_LZ4=y CONFIG_LZ4=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -39,3 +39,4 @@ CONFIG_DM_PCI=y ...@@ -39,3 +39,4 @@ CONFIG_DM_PCI=y
CONFIG_PCI_XILINX=y CONFIG_PCI_XILINX=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_LZ4=y CONFIG_LZ4=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -39,3 +39,4 @@ CONFIG_DM_PCI=y ...@@ -39,3 +39,4 @@ CONFIG_DM_PCI=y
CONFIG_PCI_XILINX=y CONFIG_PCI_XILINX=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_LZ4=y CONFIG_LZ4=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -40,3 +40,4 @@ CONFIG_DM_PCI=y ...@@ -40,3 +40,4 @@ CONFIG_DM_PCI=y
CONFIG_PCI_XILINX=y CONFIG_PCI_XILINX=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_LZ4=y CONFIG_LZ4=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -24,6 +24,7 @@ CONFIG_CMD_EXT4_WRITE=y ...@@ -24,6 +24,7 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y CONFIG_CMD_FS_GENERIC=y
CONFIG_OF_EMBED=y CONFIG_OF_EMBED=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_CPU=y CONFIG_CPU=y
CONFIG_DFU_MMC=y CONFIG_DFU_MMC=y
CONFIG_DFU_RAM=y CONFIG_DFU_RAM=y
......
...@@ -21,3 +21,4 @@ CONFIG_OF_EMBED=y ...@@ -21,3 +21,4 @@ CONFIG_OF_EMBED=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -22,3 +22,4 @@ CONFIG_OF_EMBED=y ...@@ -22,3 +22,4 @@ CONFIG_OF_EMBED=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -20,3 +20,4 @@ CONFIG_OF_EMBED=y ...@@ -20,3 +20,4 @@ CONFIG_OF_EMBED=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -21,3 +21,4 @@ CONFIG_OF_EMBED=y ...@@ -21,3 +21,4 @@ CONFIG_OF_EMBED=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -37,6 +37,7 @@ CONFIG_CMD_UBI=y ...@@ -37,6 +37,7 @@ CONFIG_CMD_UBI=y
# CONFIG_CMD_UBIFS is not set # CONFIG_CMD_UBIFS is not set
CONFIG_SPL_OF_CONTROL=y CONFIG_SPL_OF_CONTROL=y
CONFIG_OF_EMBED=y CONFIG_OF_EMBED=y
CONFIG_ENV_IS_IN_FLASH=y
CONFIG_NETCONSOLE=y CONFIG_NETCONSOLE=y
CONFIG_SPL_DM=y CONFIG_SPL_DM=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
......
...@@ -16,3 +16,4 @@ CONFIG_CMD_FAT=y ...@@ -16,3 +16,4 @@ CONFIG_CMD_FAT=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_LZMA=y CONFIG_LZMA=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -17,3 +17,4 @@ CONFIG_CMD_FAT=y ...@@ -17,3 +17,4 @@ CONFIG_CMD_FAT=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_LZMA=y CONFIG_LZMA=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -14,3 +14,4 @@ CONFIG_CMD_FAT=y ...@@ -14,3 +14,4 @@ CONFIG_CMD_FAT=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_LZMA=y CONFIG_LZMA=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -15,3 +15,4 @@ CONFIG_CMD_FAT=y ...@@ -15,3 +15,4 @@ CONFIG_CMD_FAT=y
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_LZMA=y CONFIG_LZMA=y
CONFIG_ENV_IS_IN_FLASH=y
...@@ -17,6 +17,7 @@ CONFIG_CMD_DHCP=y ...@@ -17,6 +17,7 @@ CONFIG_CMD_DHCP=y
CONFIG_CMD_MII=y CONFIG_CMD_MII=y
CONFIG_CMD_PING=y CONFIG_CMD_PING=y
CONFIG_OF_CONTROL=y CONFIG_OF_CONTROL=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_CLK=y CONFIG_CLK=y
CONFIG_CLK_RENESAS=y CONFIG_CLK_RENESAS=y
CONFIG_SH_SDHI=y CONFIG_SH_SDHI=y
......
...@@ -18,6 +18,7 @@ CONFIG_CMD_DHCP=y ...@@ -18,6 +18,7 @@ CONFIG_CMD_DHCP=y
CONFIG_CMD_MII=y CONFIG_CMD_MII=y
CONFIG_CMD_PING=y CONFIG_CMD_PING=y
CONFIG_OF_CONTROL=y CONFIG_OF_CONTROL=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_CLK=y CONFIG_CLK=y
CONFIG_CLK_RENESAS=y CONFIG_CLK_RENESAS=y
CONFIG_SH_SDHI=y CONFIG_SH_SDHI=y
......
menu "Environment" menu "Environment"
choice
prompt "Select the location of the environment"
default ENV_IS_IN_MMC if ARCH_SUNXI
default ENV_IS_IN_FAT if ARCH_BCM283X
default ENV_IS_IN_MMC if ARCH_UNIPHIER
default ENV_IS_IN_MMC if ARCH_EXYNOS4
default ENV_IS_IN_MMC if MX6SX || MX7D
default ENV_IS_IN_FLASH if ARCH_CINTEGRATOR
default ENV_IS_IN_SPI_FLASH if ARMADA_XP
default ENV_IS_IN_MMC if TEGRA30 || TEGRA124
default ENV_IS_IN_MMC if TEGRA_ARMV8_COMMON
default ENV_IS_IN_FLASH if ARCH_INTEGRATOR_CP
default ENV_IS_IN_FLASH if M548x || M547x || M5282 || MCF547x_8x
default ENV_IS_IN_FLASH if MCF532x || MCF52x2
default ENV_IS_IN_FLASH if MPC86xx || MPC83xx
default ENV_IS_IN_FLASH if ARCH_MPC8572 || ARCH_MPC8548 || ARCH_MPC8641
default ENV_IS_IN_FLASH if SH && !CPU_SH4
default ENV_IS_IN_SPI_FLASH if INTEL_BAYTRAIL
default ENV_IS_IN_SPI_FLASH if INTEL_BROADWELL
default ENV_IS_IN_SPI_FLASH if NORTHBRIDGE_INTEL_IVYBRIDGE
default ENV_IS_IN_SPI_FLASH if INTEL_QUARK
default ENV_IS_IN_SPI_FLASH if INTEL_QUEENSBAY
default ENV_IS_IN_FAT if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
default ENV_IS_NOWHERE
help
At present the environment can be stored in only one place. Use this
option to select the location. This is either a device (where the
environemnt information is simply written to a fixed location or
partition on the device) or a filesystem (where the environment
information is written to a file).
config ENV_IS_NOWHERE
bool "Environment is not stored"
help
Define this if you don't want to or can't have an environment stored
on a storage medium. In this case the environemnt will still exist
while U-Boot is running, but once U-Boot exits it will not be
stored. U-Boot will therefore always start up with a default
environment.
config ENV_IS_IN_DATAFLASH config ENV_IS_IN_DATAFLASH
bool "Environment in dataflash" bool "Environment in dataflash"
depends on !CHAIN_OF_TRUST depends on !CHAIN_OF_TRUST
...@@ -161,7 +201,6 @@ config ENV_IS_IN_FLASH ...@@ -161,7 +201,6 @@ config ENV_IS_IN_FLASH
config ENV_IS_IN_MMC config ENV_IS_IN_MMC
bool "Environment in an MMC device" bool "Environment in an MMC device"
depends on !CHAIN_OF_TRUST depends on !CHAIN_OF_TRUST
default y if ARCH_SUNXI
help help
Define this if you have an MMC device which you want to use for the Define this if you have an MMC device which you want to use for the
environment. environment.
...@@ -364,11 +403,7 @@ config ENV_IS_IN_UBI ...@@ -364,11 +403,7 @@ config ENV_IS_IN_UBI
You will probably want to define these to avoid a really noisy system You will probably want to define these to avoid a really noisy system
when storing the env in UBI. when storing the env in UBI.
config ENV_IS_NOWHERE endchoice
bool "Environment is not stored"
help
Define this if you don't want to or can't have an environment stored
on a storage medium
config ENV_FAT_INTERFACE config ENV_FAT_INTERFACE
string "Name of the block device for the environment" string "Name of the block device for the environment"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment