]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - Kconfig
net/ethoc: add CONFIG_DM_ETH support
[people/ms/u-boot.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 44b144f1c2a0aa609deaec7526da2a8c224b7799..cb5af5b0f76b3d594cb5c88b470fbe03755925c9 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"
 
@@ -17,7 +18,7 @@ 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 +29,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 +53,28 @@ 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
+       default n
+       select CMD_BOOTZ
+       select CMD_DHCP
+       select CMD_EXT2
+       select CMD_EXT4
+       select CMD_FAT
+       select CMD_FS_GENERIC
+       select CMD_MII
+       select CMD_PING
+       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_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,7 +84,7 @@ 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.
@@ -78,7 +96,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,8 +113,25 @@ 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.
+         should be replaced by calloc - if one expects zeroed memory.
+
+config TOOLS_DEBUG
+       bool "Enable debug information for tools"
+       help
+         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.
+
 endif
+
+config PHYS_64BIT
+       bool "64bit physical address support"
+       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.
+
 endmenu                # General setup
 
 menu "Boot images"
@@ -117,10 +152,10 @@ config SPL
 config SPL_SYS_MALLOC_SIMPLE
        bool
        depends on SPL
-       prompt "Only use malloc_simple functions in the 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
+         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.
 
@@ -152,6 +187,16 @@ config SPL_STACK_R_MALLOC_SIMPLE_LEN
          to give board_init_r() a larger heap then the initial heap in
          SRAM which is limited to SYS_MALLOC_F_LEN bytes.
 
+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.
+
 config TPL
        bool
        depends on SPL && SUPPORT_TPL
@@ -167,6 +212,15 @@ config FIT
          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). This option enables that
+         feature.
+
+config SPL_FIT
+       bool "Support Flattened Image Tree within SPL"
+       depends on FIT
+       depends on SPL
 
 config FIT_VERBOSE
        bool "Display verbose messages on FIT boot"
@@ -181,8 +235,68 @@ config FIT_SIGNATURE
          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 then 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 SPL_FIT_SIGNATURE
+       bool "Enable signature verification of FIT firmware within SPL"
+       depends on SPL_FIT
+       depends on SPL_DM
+       select SPL_RSA
+
+config FIT_BEST_MATCH
+       bool "Select the best match for the kernel device tree"
+       depends on FIT
+       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_VERBOSE
+       bool "Show verbose messages when FIT images fails"
+       depends on FIT
+       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 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)"
@@ -198,22 +312,73 @@ config SYS_EXTRA_OPTIONS
          new boards should not use this option.
 
 config SYS_TEXT_BASE
-       depends on SPARC || ARC || X86 || ARCH_UNIPHIER || ARCH_ZYNQMP
+       depends on SPARC || ARC || X86 || ARCH_UNIPHIER || ARCH_ZYNQMP || \
+               (M68K && !TARGET_ASTRO_MCF5373L) || MICROBLAZE || MIPS
        depends on !EFI_APP
        hex "Text Base"
        help
          TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
 
+config SPL_LOAD_FIT
+       bool "Enable SPL loading U-Boot as a FIT"
+       depends on 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 && TI_SECURE_DEVICE
+       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 FIT_IMAGE_POST_PROCESS
+       bool "Enable post-processing of FIT artifacts after loading by U-Boot"
+       depends on FIT && 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).
+
 config SYS_CLK_FREQ
        depends on ARC || ARCH_SUNXI
        int "CPU clock frequency"
        help
          TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture
 
+config ARCH_FIXUP_FDT
+       bool "Enable arch_fixup_fdt() call"
+       depends on ARM || MIPS
+       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 "common/Kconfig"
 
+source "cmd/Kconfig"
+
 source "dts/Kconfig"
 
 source "net/Kconfig"