env: Allow to build multiple environments in Kconfig

Now that we have everything in place in the code, let's allow to build
multiple environments backend through Kconfig.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
This commit is contained in:
Maxime Ripard 2018-01-23 21:17:01 +01:00 committed by Tom Rini
parent d282a1db6a
commit fb69464eae
5 changed files with 35 additions and 34 deletions

View file

@ -22,6 +22,7 @@ CONFIG_CMD_DATE=y
CONFIG_CMD_MTDPARTS=y CONFIG_CMD_MTDPARTS=y
CONFIG_MTDIDS_DEFAULT="nand0=e2800000.flash" CONFIG_MTDIDS_DEFAULT="nand0=e2800000.flash"
CONFIG_MTDPARTS_DEFAULT="mtdparts=e2800000.flash:512k(uboot),128k(env),6m@1m(kernel),-(fs)" CONFIG_MTDPARTS_DEFAULT="mtdparts=e2800000.flash:512k(uboot),128k(env),6m@1m(kernel),-(fs)"
# CONFIG_ENV_IS_IN_FLASH is not set
CONFIG_ENV_IS_IN_NAND=y CONFIG_ENV_IS_IN_NAND=y
# CONFIG_MMC is not set # CONFIG_MMC is not set
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y

View file

@ -22,6 +22,7 @@ CONFIG_CMD_DATE=y
CONFIG_CMD_MTDPARTS=y CONFIG_CMD_MTDPARTS=y
CONFIG_MTDIDS_DEFAULT="nand0=e2800000.flash" CONFIG_MTDIDS_DEFAULT="nand0=e2800000.flash"
CONFIG_MTDPARTS_DEFAULT="mtdparts=e2800000.flash:512k(uboot),128k(env),6m@1m(kernel),-(fs)" CONFIG_MTDPARTS_DEFAULT="mtdparts=e2800000.flash:512k(uboot),128k(env),6m@1m(kernel),-(fs)"
# CONFIG_ENV_IS_IN_FLASH is not set
CONFIG_ENV_IS_IN_NAND=y CONFIG_ENV_IS_IN_NAND=y
# CONFIG_MMC is not set # CONFIG_MMC is not set
CONFIG_MTD_NOR_FLASH=y CONFIG_MTD_NOR_FLASH=y

View file

@ -41,6 +41,7 @@ CONFIG_CMD_EXT4=y
CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y CONFIG_CMD_FS_GENERIC=y
# CONFIG_ENV_IS_IN_MMC is not set
CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_ENV_IS_IN_SPI_FLASH=y
CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_STMICRO=y

View file

@ -40,7 +40,6 @@ 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

65
env/Kconfig vendored
View file

@ -1,38 +1,18 @@
menu "Environment" menu "Environment"
choice
prompt "Select the location of the environment"
default ENV_IS_IN_MMC if ARCH_SUNXI
default ENV_IS_IN_MMC if ARCH_EXYNOS4
default ENV_IS_IN_MMC if MX6SX || MX7D
default ENV_IS_IN_MMC if TEGRA30 || TEGRA124
default ENV_IS_IN_MMC if TEGRA_ARMV8_COMMON
default ENV_IS_IN_FLASH if ARCH_CINTEGRATOR
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 ARMADA_XP
default ENV_IS_IN_SPI_FLASH if INTEL_BAYTRAIL
default ENV_IS_IN_SPI_FLASH if INTEL_BRASWELL
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 ARCH_BCM283X
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 config ENV_IS_NOWHERE
bool "Environment is not stored" bool "Environment is not stored"
depends on !ENV_IS_IN_EEPROM
depends on !ENV_IS_IN_FAT
depends on !ENV_IS_IN_FLASH
depends on !ENV_IS_IN_MMC
depends on !ENV_IS_IN_NAND
depends on !ENV_IS_IN_NVRAM
depends on !ENV_IS_IN_ONENAND
depends on !ENV_IS_IN_REMOTE
depends on !ENV_IS_IN_SPI_FLASH
depends on !ENV_IS_IN_UBI
default y
help help
Define this if you don't want to or can't have an environment stored 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 on a storage medium. In this case the environemnt will still exist
@ -74,6 +54,8 @@ config ENV_IS_IN_EEPROM
config ENV_IS_IN_FAT config ENV_IS_IN_FAT
bool "Environment is in a FAT filesystem" bool "Environment is in a FAT filesystem"
depends on !CHAIN_OF_TRUST depends on !CHAIN_OF_TRUST
default y if ARCH_BCM283X
default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
select FS_FAT select FS_FAT
select FAT_WRITE select FAT_WRITE
help help
@ -89,6 +71,13 @@ config ENV_IS_IN_EXT4
config ENV_IS_IN_FLASH config ENV_IS_IN_FLASH
bool "Environment in flash memory" bool "Environment in flash memory"
depends on !CHAIN_OF_TRUST depends on !CHAIN_OF_TRUST
default y if ARCH_CINTEGRATOR
default y if ARCH_INTEGRATOR_CP
default y if M548x || M547x || M5282 || MCF547x_8x
default y if MCF532x || MCF52x2
default y if MPC86xx || MPC83xx
default y if ARCH_MPC8572 || ARCH_MPC8548 || ARCH_MPC8641
default y if SH && !CPU_SH4
help help
Define this if you have a flash device which you want to use for the Define this if you have a flash device which you want to use for the
environment. environment.
@ -162,6 +151,11 @@ 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
depends on MMC depends on MMC
default y if ARCH_SUNXI
default y if ARCH_EXYNOS4
default y if MX6SX || MX7D
default y if TEGRA30 || TEGRA124
default y if TEGRA_ARMV8_COMMON
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.
@ -299,6 +293,13 @@ config ENV_IS_IN_REMOTE
config ENV_IS_IN_SPI_FLASH config ENV_IS_IN_SPI_FLASH
bool "Environment is in SPI flash" bool "Environment is in SPI flash"
depends on !CHAIN_OF_TRUST depends on !CHAIN_OF_TRUST
default y if ARMADA_XP
default y if INTEL_BAYTRAIL
default y if INTEL_BRASWELL
default y if INTEL_BROADWELL
default y if NORTHBRIDGE_INTEL_IVYBRIDGE
default y if INTEL_QUARK
default y if INTEL_QUEENSBAY
help help
Define this if you have a SPI Flash memory device which you Define this if you have a SPI Flash memory device which you
want to use for the environment. want to use for the environment.
@ -364,8 +365,6 @@ 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.
endchoice
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"
depends on ENV_IS_IN_FAT depends on ENV_IS_IN_FAT