test/py: hush_if_test: Add tests to cover octal/hex values
[oweals/u-boot.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index fcde0c35e2c4ee85ece6f982251352dcb3f2feff..99cc56f3c2b07f4c1c39fcef5d58b6fc3c7efd6d 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -20,6 +20,13 @@ config BROKEN
          This option cannot be enabled. It is used as dependency
          for broken and incomplete features.
 
          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
 config LOCALVERSION
        string "Local version - append to U-Boot release"
        help
@@ -81,6 +88,7 @@ config DISTRO_DEFAULTS
        select CMD_PART if PARTITIONS
        select CMD_PING if CMD_NET
        select CMD_PXE if NET
        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
        select ENV_VARS_UBOOT_CONFIG
        select HUSH_PARSER
        select SUPPORT_RAW_INITRD
@@ -138,6 +146,8 @@ config SYS_MALLOC_F_LEN
        depends on SYS_MALLOC_F
        default 0x1000 if AM33XX
        default 0x2800 if SANDBOX
        depends on SYS_MALLOC_F
        default 0x1000 if AM33XX
        default 0x2800 if SANDBOX
+       default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \
+                          ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5)
        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,
@@ -147,14 +157,16 @@ config SYS_MALLOC_F_LEN
 
 config SYS_MALLOC_LEN
        hex "Define memory for Dynamic allocation"
 
 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"
        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
          Before relocation, memory is very limited on many platforms. Still,
        default SYS_MALLOC_F_LEN
        help
          Before relocation, memory is very limited on many platforms. Still,
@@ -164,7 +176,7 @@ config SPL_SYS_MALLOC_F_LEN
 
 config TPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in TPL before relocation"
 
 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,
        default SYS_MALLOC_F_LEN
        help
          Before relocation, memory is very limited on many platforms. Still,
@@ -228,6 +240,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"
        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
        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
@@ -240,9 +253,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-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)
        default "u-boot.kwb" if KIRKWOOD
        default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
        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
        help
          Some SoCs need special image types (e.g. U-Boot binary
          with a special header) as build targets. By defining
@@ -250,6 +265,37 @@ config BUILD_TARGET
          special image will be automatically built upon calling
          make / buildman.
 
          special image will be automatically built upon calling
          make / buildman.
 
+config SYS_CUSTOM_LDSCRIPT
+       bool "Use a custom location for the U-Boot linker script"
+       help
+         Normally when linking U-Boot we will look in the board directory,
+         the CPU directory and finally the "cpu" directory of the architecture
+         for the ile "u-boot.lds" and use that as our linker.  However, in
+         some cases we need to provide a different linker script.  To do so,
+         enable this option and then provide the location under
+         CONFIG_SYS_LDSCRIPT.
+
+config SYS_LDSCRIPT
+       depends on SYS_CUSTOM_LDSCRIPT
+       string "Custom ldscript location"
+       help
+         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.
+
 endmenu                # General setup
 
 menu "Boot images"
 endmenu                # General setup
 
 menu "Boot images"
@@ -317,7 +363,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
          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"
 
 config FIT_SIGNATURE_MAX_SIZE
        hex "Max size of signed FIT structures"
@@ -388,7 +434,7 @@ config SPL_FIT_SIGNATURE
        select SPL_RSA
 
 config SPL_LOAD_FIT
        select SPL_RSA
 
 config SPL_LOAD_FIT
-       bool "Enable SPL loading U-Boot as a FIT"
+       bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
        select SPL_FIT
        help
          Normally with the SPL framework a legacy image is generated as part
        select SPL_FIT
        help
          Normally with the SPL framework a legacy image is generated as part
@@ -398,8 +444,26 @@ 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_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
 config SPL_LOAD_FIT_FULL
-       bool "Enable SPL loading U-Boot as a FIT"
+       bool "Enable SPL loading U-Boot as a FIT (full fitImage features)"
        select SPL_FIT
        help
          Normally with the SPL framework a legacy image is generated as part
        select SPL_FIT
        help
          Normally with the SPL framework a legacy image is generated as part
@@ -436,6 +500,7 @@ 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
        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/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
        help
          Specifies a (platform specific) script file to generate the FIT
          source file used to build the U-Boot FIT image file. This gets
@@ -446,7 +511,7 @@ endif # SPL
 
 endif # FIT
 
 
 endif # FIT
 
-config IMAGE_FORMAT_LEGACY
+config LEGACY_IMAGE_FORMAT
        bool "Enable support for the legacy image format"
        default y if !FIT_SIGNATURE
        help
        bool "Enable support for the legacy image format"
        default y if !FIT_SIGNATURE
        help
@@ -498,9 +563,14 @@ config SYS_EXTRA_OPTIONS
          configuration to Kconfig. Since this option will be removed sometime,
          new boards should not use this option.
 
          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
        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
        default 0x80800000 if ARCH_OMAP2PLUS || ARCH_K3
        default 0x4a000000 if ARCH_SUNXI && !MACH_SUN9I && !MACH_SUN8I_V3S
        default 0x2a000000 if ARCH_SUNXI && MACH_SUN9I
@@ -509,8 +579,6 @@ config SYS_TEXT_BASE
        help
          The address in memory that U-Boot will be running from, initially.
 
        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"
 config SYS_CLK_FREQ
        depends on ARC || ARCH_SUNXI || MPC83xx
        int "CPU clock frequency"