]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - Kconfig
imx: hab: Check if CSF contains deprecated commands
[people/ms/u-boot.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 3ce5ba1b522effe11d4dfdacf877cba0472ac006..724d4c0bd3c7510008eab92e16a72111a40f80aa 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -1,6 +1,7 @@
 #
 # For a description of the syntax of this configuration file,
-# see Documentation/kbuild/kconfig-language.txt.
+# see the file Documentation/kbuild/kconfig-language.txt in the
+# Linux kernel source tree.
 #
 mainmenu "U-Boot $UBOOTVERSION Configuration"
 
@@ -13,11 +14,17 @@ 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 LOCALVERSION
        string "Local version - append to U-Boot release"
        help
          Append an extra string to the end of your U-Boot version.
-         This will show up on your boot log, for example.
+         This will show up in your boot log, for example.
          The string you set here will be appended after the contents of
          any files with a filename matching localversion* in your
          object and source tree, in that order.  Your total string can
@@ -28,11 +35,11 @@ config LOCALVERSION_AUTO
        default y
        help
          This will try to automatically determine if the current tree is a
-         release tree by looking for git tags that belong to the current
+         release tree by looking for Git tags that belong to the current
          top of tree revision.
 
          A string of the format -gxxxxxxxx will be added to the localversion
-         if a git-based tree is found.  The string generated by this will be
+         if a Git-based tree is found.  The string generated by this will be
          appended after any matching localversion* files, and after the value
          set in CONFIG_LOCALVERSION.
 
@@ -52,11 +59,47 @@ config CC_OPTIMIZE_FOR_SIZE
 
          This option is enabled by default for U-Boot.
 
+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
+       imply USE_BOOTCOMMAND
+       select CMD_BOOTZ if ARM && !ARM64
+       select CMD_BOOTI if ARM64
+       select CMD_DHCP if NET
+       select CMD_PXE if NET
+       select CMD_EXT2
+       select CMD_EXT4
+       select CMD_FAT
+       select CMD_FS_GENERIC
+       select CMD_MII if NET
+       select CMD_PING if NET
+       select CMD_PART
+       select HUSH_PARSER
+       help
+         Select this to enable various options and commands which are suitable
+         for building u-boot for booting general purpose Linux distributions.
+
+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,
+         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.
@@ -66,11 +109,31 @@ config SYS_MALLOC_F_LEN
        depends on SYS_MALLOC_F
        default 0x400
        help
-         Before relocation memory is very limited on many platforms. Still,
+         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 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.
+
+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.
+
 menuconfig EXPERT
        bool "Configure standard U-Boot features (expert users)"
        default y
@@ -78,7 +141,7 @@ menuconfig EXPERT
          This option allows certain base U-Boot options and settings
          to be disabled or tweaked. This is for specialized
          environments which can tolerate a "non-standard" U-Boot.
-         Only use this if you really know what you are doing.
+         Use this only if you really know what you are doing.
 
 if EXPERT
        config SYS_MALLOC_CLEAR_ON_INIT
@@ -95,104 +158,211 @@ if EXPERT
          Then the boot time can be significantly reduced.
          Warning:
          When disabling this, please check if malloc calls, maybe
-         should be replaced by calloc - if expects zeroed memory.
-endif
-endmenu                # General setup
-
-menu "Boot images"
-
-config SUPPORT_SPL
-       bool
+         should be replaced by calloc - if one expects zeroed memory.
 
-config SUPPORT_TPL
-       bool
-
-config SPL
-       bool
-       depends on SUPPORT_SPL
-       prompt "Enable SPL"
+config TOOLS_DEBUG
+       bool "Enable debug information for tools"
        help
-         If you want to build SPL as well as the normal image, say Y.
+         Enable generation of debug information for tools such as mkimage.
+         This can be used for debugging purposes. With debug information
+         it is possible to set breakpoints on particular lines, single-step
+         debug through the source code, etc.
 
-config SPL_SYS_MALLOC_SIMPLE
-       bool
-       depends on SPL
-       prompt "Only use malloc_simple functions in the spl"
-       help
-         Say Y here to only use the *_simple malloc functions from
-         malloc_simple.c, rather then using the versions from dlmalloc.c
-         this will make the SPL binary smaller at the cost of more heap
-         usage as the *_simple malloc functions do not re-use free-ed mem.
+endif # EXPERT
 
-config SPL_STACK_R
-       depends on SPL
-       bool "Enable SDRAM location for SPL stack"
+config PHYS_64BIT
+       bool "64bit physical address support"
        help
-         SPL starts off execution in SRAM and thus typically has only a small
-         stack available. Since SPL sets up DRAM while in its board_init_f()
-         function, it is possible for the stack to move there before
-         board_init_r() is reached. This option enables a special SDRAM
-         location for the SPL stack. U-Boot SPL switches to this after
-         board_init_f() completes, and before board_init_r() starts.
+         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.
 
-config SPL_STACK_R_ADDR
-       depends on SPL_STACK_R
-       hex "SDRAM location for SPL stack"
+config BUILD_ROM
+       bool "Build U-Boot as BIOS replacement"
+       depends on X86
        help
-         Specify the address in SDRAM for the SPL stack. This will be set up
-         before board_init_r() is called.
+         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_STACK_R_MALLOC_SIMPLE_LEN
-       depends on SPL_STACK_R && SPL_SYS_MALLOC_SIMPLE
-       hex "Size of malloc_simple heap after switching to DRAM SPL stack"
-       default 0x100000
-       help
-         Specify the amount of the stack to use as memory pool for
-         malloc_simple after switching the stack to DRAM. This may be set
-         to give board_init_r() a larger heap then the initial heap in
-         SRAM which is limited to SYS_MALLOC_F_LEN bytes.
+endmenu                # General setup
 
-config SPL_SEPARATE_BSS
-       depends on SPL
-       bool "BSS section is in a different memory region from text"
-       help
-         Some platforms need a large BSS region in SPL and can provide this
-         because RAM is already set up. In this case BSS can be moved to RAM.
-         This option should then be enabled so that the correct device tree
-         location is used. Normally we put the device tree at the end of BSS
-         but with this option enabled, it goes at _image_binary_end.
+menu "Boot images"
 
-config TPL
-       bool
-       depends on SPL && SUPPORT_TPL
-       prompt "Enable TPL"
+config ANDROID_BOOT_IMAGE
+       bool "Enable support for Android Boot Images"
+       default y if FASTBOOT
        help
-         If you want to build TPL as well as the normal image and SPL, say Y.
+         This enables support for booting images which use the Android
+         image format header.
 
 config FIT
        bool "Support Flattened Image Tree"
+       select MD5
+       select SHA1
        help
-         This option allows to boot the new uImage structrure,
+         This option allows you to boot the new uImage structure,
          Flattened Image Tree.  FIT is formally a FDT, which can include
          images of various types (kernel, FDT blob, ramdisk, etc.)
          in a single blob.  To boot this new uImage structure,
          pass the address of the blob to the "bootm" command.
+         FIT is very flexible, supporting compression, multiple images,
+         multiple configurations, verification through hashing and also
+         verified boot (secure boot using RSA).
 
-config FIT_VERBOSE
-       bool "Display verbose messages on FIT boot"
-       depends on FIT
+if FIT
+
+config FIT_ENABLE_SHA256_SUPPORT
+       bool "Support SHA256 checksum of FIT image contents"
+       select SHA256
+       default y
+       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
+         the image contents have not been corrupted. SHA256 is recommended
+         for use in secure applications since (as at 2016) there is no known
+         feasible attack that could produce a 'collision' with differing
+         input data. Use this for the highest security. Note that only the
+         SHA256 variant is supported: SHA512 and others are not currently
+         supported in U-Boot.
 
 config FIT_SIGNATURE
        bool "Enable signature verification of FIT uImages"
-       depends on FIT
        depends on DM
        select RSA
        help
          This option enables signature verification of FIT uImages,
          using a hash signed and verified using RSA. If
          CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive
-         hashing is available using hardware, RSA library will use it.
-         See doc/uImage.FIT/signature.txt for more details.
+         hashing is available using hardware, then the RSA library will use
+         it. See doc/uImage.FIT/signature.txt for more details.
+
+         WARNING: When relying on signed FIT images with a required 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 FIT_VERBOSE
+       bool "Show verbose messages when FIT images fail"
+       help
+         Generally a system will have valid FIT images so debug messages
+         are a waste of code space. If you are debugging your images then
+         you can enable this option to get more verbose information about
+         failures.
+
+config FIT_BEST_MATCH
+       bool "Select the best match for the kernel device tree"
+       help
+         When no configuration is explicitly selected, default to the
+         one whose fdt's compatibility field best matches that of
+         U-Boot itself. A match is considered "best" if it matches the
+         most specific compatibility entry of U-Boot's fdt's root node.
+         The order of entries in the configuration's fdt is ignored.
+
+config FIT_IMAGE_POST_PROCESS
+       bool "Enable post-processing of FIT artifacts after loading by U-Boot"
+       depends on TI_SECURE_DEVICE
+       help
+         Allows doing any sort of manipulation to blobs after they got extracted
+         from FIT images like stripping off headers or modifying the size of the
+         blob, verification, authentication, decryption etc. in a platform or
+         board specific way. In order to use this feature a platform or board-
+         specific implementation of board_fit_image_post_process() must be
+         provided. Also, anything done during this post-processing step would
+         need to be comprehended in how the images were prepared before being
+         injected into the FIT creation (i.e. the blobs would have been pre-
+         processed before being added to the FIT image).
+
+if SPL
+
+config SPL_FIT
+       bool "Support Flattened Image Tree within SPL"
+       depends on SPL
+       select SPL_OF_LIBFDT
+
+config SPL_FIT_SIGNATURE
+       bool "Enable signature verification of FIT firmware within SPL"
+       depends on SPL_DM
+       select SPL_FIT
+       select SPL_RSA
+
+config SPL_LOAD_FIT
+       bool "Enable SPL loading U-Boot as a FIT"
+       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_FIT_IMAGE_POST_PROCESS
+       bool "Enable post-processing of FIT artifacts after loading by the SPL"
+       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
+         size of the blob, verification, authentication, decryption etc. in a
+         platform or board specific way. In order to use this feature a platform
+         or board-specific implementation of board_fit_image_post_process() must
+         be provided. Also, anything done during this post-processing step would
+         need to be comprehended in how the images were prepared before being
+         injected into the FIT creation (i.e. the blobs would have been pre-
+         processed before being added to the FIT image).
+
+config SPL_FIT_SOURCE
+       string ".its source file for U-Boot FIT image"
+       depends on SPL_FIT
+       help
+         Specifies a (platform specific) FIT source file to generate the
+         U-Boot FIT image. This could specify further image to load and/or
+         execute.
+
+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
+       help
+         Specifies a (platform specific) script file to generate the FIT
+         source file used to build the U-Boot FIT image file. This gets
+         passed a list of supported device tree file stub names to
+         include in the generated image.
+
+endif # SPL
+
+endif # FIT
+
+config OF_BOARD_SETUP
+       bool "Set up board-specific details in device tree before boot"
+       depends on OF_LIBFDT
+       help
+         This causes U-Boot to call ft_board_setup() before booting into
+         the Operating System. This function can set up various
+         board-specific information in the device tree for use by the OS.
+         The device tree is then passed to the OS.
+
+config OF_SYSTEM_SETUP
+       bool "Set up system-specific details in device tree before boot"
+       depends on OF_LIBFDT
+       help
+         This causes U-Boot to call ft_system_setup() before booting into
+         the Operating System. This function can set up various
+         system-specific information in the device tree for use by the OS.
+         The device tree is then passed to the OS.
+
+config OF_STDOUT_VIA_ALIAS
+       bool "Update the device-tree stdout alias from U-Boot"
+       depends on OF_LIBFDT
+       help
+         This uses U-Boot's serial alias from the aliases node to update
+         the device tree passed to the OS. The "linux,stdout-path" property
+         in the chosen node is set to point to the correct serial node.
+         This option currently references CONFIG_CONS_INDEX, which is
+         incorrect when used with device tree as this option does not
+         exist / should not be used.
 
 config SYS_EXTRA_OPTIONS
        string "Extra Options (DEPRECATED)"
@@ -208,12 +378,14 @@ config SYS_EXTRA_OPTIONS
          new boards should not use this option.
 
 config SYS_TEXT_BASE
-       depends on SPARC || ARC || X86 || ARCH_UNIPHIER || ARCH_ZYNQMP || \
-               (M68K && !TARGET_ASTRO_MCF5373L) || MICROBLAZE
+       depends on !NIOS2 && !XTENSA
        depends on !EFI_APP
+       default 0x80800000 if ARCH_OMAP2PLUS
        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.
+
+
 
 config SYS_CLK_FREQ
        depends on ARC || ARCH_SUNXI
@@ -221,14 +393,28 @@ config SYS_CLK_FREQ
        help
          TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture
 
+config ARCH_FIXUP_FDT_MEMORY
+       bool "Enable arch_fixup_memory_banks() call"
+       default y
+       help
+         Enable FDT memory map syncup before OS boot. This feature can be
+         used for booting OS with different memory setup where the part of
+         the memory location should be used for different purpose.
+
 endmenu                # Boot images
 
+source "api/Kconfig"
+
 source "common/Kconfig"
 
 source "cmd/Kconfig"
 
+source "disk/Kconfig"
+
 source "dts/Kconfig"
 
+source "env/Kconfig"
+
 source "net/Kconfig"
 
 source "drivers/Kconfig"