]> git.sur5r.net Git - u-boot/blobdiff - Kconfig
Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[u-boot] / Kconfig
diff --git a/Kconfig b/Kconfig
index deacec44f2bd68b9bc44a8dc8da4c1688b8c2fd1..c8b86cd3843decd86f2f5f477b249717cc4eb365 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -14,6 +14,12 @@ source "arch/Kconfig"
 
 menu "General setup"
 
 
 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
 config LOCALVERSION
        string "Local version - append to U-Boot release"
        help
@@ -53,29 +59,63 @@ config CC_OPTIMIZE_FOR_SIZE
 
          This option is enabled by default for U-Boot.
 
 
          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"
 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_BOOTZ if ARM && !ARM64
        select CMD_BOOTI if ARM64
-       select CMD_DHCP
-       select CMD_PXE
+       select CMD_DHCP if CMD_NET
+       select CMD_PING if CMD_NET
+       select CMD_PXE if NET
+       select CMD_ENV_EXISTS
        select CMD_EXT2
        select CMD_EXT4
        select CMD_FAT
        select CMD_FS_GENERIC
        select CMD_EXT2
        select CMD_EXT4
        select CMD_FAT
        select CMD_FS_GENERIC
-       select CMD_MII
-       select CMD_PING
-       select CMD_PART
+       imply CMD_MII if NET
+       select CMD_PART if PARTITIONS
        select HUSH_PARSER
        select HUSH_PARSER
+       select CMDLINE_EDITING
+       select AUTO_COMPLETE
+       select SYS_LONGHELP
+       select SUPPORT_RAW_INITRD
+       select ENV_VARS_UBOOT_CONFIG
        help
          Select this to enable various options and commands which are suitable
          for building u-boot for booting general purpose Linux distributions.
 
        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 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
 config SYS_MALLOC_F
        bool "Enable malloc() pool before relocation"
        default y if DM
@@ -88,6 +128,7 @@ config SYS_MALLOC_F
 config SYS_MALLOC_F_LEN
        hex "Size of malloc() pool before relocation"
        depends on 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 0x400
        help
          Before relocation, memory is very limited on many platforms. Still,
        default 0x400
        help
          Before relocation, memory is very limited on many platforms. Still,
@@ -95,6 +136,26 @@ 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.
 
          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
 menuconfig EXPERT
        bool "Configure standard U-Boot features (expert users)"
        default y
@@ -138,13 +199,30 @@ config PHYS_64BIT
          This can be used not only for 64bit SoCs, but also for
          large physical address extention on 32bit SoCs.
 
          This can be used not only for 64bit SoCs, but also for
          large physical address extention 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.
+
 endmenu                # General setup
 
 menu "Boot images"
 
 endmenu                # General setup
 
 menu "Boot images"
 
+config ANDROID_BOOT_IMAGE
+       bool "Enable support for Android Boot Images"
+       default y if FASTBOOT
+       help
+         This enables support for booting images which use the Android
+         image format header.
+
 config FIT
        bool "Support Flattened Image Tree"
        select MD5
 config FIT
        bool "Support Flattened Image Tree"
        select MD5
+       select SHA1
        help
          This option allows you to boot the new uImage structure,
          Flattened Image Tree.  FIT is formally a FDT, which can include
        help
          This option allows you to boot the new uImage structure,
          Flattened Image Tree.  FIT is formally a FDT, which can include
@@ -157,10 +235,25 @@ config FIT
 
 if 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 DM
        select RSA
 config FIT_SIGNATURE
        bool "Enable signature verification of FIT uImages"
        depends on DM
        select RSA
+       select HASH
        help
          This option enables signature verification of FIT uImages,
          using a hash signed and verified using RSA. If
        help
          This option enables signature verification of FIT uImages,
          using a hash signed and verified using RSA. If
@@ -174,6 +267,16 @@ config FIT_SIGNATURE
          format support in this case, enable it using
          CONFIG_IMAGE_FORMAT_LEGACY.
 
          format support in this case, enable it using
          CONFIG_IMAGE_FORMAT_LEGACY.
 
+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_VERBOSE
        bool "Show verbose messages when FIT images fail"
        help
 config FIT_VERBOSE
        bool "Show verbose messages when FIT images fail"
        help
@@ -205,11 +308,19 @@ config FIT_IMAGE_POST_PROCESS
          injected into the FIT creation (i.e. the blobs would have been pre-
          processed before being added to the FIT image).
 
          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
        bool "Support Flattened Image Tree within SPL"
        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
 config SPL_FIT_SIGNATURE
        bool "Enable signature verification of FIT firmware within SPL"
        depends on SPL_DM
@@ -227,9 +338,20 @@ config SPL_LOAD_FIT
          particular it can handle selecting from multiple device tree
          and passing the correct one to U-Boot.
 
          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"
+       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"
 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
        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
@@ -241,8 +363,38 @@ config SPL_FIT_IMAGE_POST_PROCESS
          injected into the FIT creation (i.e. the blobs would have been pre-
          processed before being added to the FIT image).
 
          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
 
 endif # FIT
 
+config IMAGE_FORMAT_LEGACY
+       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
 config OF_BOARD_SETUP
        bool "Set up board-specific details in device tree before boot"
        depends on OF_LIBFDT
@@ -286,13 +438,16 @@ config SYS_EXTRA_OPTIONS
          new boards should not use this option.
 
 config SYS_TEXT_BASE
          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
+       depends on !NIOS2 && !XTENSA
        depends on !EFI_APP
        depends on !EFI_APP
+       default 0x80800000 if ARCH_OMAP2PLUS
+       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
        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
 
 
 config SYS_CLK_FREQ
@@ -321,6 +476,8 @@ source "disk/Kconfig"
 
 source "dts/Kconfig"
 
 
 source "dts/Kconfig"
 
+source "env/Kconfig"
+
 source "net/Kconfig"
 
 source "drivers/Kconfig"
 source "net/Kconfig"
 
 source "drivers/Kconfig"
@@ -330,5 +487,3 @@ source "fs/Kconfig"
 source "lib/Kconfig"
 
 source "test/Kconfig"
 source "lib/Kconfig"
 
 source "test/Kconfig"
-
-source "scripts/Kconfig"