]> 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 1b19b7b76c71edea4bf00e2dbe7d6d3e6f37f0d7..c8b86cd3843decd86f2f5f477b249717cc4eb365 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -14,6 +14,12 @@ 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
@@ -53,29 +59,63 @@ 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
+       imply USE_BOOTCOMMAND
        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_MII
-       select CMD_PING
-       select CMD_PART
+       imply CMD_MII if NET
+       select CMD_PART if PARTITIONS
        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.
 
+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
@@ -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
+       default 0x1000 if AM33XX
        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.
 
+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
@@ -138,10 +199,26 @@ config PHYS_64BIT
          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"
 
+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
@@ -176,6 +253,7 @@ 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
@@ -189,6 +267,16 @@ config FIT_SIGNATURE
          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
@@ -220,18 +308,39 @@ 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).
 
+if SPL
+
 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_FIT
        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_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
@@ -242,7 +351,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
@@ -254,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).
 
+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 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
@@ -299,13 +438,16 @@ 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
+       depends on !NIOS2 && !XTENSA
        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
-         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
@@ -334,6 +476,8 @@ source "disk/Kconfig"
 
 source "dts/Kconfig"
 
+source "env/Kconfig"
+
 source "net/Kconfig"
 
 source "drivers/Kconfig"
@@ -343,5 +487,3 @@ source "fs/Kconfig"
 source "lib/Kconfig"
 
 source "test/Kconfig"
-
-source "scripts/Kconfig"