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>
This commit is contained in:
Simon Glass 2017-08-03 12:21:59 -06:00 committed by Tom Rini
parent 4415f1d1f1
commit c1c3fe2307
42 changed files with 57 additions and 61 deletions

View file

@ -493,7 +493,6 @@ config ARCH_BCM283X
select DM_GPIO
select OF_CONTROL
imply FAT_WRITE
imply ENV_IS_IN_FAT
config TARGET_VEXPRESS_CA15_TC2
bool "Support vexpress_ca15_tc2"
@ -1039,7 +1038,6 @@ config ARCH_UNIPHIER
select SPL_PINCTRL if SPL
select SUPPORT_SPL
imply FAT_WRITE
imply ENV_IS_IN_MMC
help
Support for UniPhier SoC family developed by Socionext Inc.
(formerly, System LSI Business Division of Panasonic Corporation)

View file

@ -8,7 +8,6 @@ config ARCH_EXYNOS4
bool "Exynos4 SoC family"
select CPU_V7
select BOARD_EARLY_INIT_F
imply ENV_IS_IN_MMC
help
Samsung Exynos4 SoC family are based on ARM Cortex-A9 CPU. There
are multiple SoCs in this family including Exynos4210, Exynos4412,

View file

@ -30,7 +30,6 @@ config MX6SL
config MX6SX
select ROM_UNIFIED_SECTIONS
bool
imply ENV_IS_IN_MMC
config MX6SLL
select ROM_UNIFIED_SECTIONS

View file

@ -13,7 +13,6 @@ config MX7D
select ROM_UNIFIED_SECTIONS
imply CMD_FUSE
bool
imply ENV_IS_IN_MMC
choice
prompt "MX7 board select"

View file

@ -11,13 +11,11 @@ config ARCH_INTEGRATOR_AP
config ARCH_INTEGRATOR_CP
bool "Support Integrator/CP platform"
select ARCH_CINTEGRATOR
imply ENV_IS_IN_FLASH
endchoice
config ARCH_CINTEGRATOR
bool
imply ENV_IS_IN_FLASH
choice
prompt "Integrator core module select"

View file

@ -32,7 +32,6 @@ config ARMADA_38X
config ARMADA_XP
bool
select ARMADA_32BIT
imply ENV_IS_IN_SPI_FLASH
# ARMv8 SoCs...
config ARMADA_3700

View file

@ -62,7 +62,6 @@ config MACH_SUNXI_H3_H5
select SUNXI_DRAM_DW_32BIT
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
imply ENV_IS_IN_MMC
choice
prompt "Sunxi SoC Variant"
@ -74,7 +73,6 @@ config MACH_SUN4I
select ARM_CORTEX_CPU_IS_UP
select SUNXI_GEN_SUN4I
select SUPPORT_SPL
imply ENV_IS_IN_MMC
config MACH_SUN5I
bool "sun5i (Allwinner A13)"
@ -92,7 +90,6 @@ config MACH_SUN6I
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
imply ENV_IS_IN_MMC
config MACH_SUN7I
bool "sun7i (Allwinner A20)"
@ -103,7 +100,6 @@ config MACH_SUN7I
select SUNXI_GEN_SUN4I
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
imply ENV_IS_IN_MMC
config MACH_SUN8I_A23
bool "sun8i (Allwinner A23)"
@ -114,7 +110,6 @@ config MACH_SUN8I_A23
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
imply ENV_IS_IN_MMC
config MACH_SUN8I_A33
bool "sun8i (Allwinner A33)"
@ -140,7 +135,6 @@ config MACH_SUN8I_H3
select ARCH_SUPPORT_PSCI
select MACH_SUNXI_H3_H5
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
imply ENV_IS_IN_MMC
config MACH_SUN8I_R40
bool "sun8i (Allwinner R40)"

View file

@ -60,7 +60,6 @@ config TEGRA_ARMV8_COMMON
bool "Tegra 64-bit common options"
select ARM64
select TEGRA_COMMON
imply ENV_IS_IN_MMC
choice
prompt "Tegra SoC select"
@ -78,7 +77,6 @@ config TEGRA30
select ARM_ERRATA_743622
select ARM_ERRATA_751472
select TEGRA_ARMV7_COMMON
imply ENV_IS_IN_MMC
config TEGRA114
bool "Tegra114 family"
@ -87,7 +85,6 @@ config TEGRA114
config TEGRA124
bool "Tegra124 family"
select TEGRA_ARMV7_COMMON
imply ENV_IS_IN_MMC
imply REGMAP
imply SYSCON

View file

@ -10,7 +10,6 @@ config MCF520x
config MCF52x2
bool
imply ENV_IS_IN_FLASH
config MCF523x
bool
@ -23,7 +22,6 @@ config MCF5301x
config MCF532x
bool
imply ENV_IS_IN_FLASH
config MCF537x
bool
@ -39,7 +37,6 @@ config MCF5227x
config MCF547x_8x
bool
imply ENV_IS_IN_FLASH
# processor type
config M5208
@ -73,7 +70,6 @@ config M5275
config M5282
bool
select MCF52x2
imply ENV_IS_IN_FLASH
config M5307
bool
@ -111,12 +107,10 @@ config M52277
config M547x
bool
select MCF547x_8x
imply ENV_IS_IN_FLASH
config M548x
bool
select MCF547x_8x
imply ENV_IS_IN_FLASH
choice
prompt "Target select"
@ -197,12 +191,10 @@ config TARGET_M54455EVB
config TARGET_M5475EVB
bool "Support M5475EVB"
select M547x
imply ENV_IS_IN_FLASH
config TARGET_M5485EVB
bool "Support M5485EVB"
select M548x
imply ENV_IS_IN_FLASH
config TARGET_AMCORE
bool "Support AMCORE"

View file

@ -21,7 +21,6 @@ config TARGET_QEMU_MIPS
select SUPPORTS_CPU_MIPS64_R1
select SUPPORTS_CPU_MIPS64_R2
select ROM_EXCEPTION_VECTORS
imply ENV_IS_IN_FLASH
config TARGET_MALTA
bool "Support malta"
@ -43,7 +42,6 @@ config TARGET_MALTA
select SWAP_IO_SPACE
select MIPS_L1_CACHE_SHIFT_6
select ROM_EXCEPTION_VECTORS
imply ENV_IS_IN_FLASH
config TARGET_VCT
bool "Support vct"
@ -85,7 +83,6 @@ config ARCH_BMIPS
select CPU
select RAM
select SYSRESET
imply ENV_IS_NOWHERE
config MACH_PIC32
bool "Support Microchip PIC32"
@ -110,7 +107,6 @@ config TARGET_BOSTON
select SUPPORTS_CPU_MIPS64_R2
select SUPPORTS_CPU_MIPS64_R6
select ROM_EXCEPTION_VECTORS
imply ENV_IS_IN_FLASH
config TARGET_XILFPGA
bool "Support Imagination Xilfpga"
@ -200,7 +196,6 @@ config CPU_MIPS64_R2
bool "MIPS64 Release 2"
depends on SUPPORTS_CPU_MIPS64_R2
select 64BIT
imply ENV_IS_IN_FLASH
help
Choose this option to build a kernel for release 2 through 5 of the
MIPS64 architecture.

View file

@ -28,7 +28,6 @@ config MPC86xx
bool "MPC86xx"
select SYS_FSL_DDR
select SYS_FSL_DDR_BE
imply ENV_IS_IN_FLASH
imply CMD_REGINFO
config 8xx

View file

@ -13,7 +13,6 @@ config TARGET_MPC8308_P1M
config TARGET_SBC8349
bool "Support sbc8349"
imply ENV_IS_IN_FLASH
config TARGET_VE8313
bool "Support ve8313"
@ -40,7 +39,6 @@ config TARGET_MPC8323ERDB
config TARGET_MPC832XEMDS
bool "Support MPC832XEMDS"
select BOARD_EARLY_INIT_F
imply ENV_IS_IN_FLASH
config TARGET_MPC8349EMDS
bool "Support MPC8349EMDS"
@ -52,7 +50,6 @@ config TARGET_MPC8349EMDS
config TARGET_MPC8349ITX
bool "Support MPC8349ITX"
imply CMD_IRQ
imply ENV_IS_IN_FLASH
config TARGET_MPC837XEMDS
bool "Support MPC837XEMDS"
@ -77,13 +74,11 @@ config TARGET_SUVD3
bool "Support suvd3"
imply CMD_CRAMFS
imply FS_CRAMFS
imply ENV_IS_IN_FLASH
config TARGET_TUXX1
bool "Support tuxx1"
imply CMD_CRAMFS
imply FS_CRAMFS
imply ENV_IS_IN_FLASH
config TARGET_TQM834X
bool "Support TQM834x"
@ -95,7 +90,6 @@ config TARGET_HRCON
config TARGET_STRIDER
bool "Support strider"
select SYS_FSL_ERRATUM_ESDHC111
imply ENV_IS_IN_FLASH
imply CMD_PCA953X
endchoice

View file

@ -19,7 +19,6 @@ choice
config TARGET_SBC8548
bool "Support sbc8548"
select ARCH_MPC8548
imply ENV_IS_IN_FLASH
config TARGET_SOCRATES
bool "Support socrates"
@ -105,7 +104,6 @@ config TARGET_MPC8544DS
config TARGET_MPC8548CDS
bool "Support MPC8548CDS"
select ARCH_MPC8548
imply ENV_IS_IN_FLASH
config TARGET_MPC8555CDS
bool "Support MPC8555CDS"
@ -565,7 +563,6 @@ config ARCH_MPC8548
select SYS_FSL_SEC_BE
select SYS_FSL_SEC_COMPAT_2
select SYS_PPC_E500_USE_DEBUG_TLB
imply ENV_IS_IN_FLASH
imply CMD_REGINFO
config ARCH_MPC8555
@ -616,7 +613,6 @@ config ARCH_MPC8572
select SYS_PPC_E500_USE_DEBUG_TLB
select FSL_ELBC
imply CMD_NAND
imply ENV_IS_IN_FLASH
config ARCH_P1010
bool

View file

@ -40,7 +40,6 @@ config ARCH_MPC8641
select FSL_LAW
select SYS_FSL_HAS_DDR1
select SYS_FSL_HAS_DDR2
imply ENV_IS_IN_FLASH
config FSL_LAW
bool

View file

@ -3,16 +3,13 @@ menu "SuperH architecture"
config CPU_SH2
bool
imply ENV_IS_IN_FLASH
config CPU_SH2A
bool
select CPU_SH2
imply ENV_IS_IN_FLASH
config CPU_SH3
bool
imply ENV_IS_IN_FLASH
config CPU_SH4
bool

View file

@ -10,7 +10,6 @@ config INTEL_BAYTRAIL
select ARCH_MISC_INIT if !EFI
imply HAVE_INTEL_ME if !EFI
imply ENABLE_MRC_CACHE
imply ENV_IS_IN_SPI_FLASH
imply AHCI_PCI
imply ICH_SPI
imply INTEL_ICH6_GPIO

View file

@ -9,7 +9,6 @@ config INTEL_BROADWELL
select ARCH_EARLY_INIT_R
imply HAVE_INTEL_ME
imply ENABLE_MRC_CACHE
imply ENV_IS_IN_SPI_FLASH
imply AHCI_PCI
imply ICH_SPI
imply INTEL_BROADWELL_GPIO

View file

@ -3,7 +3,6 @@ if TARGET_COREBOOT
config SYS_COREBOOT
bool
default y
imply ENV_IS_NOWHERE
imply AHCI_PCI
imply E1000
imply ICH_SPI

View file

@ -10,7 +10,6 @@ config NORTHBRIDGE_INTEL_IVYBRIDGE
select CACHE_MRC_BIN if HAVE_MRC
imply HAVE_INTEL_ME
imply ENABLE_MRC_CACHE
imply ENV_IS_IN_SPI_FLASH
imply AHCI_PCI
imply ICH_SPI
imply INTEL_ICH6_GPIO

View file

@ -7,7 +7,6 @@
config QEMU
bool
select ARCH_EARLY_INIT_R
imply ENV_IS_NOWHERE
imply AHCI_PCI
imply E1000
imply SYS_NS16550

View file

@ -10,7 +10,6 @@ config INTEL_QUARK
select ARCH_EARLY_INIT_R
select ARCH_MISC_INIT
imply ENABLE_MRC_CACHE
imply ENV_IS_IN_SPI_FLASH
imply ETH_DESIGNWARE
imply ICH_SPI
imply INTEL_ICH6_GPIO

View file

@ -9,7 +9,6 @@ config INTEL_QUEENSBAY
select HAVE_FSP
select HAVE_CMC
select ARCH_EARLY_INIT_R
imply ENV_IS_IN_SPI_FLASH
imply AHCI_PCI
imply ICH_SPI
imply INTEL_ICH6_GPIO

View file

@ -42,4 +42,3 @@ config TI_COMMON_CMD_OPTIONS
imply CMD_SPI
imply CMD_TIME
imply CMD_USB if USB
imply ENV_IS_IN_FAT if MMC_OMAP_HS

View file

@ -38,3 +38,4 @@ CONFIG_DM_PCI=y
CONFIG_PCI_XILINX=y
CONFIG_SYS_NS16550=y
CONFIG_LZ4=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -39,3 +39,4 @@ CONFIG_DM_PCI=y
CONFIG_PCI_XILINX=y
CONFIG_SYS_NS16550=y
CONFIG_LZ4=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -39,3 +39,4 @@ CONFIG_DM_PCI=y
CONFIG_PCI_XILINX=y
CONFIG_SYS_NS16550=y
CONFIG_LZ4=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -40,3 +40,4 @@ CONFIG_DM_PCI=y
CONFIG_PCI_XILINX=y
CONFIG_SYS_NS16550=y
CONFIG_LZ4=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -24,6 +24,7 @@ CONFIG_CMD_EXT4_WRITE=y
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

View file

@ -21,3 +21,4 @@ CONFIG_OF_EMBED=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_PCI=y
CONFIG_SYS_NS16550=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -22,3 +22,4 @@ CONFIG_OF_EMBED=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_PCI=y
CONFIG_SYS_NS16550=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -20,3 +20,4 @@ CONFIG_OF_EMBED=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_PCI=y
CONFIG_SYS_NS16550=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -21,3 +21,4 @@ CONFIG_OF_EMBED=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_PCI=y
CONFIG_SYS_NS16550=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -37,6 +37,7 @@ CONFIG_CMD_UBI=y
# 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

View file

@ -16,3 +16,4 @@ CONFIG_CMD_FAT=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_SYS_NS16550=y
CONFIG_LZMA=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -17,3 +17,4 @@ CONFIG_CMD_FAT=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_SYS_NS16550=y
CONFIG_LZMA=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -14,3 +14,4 @@ CONFIG_CMD_FAT=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_SYS_NS16550=y
CONFIG_LZMA=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -15,3 +15,4 @@ CONFIG_CMD_FAT=y
CONFIG_MTD_NOR_FLASH=y
CONFIG_SYS_NS16550=y
CONFIG_LZMA=y
CONFIG_ENV_IS_IN_FLASH=y

View file

@ -17,6 +17,7 @@ CONFIG_CMD_DHCP=y
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

View file

@ -18,6 +18,7 @@ CONFIG_CMD_DHCP=y
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

47
env/Kconfig vendored
View file

@ -1,5 +1,45 @@
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
bool "Environment in dataflash"
depends on !CHAIN_OF_TRUST
@ -161,7 +201,6 @@ config ENV_IS_IN_FLASH
config ENV_IS_IN_MMC
bool "Environment in an MMC device"
depends on !CHAIN_OF_TRUST
default y if ARCH_SUNXI
help
Define this if you have an MMC device which you want to use for the
environment.
@ -364,11 +403,7 @@ config ENV_IS_IN_UBI
You will probably want to define these to avoid a really noisy system
when storing the env in UBI.
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
endchoice
config ENV_FAT_INTERFACE
string "Name of the block device for the environment"

View file

@ -42,7 +42,6 @@
#define CONFIG_SYS_MEMTEST_END 0x01000000
/* Environment */
#define CONFIG_ENV_IS_IN_MMC
#define CONFIG_SYS_MMC_ENV_DEV 0
#define CONFIG_SYS_MMC_ENV_PART 0
#define CONFIG_ENV_SIZE (64 * 1024)

View file

@ -93,7 +93,6 @@ unsigned char ulcb_softspi_read(void);
#define CONFIG_SH_SDHI_FREQ 200000000
/* Environment in eMMC, at the end of 2nd "boot sector" */
#define CONFIG_ENV_IS_IN_MMC
#define CONFIG_ENV_OFFSET (-CONFIG_ENV_SIZE)
#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SYS_MMC_ENV_PART 2