]> Git Repo - u-boot.git/blobdiff - Kconfig
Merge tag 'v2025.01-rc5' into next
[u-boot.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 0a2e97578dfcb1c36ec5b4e46f2b1706e9f2ed82..6379a45416647ec7ade8862d5619f70bdc0b6004 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see the file Documentation/kbuild/kconfig-language.txt in the
+# see the file Documentation/kbuild/kconfig-language.rst in the
 # Linux kernel source tree.
 #
 mainmenu "U-Boot $(UBOOTVERSION) Configuration"
@@ -208,7 +208,8 @@ config ENV_VARS_UBOOT_CONFIG
 
 config NR_DRAM_BANKS
        int "Number of DRAM banks"
-       default 1 if ARCH_SUNXI || ARCH_OWL
+       default 1 if ARCH_SC5XX || ARCH_SUNXI || ARCH_OWL
+       default 2 if OMAP34XX
        default 4
        help
          This defines the number of DRAM banks.
@@ -236,6 +237,7 @@ config SYS_BOOT_GET_KBD
 config HAS_CUSTOM_SYS_INIT_SP_ADDR
        bool "Use a custom location for the initial stack pointer address"
        depends on ARC || (ARM && !INIT_SP_RELATIVE) || MIPS || PPC || RISCV
+       default y if OMAP34XX || AM33XX || AM43XX || DRA7XX
        default y if TFABOOT
        help
          Typically, we use an initial stack pointer address that is calculated
@@ -249,6 +251,10 @@ config HAS_CUSTOM_SYS_INIT_SP_ADDR
 config CUSTOM_SYS_INIT_SP_ADDR
        hex "Static location for the initial stack pointer"
        depends on HAS_CUSTOM_SYS_INIT_SP_ADDR
+       default 0x4020ff00 if OMAP34XX
+       default 0x4030ff00 if AM33XX
+       default 0x4033ff00 if AM43XX
+       default 0x4037ff00 if DRA7XX
        default TEXT_BASE if TFABOOT
 
 config SYS_MALLOC_F
@@ -265,7 +271,7 @@ config SYS_MALLOC_F_LEN
        hex "Size of malloc() pool before relocation"
        depends on SYS_MALLOC_F
        default 0x400 if M68K || PPC || ROCKCHIP_PX30 || ROCKCHIP_RK3036 || \
-                        ROCKCHIP_RK3308 || ROCKCHIP_RV1108
+                        ROCKCHIP_RV1108
        default 0x600 if ARCH_ZYNQMP_R5 || ARCH_ZYNQMP
        default 0x800 if ARCH_ZYNQ || ROCKCHIP_RK3128 || ROCKCHIP_RK3188 || \
                         ROCKCHIP_RK322X || X86
@@ -277,10 +283,17 @@ config SYS_MALLOC_F_LEN
        default 0x10000 if ARCH_IMX8 || ARCH_IMX8M
        default 0x2000
        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.
+               Size of the malloc() pool for use before relocation. If
+               this is defined, then a very simple malloc() implementation
+               will become available before relocation. The address is just
+               below the global data, and the stack is moved down to make
+               space.
+
+               This feature allocates regions with increasing addresses
+               within the region. calloc() is supported, but realloc()
+               is not available. free() is supported but does nothing.
+               The memory will be freed (or in fact just forgotten) when
+               U-Boot relocates itself.
 
 config SYS_MALLOC_LEN
        hex "Define memory for Dynamic allocation"
@@ -295,32 +308,49 @@ config SYS_MALLOC_LEN
          This defines memory to be allocated for Dynamic allocation
          TODO: Use for other architectures
 
+config SPL_SYS_MALLOC_F
+       bool "Enable malloc() pool in SPL"
+       depends on SPL_FRAMEWORK && SYS_MALLOC_F && SPL
+       default y
+       help
+         In SPL 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 SPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in SPL"
-       depends on SYS_MALLOC_F && SPL
-       default 0x0 if !SPL_FRAMEWORK
+       depends on SPL_SYS_MALLOC_F
        default 0x2800 if RCAR_GEN3
        default 0x2000 if IMX8MQ
        default SYS_MALLOC_F_LEN
        help
-         In SPL 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.
+         Sets the size of the malloc() pool in SPL. This is used for
+         driver model and other features, which must allocate memory for
+         data structures.
 
-         It is possible to enable CFG_SYS_SPL_MALLOC_START to start a new
+         It is possible to enable CFG_SPL_SYS_MALLOC_START to start a new
          malloc() region in SDRAM once it is inited.
 
-config TPL_SYS_MALLOC_F_LEN
-       hex "Size of malloc() pool in TPL"
+config TPL_SYS_MALLOC_F
+       bool "Enable malloc() pool in TPL"
        depends on SYS_MALLOC_F && TPL
-       default SPL_SYS_MALLOC_F_LEN
+       default y if SPL_SYS_MALLOC_F
        help
          In TPL 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"
+       depends on TPL_SYS_MALLOC_F
+       default SPL_SYS_MALLOC_F_LEN
+       help
+         Sets the size of the malloc() pool in TPL. This is used for
+         driver model and other features, which must allocate memory for
+         data structures.
+
 config VALGRIND
        bool "Inform valgrind about memory allocations"
        depends on !RISCV
@@ -336,16 +366,25 @@ config VALGRIND
          it can be handled accurately by Valgrind. If you aren't planning on
          using valgrind to debug U-Boot, say 'n'.
 
-config VPL_SYS_MALLOC_F_LEN
-       hex "Size of malloc() pool in VPL before relocation"
+config VPL_SYS_MALLOC_F
+       bool "Enable malloc() pool in VPL"
        depends on SYS_MALLOC_F && VPL
-       default SYS_MALLOC_F_LEN
+       default y if SPL_SYS_MALLOC_F
        help
-         Before relocation, memory is very limited on many platforms. Still,
+         In VPL 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 VPL_SYS_MALLOC_F_LEN
+       hex "Size of malloc() pool in VPL before relocation"
+       depends on VPL_SYS_MALLOC_F
+       default SPL_SYS_MALLOC_F_LEN
+       help
+         Sets the size of the malloc() pool in VPL. This is used for
+         driver model and other features, which must allocate memory for
+         data structures.
+
 menuconfig EXPERT
        bool "Configure standard U-Boot features (expert users)"
        default y
@@ -372,6 +411,17 @@ if EXPERT
          When disabling this, please check if malloc calls, maybe
          should be replaced by calloc - if one expects zeroed memory.
 
+config SPL_SYS_MALLOC_CLEAR_ON_INIT
+       bool "Init with zeros the memory reserved for malloc (slow) in SPL"
+       depends on SPL
+       default SYS_MALLOC_CLEAR_ON_INIT
+       help
+         Same as SYS_MALLOC_CLEAR_ON_INIT, but for SPL. It's possible to
+         Enable it without SYS_MALLOC_CLEAR_ON_INIT. It's useful for boards
+         that must have particular memory regions zero'ed before first use.
+         If SYS_SPL_MALLOC_START is configured to be in such region, this
+         option should be enabled.
+
 config SYS_MALLOC_DEFAULT_TO_INIT
        bool "Default malloc to init while reserving the memory for it"
        help
@@ -456,13 +506,14 @@ config BUILD_TARGET
 
 config HAS_BOARD_SIZE_LIMIT
        bool "Define a maximum size for the U-Boot image"
-       default y if RCAR_64
+       default y if RCAR_32 || RCAR_64
        help
          In some cases, we need to enforce a hard limit on how big the U-Boot
          image itself can be.
 
 config BOARD_SIZE_LIMIT
        int "Maximum size of the U-Boot image in bytes"
+       default 524288 if RCAR_32
        default 1048576 if RCAR_64
        depends on HAS_BOARD_SIZE_LIMIT
        help
@@ -500,6 +551,7 @@ config SYS_LOAD_ADDR
        default 0x12000000 if ARCH_MX6 && !(MX6SL || MX6SLL  || MX6SX || MX6UL || MX6ULL)
        default 0x80800000 if ARCH_MX7
        default 0x90000000 if FSL_LSCH2 || FSL_LSCH3
+       default 0x0 if ARCH_SC5XX
        help
          Address in memory to use as the default safe load address.
 
@@ -526,6 +578,7 @@ config STACK_SIZE
        hex "Define max stack size that can be used by U-Boot"
        default 0x4000000 if ARCH_VERSAL_NET || ARCH_VERSAL || ARCH_ZYNQMP
        default 0x200000 if MICROBLAZE
+       default 0x4000 if ARCH_STM32
        default 0x1000000
        help
          Define Max stack size that can be used by U-Boot. This value is used
@@ -543,33 +596,10 @@ config SYS_MEM_TOP_HIDE
          WARNING: Please make sure that this value is a multiple of the OS
          page size.
 
-config SYS_HAS_SRAM
-       bool
-       default y if TARGET_PIC32MZDASK
-       default y if TARGET_DEVKIT8000
-       default y if TARGET_TRICORDER
-       help
-         Enable this to allow support for the on board SRAM.
-         SRAM base address is controlled by CONFIG_SYS_SRAM_BASE.
-         SRAM size is controlled by CONFIG_SYS_SRAM_SIZE.
-
-config SYS_SRAM_BASE
-       hex
-       default 0x80000000 if TARGET_PIC32MZDASK
-       default 0x40200000 if TARGET_DEVKIT8000
-       default 0x40200000 if TARGET_TRICORDER
-       default 0x0
-
-config SYS_SRAM_SIZE
-       hex
-       default 0x00080000 if TARGET_PIC32MZDASK
-       default 0x10000 if TARGET_DEVKIT8000
-       default 0x10000 if TARGET_TRICORDER
-       default 0x0
-
 config SYS_MONITOR_LEN
        int "Maximum size in bytes reserved for U-Boot in memory"
        default 1048576 if X86
+       default 262144 if OMAP34XX
        default 786432 if ARCH_SUNXI
        default 0
        help
@@ -585,6 +615,112 @@ config MP
          This provides an option to bringup different processors
          in multiprocessor cases.
 
+config HAVE_TEXT_BASE
+       bool
+       depends on !NIOS2 && !XTENSA
+       depends on !EFI_APP
+       default y
+
+config TEXT_BASE
+       depends on HAVE_TEXT_BASE
+       default 0x0 if POSITION_INDEPENDENT
+       default 0x17800000 if ARCH_MX6
+       default 0x87800000 if ARCH_MX7
+       default 0x80800000 if ARCH_OMAP2PLUS || ARCH_K3
+       default 0x81700000 if MACH_SUNIV
+       default 0x2a000000 if MACH_SUN9I
+       default 0x4a000000 if SUNXI_MINIMUM_DRAM_MB >= 256
+       default 0x42e00000 if SUNXI_MINIMUM_DRAM_MB >= 64
+       default 0x96000000 if ARCH_SC5XX && SC59X_64
+       default 0xB2200000 if ARCH_SC5XX && SC59X
+       default 0x89200000 if ARCH_SC5XX && TARGET_SC584_EZKIT
+       default 0xC2200000 if ARCH_SC5XX && (TARGET_SC589_EZKIT || TARGET_SC589_MINI)
+       default 0x82200000 if ARCH_SC5XX && SC57X
+       hex "Text Base"
+       help
+         The address in memory that U-Boot will be copied and executed from
+         initially.
+
+config HAVE_SYS_UBOOT_START
+       bool "Use custom U-Boot Start"
+       depends on HAVE_TEXT_BASE
+       help
+         By default, the address in memory that U-Boot will be copied from
+         (TEXT_BASE) and the entry point are the same. Select this to start the
+         execution of U-Boot from a different address.
+         This may be required if a header or vector table needs to be copied
+         but not executed.
+
+config SYS_UBOOT_START
+       hex
+       depends on HAVE_TEXT_BASE
+       default TEXT_BASE
+       prompt "U-Boot entry" if HAVE_SYS_UBOOT_START
+       help
+         If TEXT_BASE differs from the start of execution, this sets the
+         address in memory that U-Boot will start execution from initially.
+
+config HAVE_SYS_MONITOR_BASE
+       bool
+       depends on ARC || MIPS || M68K || NIOS2 || PPC || XTENSA || X86 \
+               || ENV_IS_IN_FLASH || MTD_NOR_FLASH
+       depends on !EFI_APP
+       default y
+
+config SYS_MONITOR_BASE
+       depends on HAVE_SYS_MONITOR_BASE
+       hex "Physical start address of boot monitor code"
+       default TEXT_BASE
+       help
+         The physical start address of boot monitor code (which is the same as
+         CONFIG_TEXT_BASE when linking) and the same as CFG_SYS_FLASH_BASE
+         when booting from flash.
+
+config SPL_SYS_MONITOR_BASE
+       depends on MPC85xx && SPL && HAVE_SYS_MONITOR_BASE
+       hex "Physical start address of SPL monitor code"
+       default SPL_TEXT_BASE
+
+config TPL_SYS_MONITOR_BASE
+       depends on MPC85xx && TPL && HAVE_SYS_MONITOR_BASE
+       hex "Physical start address of TPL monitor code"
+
+config DYNAMIC_SYS_CLK_FREQ
+       bool "Determine CPU clock frequency at run-time"
+       help
+         Implement a get_board_sys_clk function that will determine the CPU
+         clock frequency at run time, rather than define it statically.
+
+config SYS_CLK_FREQ
+       depends on !DYNAMIC_SYS_CLK_FREQ
+       int "CPU clock frequency"
+       default 125000000 if ARCH_LS1012A
+       default 100000000 if ARCH_P2020 || ARCH_T1024 || ARCH_T1042 || \
+                            ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
+       default 66666666 if ARCH_P1010 || ARCH_P1020 || ARCH_T4240
+       default 66660000 if ARCH_T2080
+       default 33333333 if RCAR_GEN3
+       default 24000000 if ARCH_EXYNOS
+       default 20000000 if RCAR_GEN2
+       default 0
+       help
+         A static value for the CPU frequency.  Note that if not required
+         for a given SoC, this can be left at 0.
+
+config HAS_LDR
+       bool
+       help
+         Enables building .ldr targets for U-Boot and SPL. This does not
+         automatically build any additional targets with make or buildman.
+
+config LDR_CPU
+       string "CPU name to be passed to LDR utility."
+       depends on HAS_LDR
+       help
+         Set the CPU name for the -T parameter in the LDR utility.  This is
+         generally used on processors from Analog Devices, but may be also
+         be useful for other vendors.
+
 source "api/Kconfig"
 
 endmenu                # General setup
@@ -601,8 +737,42 @@ source "dts/Kconfig"
 
 source "env/Kconfig"
 
+menu Networking
+
+choice
+       prompt "Networking stack"
+       default NET
+
+config NO_NET
+       bool "No networking support"
+       help
+         Do not include networking support
+
+config NET
+       bool "Legacy U-Boot networking stack"
+       imply NETDEVICES
+       help
+         Include networking support with U-Boot's internal implementation of
+         the TCP/IP protocol stack.
+
+config NET_LWIP
+       bool "Use lwIP for networking stack"
+       imply NETDEVICES
+       help
+         Include networking support based on the lwIP (lightweight IP)
+         TCP/IP stack (https://nongnu.org/lwip). This is a replacement for
+         the default U-Boot network stack and applications located in net/
+         and enabled via CONFIG_NET as well as other pieces of code that
+         depend on CONFIG_NET (such as cmd/net.c enabled via CONFIG_CMD_NET).
+         Therefore the two symbols CONFIG_NET and CONFIG_NET_LWIP are mutually
+         exclusive.
+
+endchoice
+
 source "net/Kconfig"
 
+endmenu
+
 source "drivers/Kconfig"
 
 source "fs/Kconfig"
This page took 0.034185 seconds and 4 git commands to generate.