Merge tag 'mips-pull-2018-11-18' of git://git.denx.de/u-boot-mips
[oweals/u-boot.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 6670913799fa9e3033528461769aef26801fb271..dca9bb4e432929863ae79ab85b5e2f8100cfa16d 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -59,37 +59,34 @@ 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 AUTO_COMPLETE
+       select CMDLINE_EDITING
        select CMD_BOOTI if ARM64
        select CMD_BOOTI if ARM64
-       select CMD_DHCP if NET && CMD_NET
-       select CMD_PXE if NET && CMD_NET
+       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_EXT2
        select CMD_EXT4
        select CMD_FAT
        select CMD_FS_GENERIC
-       imply CMD_MII if NET
-       select CMD_PING if NET
        select CMD_PART if PARTITIONS
        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 HUSH_PARSER
-       select BOOTP_BOOTPATH if NET && CMD_NET
-       select BOOTP_DNS if NET && CMD_NET
-       select BOOTP_GATEWAY if NET && CMD_NET
-       select BOOTP_HOSTNAME if NET && CMD_NET
-       select BOOTP_PXE if NET && CMD_NET
-       select BOOTP_SUBNETMASK if NET && CMD_NET
-       select CMDLINE_EDITING
-       select AUTO_COMPLETE
-       select SYS_LONGHELP
        select SUPPORT_RAW_INITRD
        select SUPPORT_RAW_INITRD
-       select ENV_VARS_UBOOT_CONFIG
+       select SYS_LONGHELP
+       imply CMD_MII if NET
+       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.
        help
          Select this to enable various options and commands which are suitable
          for building u-boot for booting general purpose Linux distributions.
@@ -107,6 +104,12 @@ config ENV_VARS_UBOOT_CONFIG
          - CONFIG_SYS_VENDOR
          - CONFIG_SYS_SOC
 
          - 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
 config SYS_BOOT_GET_CMDLINE
        bool "Enable kernel command line setup"
        help
@@ -131,6 +134,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,
@@ -138,25 +142,32 @@ 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 SYS_MALLOC_LEN
+       hex "Define memory for Dynamic allocation"
+       depends on ARCH_ZYNQ || ARCH_VERSAL
+       help
+         This defines memory to be allocated for Dynamic allocation
+         TODO: Use for other architectures
+
 config SPL_SYS_MALLOC_F_LEN
 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
+       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
 
 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
+       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)"
 
 menuconfig EXPERT
        bool "Configure standard U-Boot features (expert users)"
@@ -239,8 +250,8 @@ if FIT
 
 config FIT_ENABLE_SHA256_SUPPORT
        bool "Support SHA256 checksum of FIT image contents"
 
 config FIT_ENABLE_SHA256_SUPPORT
        bool "Support SHA256 checksum of FIT image contents"
-       select SHA256
        default y
        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
        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
@@ -254,6 +265,7 @@ config FIT_ENABLE_SHA256_SUPPORT
 config FIT_SIGNATURE
        bool "Enable signature verification of FIT uImages"
        depends on DM
 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,
        select RSA
        help
          This option enables signature verification of FIT uImages,
@@ -268,6 +280,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
@@ -306,6 +328,12 @@ config SPL_FIT
        depends on SPL
        select SPL_OF_LIBFDT
 
        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
@@ -323,6 +351,17 @@ 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"
        depends on 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
@@ -359,6 +398,16 @@ 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
@@ -404,7 +453,7 @@ config SYS_EXTRA_OPTIONS
 config SYS_TEXT_BASE
        depends on !NIOS2 && !XTENSA
        depends on !EFI_APP
 config SYS_TEXT_BASE
        depends on !NIOS2 && !XTENSA
        depends on !EFI_APP
-       default 0x80800000 if ARCH_OMAP2PLUS
+       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
        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