X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=env%2FKconfig;h=ca7fef682b72c233c6deb4cd53dc87d25041740a;hb=32a8f800a96e8add063a31f6ef80d9ead3fcec04;hp=78300660c720ffe4276560fed17aa3e6408b6d7f;hpb=7f21ced0d2488605ccf6eb307daa9e18ee78aa94;p=oweals%2Fu-boot.git diff --git a/env/Kconfig b/env/Kconfig index 78300660c7..ca7fef682b 100644 --- a/env/Kconfig +++ b/env/Kconfig @@ -1,19 +1,19 @@ 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" - depends on !ENV_IS_IN_EEPROM - depends on !ENV_IS_IN_EXT4 - 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 + default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \ + !ENV_IS_IN_FAT && !ENV_IS_IN_FLASH && \ + !ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \ + !ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \ + !ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \ + !ENV_IS_IN_UBI help Define this if you don't want to or can't have an environment stored on a storage medium. In this case the environment will still exist @@ -138,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 @@ -201,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 @@ -293,7 +286,7 @@ config ENV_IS_IN_REMOTE config ENV_IS_IN_SPI_FLASH bool "Environment is in SPI flash" - depends on !CHAIN_OF_TRUST + depends on !CHAIN_OF_TRUST && SPI default y if ARMADA_XP default y if INTEL_BAYTRAIL default y if INTEL_BRASWELL @@ -351,14 +344,14 @@ config ENV_SPI_CS Value of the SPI chip select for environment. config USE_ENV_SPI_MAX_HZ - bool "SPI flash bus for environment" + bool "SPI flash max frequency for environment" depends on ENV_IS_IN_SPI_FLASH help Force the SPI max work clock for environment. If not defined, use CONFIG_SF_DEFAULT_SPEED. config ENV_SPI_MAX_HZ - int "Value of SPI flash max work for environment" + int "Value of SPI flash max frequency for environment" depends on USE_ENV_SPI_MAX_HZ help Value of the SPI max work clock for environment. @@ -379,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 @@ -399,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. @@ -470,34 +474,65 @@ 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 +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 - depends on !ENV_IS_NOWHERE - 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 - default 0x8000 if ARCH_ROCKCHIP || ARCH_ZYNQMP || ARCH_VERSAL + default 0x20000 if ARCH_SUNXI || ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91 + 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 Size of the environment storage area config ENV_SECT_SIZE hex "Environment Sector-Size" - depends on !ENV_IS_NOWHERE && (ARCH_ZYNQ || ARCH_ZYNQMP) - default 0x40000 if ARCH_ZYNQMP - default 0x20000 if ARCH_ZYNQ + 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. @@ -513,7 +548,24 @@ config ENV_UBI_VOLUME help Name of the volume that you want to store the environment in. -endif +config ENV_UBI_VOLUME_REDUND + string "UBI redundant volume name" + depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT + help + Name of the redundant volume that you want to store the environment in. + +config ENV_UBI_VID_OFFSET + int "ubi environment VID offset" + depends on ENV_IS_IN_UBI + default 0 + help + UBI VID offset for environment. If 0, no custom VID offset is used. + +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" @@ -540,6 +592,25 @@ 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. + +config ENV_ACCESS_IGNORE_FORCE + bool "Block forced environment operations" + default n + help + If defined, don't allow the -f switch to env set override variable + access flags. + if SPL_ENV_SUPPORT config SPL_ENV_IS_NOWHERE bool "SPL Environment is not stored"