kconfig / kbuild: Re-sync with Linux 4.19
[oweals/u-boot.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 31e75001ff9e694befe873949cdd4055823fa12a..1b0b6999d8c08dd53029e0e742df660828b375f6 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -3,11 +3,7 @@
 # see the file Documentation/kbuild/kconfig-language.txt in the
 # Linux kernel source tree.
 #
-mainmenu "U-Boot $UBOOTVERSION Configuration"
-
-config UBOOTVERSION
-       string
-       option env="UBOOTVERSION"
+mainmenu "U-Boot $(UBOOTVERSION) Configuration"
 
 # Allow defaults in arch-specific code to override any given here
 source "arch/Kconfig"
@@ -20,6 +16,13 @@ config BROKEN
          This option cannot be enabled. It is used as dependency
          for broken and incomplete features.
 
+config DEPRECATED
+       bool
+       help
+         This option cannot be enabled.  It it used as a dependency for
+         code that relies on deprecated features that will be removed and
+         the conversion deadline has passed.
+
 config LOCALVERSION
        string "Local version - append to U-Boot release"
        help
@@ -81,6 +84,7 @@ config DISTRO_DEFAULTS
        select CMD_PART if PARTITIONS
        select CMD_PING if CMD_NET
        select CMD_PXE if NET
+       select CMD_SYSBOOT
        select ENV_VARS_UBOOT_CONFIG
        select HUSH_PARSER
        select SUPPORT_RAW_INITRD
@@ -107,6 +111,7 @@ config ENV_VARS_UBOOT_CONFIG
 
 config NR_DRAM_BANKS
        int "Number of DRAM banks"
+       default 1 if ARCH_SUNXI
        default 4
        help
          This defines the number of DRAM banks.
@@ -139,7 +144,9 @@ config SYS_MALLOC_F_LEN
        default 0x1000 if AM33XX
        default 0x2800 if SANDBOX
        default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \
-                          ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5)
+                          ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \
+                          ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \
+                          ARCH_LS1046A)
        default 0x400
        help
          Before relocation, memory is very limited on many platforms. Still,
@@ -149,14 +156,15 @@ config SYS_MALLOC_F_LEN
 
 config SYS_MALLOC_LEN
        hex "Define memory for Dynamic allocation"
-       depends on ARCH_ZYNQ || ARCH_VERSAL || ARCH_STM32MP
+       depends on ARCH_ZYNQ || ARCH_VERSAL || ARCH_STM32MP || ARCH_ROCKCHIP
+       default 0x2000000 if ARCH_ROCKCHIP
        help
          This defines memory to be allocated for Dynamic allocation
          TODO: Use for other architectures
 
 config SPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in SPL before relocation"
-       depends on SYS_MALLOC_F
+       depends on SYS_MALLOC_F && SPL
        default 0x2800 if RCAR_GEN3
        default SYS_MALLOC_F_LEN
        help
@@ -167,7 +175,7 @@ config SPL_SYS_MALLOC_F_LEN
 
 config TPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in TPL before relocation"
-       depends on SYS_MALLOC_F
+       depends on SYS_MALLOC_F && TPL
        default SYS_MALLOC_F_LEN
        help
          Before relocation, memory is very limited on many platforms. Still,
@@ -231,6 +239,7 @@ config SPL_IMAGE
        string "SPL image used in the combined SPL+U-Boot image"
        default "spl/boot.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
        default "spl/u-boot-spl.bin"
+       depends on SPL
        help
          Select the SPL build target that shall be generated by the SPL
          build process (default spl/u-boot-spl.bin). This image will be
@@ -243,9 +252,11 @@ config BUILD_TARGET
        default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5
        default "u-boot-spl.kwb" if ARCH_MVEBU && SPL
        default "u-boot-elf.srec" if RCAR_GEN3
-       default "u-boot.itb" if SPL_LOAD_FIT && ARCH_SUNXI
+       default "u-boot.itb" if SPL_LOAD_FIT && (ARCH_ROCKCHIP || \
+                               ARCH_SUNXI || RISCV || ARCH_ZYNQMP)
        default "u-boot.kwb" if KIRKWOOD
        default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
+       default "u-boot-with-spl.imx" if ARCH_MX6 && SPL
        help
          Some SoCs need special image types (e.g. U-Boot binary
          with a special header) as build targets. By defining
@@ -270,6 +281,25 @@ config SYS_LDSCRIPT
          Path within the source tree to the linker script to use for the
          main U-Boot binary.
 
+config ERR_PTR_OFFSET
+       hex
+       default 0x0
+       help
+         Some U-Boot pointers have redundant information, so we can use a
+         scheme where we can return either an error code or a pointer with the
+         same return value. The default implementation just casts the pointer
+         to a number, however, this may fail on platforms where the end of the
+         address range is used for valid pointers (e.g. 0xffffff00 is a valid
+         heap pointer in socfpga SPL).
+         For such platforms, this value provides an upper range of those error
+         pointer values - up to 'MAX_ERRNO' bytes below this value must be
+         unused/invalid addresses.
+
+config PLATFORM_ELFENTRY
+       string
+       default "__start" if MIPS
+       default "_start"
+
 endmenu                # General setup
 
 menu "Boot images"
@@ -326,6 +356,8 @@ config FIT_SIGNATURE
        depends on DM
        select HASH
        select RSA
+       select RSA_VERIFY
+       select IMAGE_SIGN_INFO
        help
          This option enables signature verification of FIT uImages,
          using a hash signed and verified using RSA. If
@@ -337,7 +369,7 @@ config FIT_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_LEGACY_IMAGE_FORMAT.
 
 config FIT_SIGNATURE_MAX_SIZE
        hex "Max size of signed FIT structures"
@@ -357,6 +389,14 @@ config FIT_ENABLE_RSASSA_PSS_SUPPORT
          Enable this to support the pss padding algorithm as described
          in the rfc8017 (https://tools.ietf.org/html/rfc8017).
 
+config FIT_CIPHER
+       bool "Enable ciphering data in a FIT uImages"
+       depends on DM
+       select AES
+       help
+         Enable the feature of data ciphering/unciphering in the tool mkimage
+         and in the u-boot support of the FIT image.
+
 config FIT_VERBOSE
        bool "Show verbose messages when FIT images fail"
        help
@@ -406,6 +446,8 @@ config SPL_FIT_SIGNATURE
        depends on SPL_DM
        select SPL_FIT
        select SPL_RSA
+       select SPL_RSA_VERIFY
+       select IMAGE_SIGN_INFO
 
 config SPL_LOAD_FIT
        bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
@@ -418,6 +460,24 @@ config SPL_LOAD_FIT
          particular it can handle selecting from multiple device tree
          and passing the correct one to U-Boot.
 
+config SPL_LOAD_FIT_APPLY_OVERLAY
+       bool "Enable SPL applying DT overlays from FIT"
+       depends on SPL_LOAD_FIT
+       select OF_LIBFDT_OVERLAY
+       help
+         The device tree is loaded from the FIT image. Allow the SPL is to
+         also load device-tree overlays from the FIT image an apply them
+         over the device tree.
+
+config SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ
+       depends on SPL_LOAD_FIT_APPLY_OVERLAY
+       default 0x10000
+       hex "size of temporary buffer used to load the overlays"
+       help
+         The size of the area where the overlays will be loaded and
+         uncompress. Must be at least as large as biggest overlay
+         (uncompressed)
+
 config SPL_LOAD_FIT_FULL
        bool "Enable SPL loading U-Boot as a FIT (full fitImage features)"
        select SPL_FIT
@@ -456,6 +516,8 @@ config SPL_FIT_GENERATOR
        depends on SPL_FIT
        default "board/sunxi/mksunxi_fit_atf.sh" if SPL_LOAD_FIT && ARCH_SUNXI
        default "arch/arm/mach-rockchip/make_fit_atf.py" if SPL_LOAD_FIT && ARCH_ROCKCHIP
+       default "arch/arm/mach-zynqmp/mkimage_fit_atf.sh" if SPL_LOAD_FIT && ARCH_ZYNQMP
+       default "arch/riscv/lib/mkimage_fit_opensbi.sh" if SPL_LOAD_FIT && RISCV
        help
          Specifies a (platform specific) script file to generate the FIT
          source file used to build the U-Boot FIT image file. This gets
@@ -466,7 +528,7 @@ endif # SPL
 
 endif # FIT
 
-config IMAGE_FORMAT_LEGACY
+config LEGACY_IMAGE_FORMAT
        bool "Enable support for the legacy image format"
        default y if !FIT_SIGNATURE
        help
@@ -518,9 +580,14 @@ config SYS_EXTRA_OPTIONS
          configuration to Kconfig. Since this option will be removed sometime,
          new boards should not use this option.
 
-config SYS_TEXT_BASE
+config HAVE_SYS_TEXT_BASE
+       bool
        depends on !NIOS2 && !XTENSA
        depends on !EFI_APP
+       default y
+
+config SYS_TEXT_BASE
+       depends on HAVE_SYS_TEXT_BASE
        default 0x80800000 if ARCH_OMAP2PLUS || ARCH_K3
        default 0x4a000000 if ARCH_SUNXI && !MACH_SUN9I && !MACH_SUN8I_V3S
        default 0x2a000000 if ARCH_SUNXI && MACH_SUN9I
@@ -529,8 +596,6 @@ config SYS_TEXT_BASE
        help
          The address in memory that U-Boot will be running from, initially.
 
-
-
 config SYS_CLK_FREQ
        depends on ARC || ARCH_SUNXI || MPC83xx
        int "CPU clock frequency"