X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Kconfig;h=66b059f749a7eeb2dfbd2f6413477b4298444a11;hb=e731af4893f7741c66254161ad9b6f5280369895;hp=d951e9f8049203cf5c2cd7af0f30aa615e2da4d5;hpb=ebdd65258bad89b2da6cce4265c858ee0d5a9440;p=oweals%2Fu-boot.git diff --git a/Kconfig b/Kconfig index d951e9f804..66b059f749 100644 --- a/Kconfig +++ b/Kconfig @@ -14,6 +14,19 @@ source "arch/Kconfig" menu "General setup" +config BROKEN + bool + help + This option cannot be enabled. It is used as dependency + for broken and incomplete features. + +config DEPRECATED + bool + help + This option cannot be enabled. It it used as a dependency for + code that relies on deprecated features that will be removed and + the conversion deadline has passed. + config LOCALVERSION string "Local version - append to U-Boot release" help @@ -53,32 +66,74 @@ config CC_OPTIMIZE_FOR_SIZE This option is enabled by default for U-Boot. +config CC_COVERAGE + bool "Enable code coverage analysis" + depends on SANDBOX + help + Enabling this option will pass "--coverage" to gcc to compile + and link code instrumented for coverage analysis. + config DISTRO_DEFAULTS bool "Select defaults suitable for booting general purpose Linux distributions" - default y if ARCH_SUNXI || TEGRA - default y if ARCH_LS2080A - default y if ARCH_MESON - default y if ARCH_ROCKCHIP - default n - select CMD_BOOTZ if ARM && !ARM64 + select AUTO_COMPLETE + select CMDLINE_EDITING select CMD_BOOTI if ARM64 - select CMD_DHCP - select CMD_PXE + select CMD_BOOTZ if ARM && !ARM64 + select CMD_DHCP if CMD_NET + select CMD_ENV_EXISTS select CMD_EXT2 select CMD_EXT4 select CMD_FAT select CMD_FS_GENERIC - select CMD_MII - select CMD_PING - select CMD_PART + select CMD_PART if PARTITIONS + select CMD_PING if CMD_NET + select CMD_PXE if NET + select ENV_VARS_UBOOT_CONFIG select HUSH_PARSER + select SUPPORT_RAW_INITRD + select SYS_LONGHELP + imply CMD_MII if NET + imply USB_STORAGE + imply USE_BOOTCOMMAND help Select this to enable various options and commands which are suitable for building u-boot for booting general purpose Linux distributions. +config ENV_VARS_UBOOT_CONFIG + bool "Add arch, board, vendor and soc variables to default environment" + help + Define this in order to add variables describing the + U-Boot build configuration to the default environment. + These will be named arch, cpu, board, vendor, and soc. + Enabling this option will cause the following to be defined: + - CONFIG_SYS_ARCH + - CONFIG_SYS_CPU + - CONFIG_SYS_BOARD + - CONFIG_SYS_VENDOR + - CONFIG_SYS_SOC + +config NR_DRAM_BANKS + int "Number of DRAM banks" + default 4 + help + This defines the number of DRAM banks. + +config SYS_BOOT_GET_CMDLINE + bool "Enable kernel command line setup" + help + Enables allocating and saving kernel cmdline in space between + "bootm_low" and "bootm_low" + BOOTMAPSZ. + +config SYS_BOOT_GET_KBD + bool "Enable kernel board information setup" + help + Enables allocating and saving a kernel copy of the bd_info in + space between "bootm_low" and "bootm_low" + BOOTMAPSZ. + config SYS_MALLOC_F bool "Enable malloc() pool before relocation" default y if DM + help Before relocation, memory is very limited on many platforms. Still, we can provide a small malloc() pool if needed. Driver model in @@ -88,6 +143,10 @@ config SYS_MALLOC_F config SYS_MALLOC_F_LEN hex "Size of malloc() pool before relocation" depends on SYS_MALLOC_F + default 0x1000 if AM33XX + default 0x2800 if SANDBOX + default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \ + ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5) default 0x400 help Before relocation, memory is very limited on many platforms. Still, @@ -95,25 +154,34 @@ config SYS_MALLOC_F_LEN particular needs this to operate, so that it can allocate the initial serial device and any others that are needed. +config SYS_MALLOC_LEN + hex "Define memory for Dynamic allocation" + depends on ARCH_ZYNQ || ARCH_VERSAL || ARCH_STM32MP || ARCH_ROCKCHIP + default 0x2000000 if ARCH_ROCKCHIP + help + This defines memory to be allocated for Dynamic allocation + TODO: Use for other architectures + config SPL_SYS_MALLOC_F_LEN - hex "Size of malloc() pool in SPL before relocation" - depends on SYS_MALLOC_F - default SYS_MALLOC_F_LEN - help - Before relocation, memory is very limited on many platforms. Still, - we can provide a small malloc() pool if needed. Driver model in - particular needs this to operate, so that it can allocate the - initial serial device and any others that are needed. + hex "Size of malloc() pool in SPL before relocation" + depends on SYS_MALLOC_F && SPL + default 0x2800 if RCAR_GEN3 + default SYS_MALLOC_F_LEN + help + Before relocation, memory is very limited on many platforms. Still, + we can provide a small malloc() pool if needed. Driver model in + particular needs this to operate, so that it can allocate the + initial serial device and any others that are needed. config TPL_SYS_MALLOC_F_LEN - hex "Size of malloc() pool in TPL before relocation" - depends on SYS_MALLOC_F - default SYS_MALLOC_F_LEN - help - Before relocation, memory is very limited on many platforms. Still, - we can provide a small malloc() pool if needed. Driver model in - particular needs this to operate, so that it can allocate the - initial serial device and any others that are needed. + hex "Size of malloc() pool in TPL before relocation" + depends on SYS_MALLOC_F && TPL + default SYS_MALLOC_F_LEN + help + Before relocation, memory is very limited on many platforms. Still, + we can provide a small malloc() pool if needed. Driver model in + particular needs this to operate, so that it can allocate the + initial serial device and any others that are needed. menuconfig EXPERT bool "Configure standard U-Boot features (expert users)" @@ -156,7 +224,62 @@ config PHYS_64BIT help Say Y here to support 64bit physical memory address. This can be used not only for 64bit SoCs, but also for - large physical address extention on 32bit SoCs. + large physical address extension on 32bit SoCs. + +config BUILD_ROM + bool "Build U-Boot as BIOS replacement" + depends on X86 + help + This option allows to build a ROM version of U-Boot. + The build process generally requires several binary blobs + which are not shipped in the U-Boot source tree. + Please, see doc/README.x86 for details. + +config SPL_IMAGE + string "SPL image used in the combined SPL+U-Boot image" + default "spl/boot.bin" if ARCH_AT91 && SPL_NAND_SUPPORT + default "spl/u-boot-spl.bin" + depends on SPL + help + Select the SPL build target that shall be generated by the SPL + build process (default spl/u-boot-spl.bin). This image will be + used to generate a combined image with SPL and main U-Boot + proper as one single image. + +config BUILD_TARGET + string "Build target special images" + default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_ARRIA10 + default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5 + default "u-boot-spl.kwb" if ARCH_MVEBU && SPL + default "u-boot-elf.srec" if RCAR_GEN3 + default "u-boot.itb" if SPL_LOAD_FIT && (ROCKCHIP_RK3399 || \ + ARCH_SUNXI || RISCV) + default "u-boot.kwb" if KIRKWOOD + default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT + default "u-boot-with-spl.imx" if ARCH_MX6 && SPL + help + Some SoCs need special image types (e.g. U-Boot binary + with a special header) as build targets. By defining + CONFIG_BUILD_TARGET in the SoC / board header, this + special image will be automatically built upon calling + make / buildman. + +config SYS_CUSTOM_LDSCRIPT + bool "Use a custom location for the U-Boot linker script" + help + Normally when linking U-Boot we will look in the board directory, + the CPU directory and finally the "cpu" directory of the architecture + for the ile "u-boot.lds" and use that as our linker. However, in + some cases we need to provide a different linker script. To do so, + enable this option and then provide the location under + CONFIG_SYS_LDSCRIPT. + +config SYS_LDSCRIPT + depends on SYS_CUSTOM_LDSCRIPT + string "Custom ldscript location" + help + Path within the source tree to the linker script to use for the + main U-Boot binary. endmenu # General setup @@ -185,10 +308,20 @@ config FIT if FIT +config FIT_EXTERNAL_OFFSET + hex "FIT external data offset" + default 0x0 + help + This specifies a data offset in fit image. + The offset is from data payload offset to the beginning of + fit image header. When specifies a offset, specific data + could be put in the hole between data payload and fit image + header, such as CSF data on i.MX platform. + config FIT_ENABLE_SHA256_SUPPORT bool "Support SHA256 checksum of FIT image contents" - select SHA256 default y + select SHA256 help Enable this to support SHA256 checksum of FIT image contents. A SHA256 checksum is a 256-bit (32-byte) hash value used to check that @@ -202,6 +335,7 @@ config FIT_ENABLE_SHA256_SUPPORT config FIT_SIGNATURE bool "Enable signature verification of FIT uImages" depends on DM + select HASH select RSA help This option enables signature verification of FIT uImages, @@ -214,7 +348,25 @@ config FIT_SIGNATURE check the legacy image format is disabled by default, so that unsigned images cannot be loaded. If a board needs the legacy image format support in this case, enable it using - CONFIG_IMAGE_FORMAT_LEGACY. + CONFIG_LEGACY_IMAGE_FORMAT. + +config FIT_SIGNATURE_MAX_SIZE + hex "Max size of signed FIT structures" + depends on FIT_SIGNATURE + default 0x10000000 + help + This option sets a max size in bytes for verified FIT uImages. + A sane value of 256MB protects corrupted DTB structures from overlapping + device memory. Assure this size does not extend past expected storage + space. + +config FIT_ENABLE_RSASSA_PSS_SUPPORT + bool "Support rsassa-pss signature scheme of FIT image contents" + depends on FIT_SIGNATURE + default n + help + Enable this to support the pss padding algorithm as described + in the rfc8017 (https://tools.ietf.org/html/rfc8017). config FIT_VERBOSE bool "Show verbose messages when FIT images fail" @@ -254,6 +406,12 @@ config SPL_FIT depends on SPL select SPL_OF_LIBFDT +config SPL_FIT_PRINT + bool "Support FIT printing within SPL" + depends on SPL_FIT + help + Support printing the content of the fitImage in a verbose manner in SPL. + config SPL_FIT_SIGNATURE bool "Enable signature verification of FIT firmware within SPL" depends on SPL_DM @@ -261,7 +419,18 @@ config SPL_FIT_SIGNATURE select SPL_RSA config SPL_LOAD_FIT - bool "Enable SPL loading U-Boot as a FIT" + bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)" + select SPL_FIT + help + Normally with the SPL framework a legacy image is generated as part + of the build. This contains U-Boot along with information as to + where it should be loaded. This option instead enables generation + of a FIT (Flat Image Tree) which provides more flexibility. In + particular it can handle selecting from multiple device tree + and passing the correct one to U-Boot. + +config SPL_LOAD_FIT_FULL + bool "Enable SPL loading U-Boot as a FIT (full fitImage features)" select SPL_FIT help Normally with the SPL framework a legacy image is generated as part @@ -273,7 +442,7 @@ config SPL_LOAD_FIT config SPL_FIT_IMAGE_POST_PROCESS bool "Enable post-processing of FIT artifacts after loading by the SPL" - depends on SPL_LOAD_FIT && TI_SECURE_DEVICE + depends on SPL_LOAD_FIT help Allows doing any sort of manipulation to blobs after they got extracted from the U-Boot FIT image like stripping off headers or modifying the @@ -297,6 +466,8 @@ config SPL_FIT_GENERATOR string ".its file generator script for U-Boot FIT image" depends on SPL_FIT default "board/sunxi/mksunxi_fit_atf.sh" if SPL_LOAD_FIT && ARCH_SUNXI + default "arch/arm/mach-rockchip/make_fit_atf.py" if SPL_LOAD_FIT && ARCH_ROCKCHIP + default "arch/riscv/lib/mkimage_fit_opensbi.sh" if SPL_LOAD_FIT && RISCV help Specifies a (platform specific) script file to generate the FIT source file used to build the U-Boot FIT image file. This gets @@ -307,6 +478,16 @@ endif # SPL endif # FIT +config LEGACY_IMAGE_FORMAT + bool "Enable support for the legacy image format" + default y if !FIT_SIGNATURE + help + This option enables the legacy image format. It is enabled by + default for backward compatibility, unless FIT_SIGNATURE is + set where it is disabled so that unsigned images cannot be + loaded. If a board needs the legacy image format support in this + case, enable it here. + config OF_BOARD_SETUP bool "Set up board-specific details in device tree before boot" depends on OF_LIBFDT @@ -350,19 +531,20 @@ config SYS_EXTRA_OPTIONS new boards should not use this option. config SYS_TEXT_BASE - depends on ARC || X86 || ARCH_UNIPHIER || ARCH_ZYNQMP || \ - (M68K && !TARGET_ASTRO_MCF5373L) || MICROBLAZE || MIPS || \ - ARCH_ZYNQ || ARCH_KEYSTONE || ARCH_OMAP2PLUS + depends on !NIOS2 && !XTENSA depends on !EFI_APP + default 0x80800000 if ARCH_OMAP2PLUS || ARCH_K3 + default 0x4a000000 if ARCH_SUNXI && !MACH_SUN9I && !MACH_SUN8I_V3S + default 0x2a000000 if ARCH_SUNXI && MACH_SUN9I + default 0x42e00000 if ARCH_SUNXI && MACH_SUN8I_V3S hex "Text Base" help - TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture + The address in memory that U-Boot will be running from, initially. - default 0x80800000 if ARCH_OMAP2PLUS config SYS_CLK_FREQ - depends on ARC || ARCH_SUNXI + depends on ARC || ARCH_SUNXI || MPC83xx int "CPU clock frequency" help TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture