common: Drop bootstage.h from common header
[oweals/u-boot.git] / env / Kconfig
index 74db2f38cc1906bb4d74dad4ecd812c1897fd738..ed94e83ec1e81b96426edfea153b40bd52ae27c4 100644 (file)
@@ -1,5 +1,11 @@
 menu "Environment"
 
+config ENV_SUPPORT
+       def_bool y
+
+config SAVEENV
+       def_bool y if CMD_SAVEENV
+
 config ENV_IS_NOWHERE
        bool "Environment is not stored"
        default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
@@ -132,7 +138,6 @@ config ENV_IS_IN_FLASH
           RAM, your target system will be dead.
 
          CONFIG_ENV_ADDR_REDUND
-         CONFIG_ENV_SIZE_REDUND
 
           These settings describe a second storage area used to hold
           a redundant copy of the environment data, so that there is
@@ -195,12 +200,6 @@ config ENV_IS_IN_MMC
          This value is also in units of bytes, but must also be aligned to
          an MMC sector boundary.
 
-         CONFIG_ENV_SIZE_REDUND (optional):
-
-         This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is
-         set. If this value is set, it must be set to the same value as
-         CONFIG_ENV_SIZE.
-
 config ENV_IS_IN_NAND
        bool "Environment in a NAND device"
        depends on !CHAIN_OF_TRUST
@@ -373,6 +372,8 @@ config ENV_SPI_MODE
 config ENV_IS_IN_UBI
        bool "Environment in a UBI volume"
        depends on !CHAIN_OF_TRUST
+       depends on MTD_UBI
+       depends on CMD_UBI
        help
          Define this if you have an UBI volume that you want to use for the
          environment.  This has the benefit of wear-leveling the environment
@@ -393,11 +394,20 @@ config ENV_IS_IN_UBI
          the environment in.  This will enable redundant environments in UBI.
          It is assumed that both volumes are in the same MTD partition.
 
+config SYS_REDUNDAND_ENVIRONMENT
+       bool "Enable redundant environment support"
+       depends on ENV_IS_IN_EEPROM || ENV_IS_IN_FLASH || ENV_IS_IN_MMC || \
+               ENV_IS_IN_NAND || ENV_IS_IN_SPI_FLASH || ENV_IS_IN_UBI
+       help
+         Normally, the environemt is stored in a single location.  By
+         selecting this option, you can then define where to hold a redundant
+         copy of the environment data, so that there is a valid backup copy in
+         case there is a power failure during a "saveenv" operation.
+
 config ENV_FAT_INTERFACE
        string "Name of the block device for the environment"
        depends on ENV_IS_IN_FAT
-       default "mmc" if ARCH_SUNXI
-       default "mmc" if TI_COMMON_CMD_OPTIONS || ARCH_ZYNQMP || ARCH_AT91
+       default "mmc"
        help
          Define this to a string that is the name of the block device.
 
@@ -464,26 +474,53 @@ config ENV_EXT4_FILE
          It's a string of the EXT4 file name. This file use to store the
          environment (explicit path to the file)
 
-if ARCH_ROCKCHIP || ARCH_SUNXI || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL || ARC || ARCH_STM32MP || ARCH_OMAP2PLUS || ARCH_AT91
+config ENV_ADDR
+       hex "Environment address"
+       depends on ENV_IS_IN_FLASH || ENV_IS_IN_NVRAM || ENV_IS_IN_ONENAND || \
+                    ENV_IS_IN_REMOTE || ENV_IS_IN_SPI_FLASH
+       default 0x0 if ENV_IS_IN_SPI_FLASH
+       help
+         Offset from the start of the device (or partition)
+
+config ENV_ADDR_REDUND
+       hex "Redundant environment address"
+       depends on ENV_IS_IN_FLASH && SYS_REDUNDAND_ENVIRONMENT
+       help
+         Offset from the start of the device (or partition) of the redundant
+         environment location.
 
 config ENV_OFFSET
-       hex "Environment Offset"
-       depends on (!ENV_IS_IN_UBI && !ENV_IS_NOWHERE) || ARCH_STM32MP
-       default 0x3f8000 if ARCH_ROCKCHIP
+       hex "Environment offset"
+       depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
+                   ENV_IS_IN_SPI_FLASH
+       default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
+       default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
        default 0x88000 if ARCH_SUNXI
        default 0xE0000 if ARCH_ZYNQ
        default 0x1E00000 if ARCH_ZYNQMP
+       default 0x7F40000 if ARCH_VERSAL
        default 0 if ARC
        default 0x140000 if ARCH_AT91
        default 0x260000 if ARCH_OMAP2PLUS
+       default 0x1080000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
        help
          Offset from the start of the device (or partition)
 
+config ENV_OFFSET_REDUND
+       hex "Redundant environment offset"
+       depends on (ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
+                   ENV_IS_IN_SPI_FLASH) && SYS_REDUNDAND_ENVIRONMENT
+       help
+         Offset from the start of the device (or partition) of the redundant
+         environment location.
+
 config ENV_SIZE
        hex "Environment Size"
        default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
        default 0x20000 if ARCH_SUNXI || ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
-       default 0x8000 if ARCH_ROCKCHIP || ARCH_ZYNQMP || ARCH_VERSAL
+       default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
+       default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
+       default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL
        default 0x4000 if ARC
        default 0x1f000
        help
@@ -491,9 +528,11 @@ config ENV_SIZE
 
 config ENV_SECT_SIZE
        hex "Environment Sector-Size"
-       depends on (!ENV_IS_NOWHERE && (ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_OMAP2PLUS || ARCH_AT91) )|| ARCH_STM32MP
-       default 0x40000 if ARCH_ZYNQMP
+       depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
+       default 0x2000 if ARCH_ROCKCHIP
+       default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL
        default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
+       default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
        help
          Size of the sector containing the environment.
 
@@ -511,7 +550,7 @@ config ENV_UBI_VOLUME
 
 config ENV_UBI_VOLUME_REDUND
        string "UBI redundant volume name"
-       depends on ENV_IS_IN_UBI
+       depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
        help
          Name of the redundant volume that you want to store the environment in.
 
@@ -522,7 +561,11 @@ config ENV_UBI_VID_OFFSET
        help
          UBI VID offset for environment. If 0, no custom VID offset is used.
 
-endif
+config SYS_RELOC_GD_ENV_ADDR
+       bool "Relocate gd->en_addr"
+       help
+         Relocate the early env_addr pointer so we know it is not inside
+         the binary. Some systems need this and for the rest, it doesn't hurt.
 
 config USE_DEFAULT_ENV_FILE
        bool "Create default environment from file"
@@ -549,6 +592,18 @@ config ENV_VARS_UBOOT_RUNTIME_CONFIG
          run-time determined information about the hardware to the
          environment.  These will be named board_name, board_rev.
 
+config DELAY_ENVIRONMENT
+       bool "Delay environment loading"
+       depends on !OF_CONTROL
+       help
+         Enable this to inhibit loading the environment during board
+         initialization. This can address the security risk of untrusted data
+         being used during boot. Normally the environment is loaded when the
+         board is initialised so that it is available to U-Boot. This inhibits
+         that so that the environment is not available until explicitly loaded
+         later by U-Boot code. With CONFIG_OF_CONTROL this is instead
+         controlled by the value of /config/load-environment.
+
 if SPL_ENV_SUPPORT
 config SPL_ENV_IS_NOWHERE
        bool "SPL Environment is not stored"