| # |
| # For a description of the syntax of this configuration file, |
| # see the file Documentation/kbuild/kconfig-language.rst in the |
| # Linux kernel source tree. |
| # |
| mainmenu "U-Boot $(UBOOTVERSION) Configuration" |
| |
| comment "Compiler: $(CC_VERSION_TEXT)" |
| |
| source "scripts/Kconfig.include" |
| |
| # Allow defaults in arch-specific code to override any given here |
| 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 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 |
| Append an extra string to the end of your U-Boot version. |
| This will show up in your boot log, for example. |
| The string you set here will be appended after the contents of |
| any files with a filename matching localversion* in your |
| object and source tree, in that order. Your total string can |
| be a maximum of 64 characters. |
| |
| config LOCALVERSION_AUTO |
| bool "Automatically append version information to the version string" |
| default y |
| help |
| This will try to automatically determine if the current tree is a |
| release tree by looking for Git tags that belong to the current |
| top of tree revision. |
| |
| A string of the format -gxxxxxxxx will be added to the localversion |
| if a Git-based tree is found. The string generated by this will be |
| appended after any matching localversion* files, and after the value |
| set in CONFIG_LOCALVERSION. |
| |
| (The actual string used here is the first eight characters produced |
| by running the command: |
| |
| $ git rev-parse --verify HEAD |
| |
| which is done within the script "scripts/setlocalversion".) |
| |
| config CC_IS_GCC |
| def_bool $(success,$(CC) --version | head -n 1 | grep -q gcc) |
| |
| config GCC_VERSION |
| int |
| default $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//') if CC_IS_GCC |
| default 0 |
| |
| config CC_IS_CLANG |
| def_bool $(success,$(CC) --version | head -n 1 | grep -q clang) |
| |
| config CLANG_VERSION |
| int |
| default $(shell,$(srctree)/scripts/clang-version.sh $(CC)) |
| |
| choice |
| prompt "Optimization level" |
| default CC_OPTIMIZE_FOR_SIZE |
| |
| config CC_OPTIMIZE_FOR_SIZE |
| bool "Optimize for size" |
| help |
| Enabling this option will pass "-Os" to gcc, resulting in a smaller |
| U-Boot image. |
| |
| This option is enabled by default for U-Boot. |
| |
| config CC_OPTIMIZE_FOR_SPEED |
| bool "Optimize for speed" |
| help |
| Enabling this option will pass "-O2" to gcc, resulting in a faster |
| U-Boot image. |
| |
| config CC_OPTIMIZE_FOR_DEBUG |
| bool "Optimize for debugging" |
| help |
| Enabling this option will pass "-Og" to gcc, enabling optimizations |
| which don't interfere with debugging. |
| |
| endchoice |
| |
| config OPTIMIZE_INLINING |
| bool "Allow compiler to uninline functions marked 'inline' in full U-Boot" |
| help |
| This option determines if U-Boot forces gcc to inline the functions |
| developers have marked 'inline'. Doing so takes away freedom from gcc to |
| do what it thinks is best, which is desirable in some cases for size |
| reasons. |
| |
| config SPL_OPTIMIZE_INLINING |
| bool "Allow compiler to uninline functions marked 'inline' in SPL" |
| depends on SPL |
| help |
| This option determines if U-Boot forces gcc to inline the functions |
| developers have marked 'inline'. Doing so takes away freedom from gcc to |
| do what it thinks is best, which is desirable in some cases for size |
| reasons. |
| |
| config ARCH_SUPPORTS_LTO |
| bool |
| |
| config LTO |
| bool "Enable Link Time Optimizations" |
| depends on ARCH_SUPPORTS_LTO |
| help |
| This option enables Link Time Optimization (LTO), a mechanism which |
| allows the compiler to optimize between different compilation units. |
| |
| This can optimize away dead code paths, resulting in smaller binary |
| size (if CC_OPTIMIZE_FOR_SIZE is enabled). |
| |
| This option is not available for every architecture and may |
| introduce bugs. |
| |
| Currently, when compiling with GCC, due to a weird bug regarding |
| jobserver, the final linking will not respect make's --jobs argument. |
| Instead all available processors will be used (as reported by the |
| nproc command). |
| |
| If unsure, say n. |
| |
| config TPL_OPTIMIZE_INLINING |
| bool "Allow compiler to uninline functions marked 'inline' in TPL" |
| depends on TPL |
| help |
| This option determines if U-Boot forces gcc to inline the functions |
| developers have marked 'inline'. Doing so takes away freedom from gcc to |
| do what it thinks is best, which is desirable in some cases for size |
| reasons. |
| |
| 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 ASAN |
| bool "Enable AddressSanitizer" |
| depends on SANDBOX |
| help |
| Enables AddressSanitizer to discover out-of-bounds accesses, |
| use-after-free, double-free and memory leaks. |
| |
| config FUZZ |
| bool "Enable fuzzing" |
| depends on CC_IS_CLANG |
| depends on DM_FUZZING_ENGINE |
| select ASAN |
| help |
| Enables the fuzzing infrastructure to generate fuzzing data and run |
| fuzz tests. |
| |
| config CC_HAS_ASM_INLINE |
| def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null) |
| |
| config XEN |
| bool "Select U-Boot be run as a bootloader for XEN Virtual Machine" |
| depends on ARM64 |
| select SSCANF |
| help |
| Enabling this option will make U-Boot be run as a bootloader |
| for XEN [1] Virtual Machine. |
| |
| Xen is a virtual machine monitor (VMM) or a type-1 hypervisor with support |
| for para-virtualization. Xen can organize the safe execution of several |
| virtual machines on the same physical system with performance close to |
| native. It is used as the basis for a number of different commercial and |
| open source applications, such as: server virtualization, Infrastructure |
| as a Service (IaaS), desktop virtualization, security applications, |
| embedded and hardware appliances. |
| Xen has a special VM called Domain-0 that runs the Dom0 kernel and allows |
| Xen to use the device drivers for the Domain-0 kernel by default. |
| |
| [1] - https://xenproject.org/ |
| |
| 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 NR_DRAM_BANKS |
| int "Number of DRAM banks" |
| default 1 if ARCH_SC5XX || ARCH_SUNXI || ARCH_OWL |
| default 2 if OMAP34XX |
| default 4 |
| help |
| This defines the number of DRAM banks. |
| |
| 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_BARGSIZE |
| int "Size of kernel command line buffer in bytes" |
| depends on SYS_BOOT_GET_CMDLINE |
| default 512 |
| help |
| Buffer size for Boot Arguments which are passed to the application |
| (usually a Linux kernel) when it is booted |
| |
| 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 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 |
| by taking the statically defined CFG_SYS_INIT_RAM_ADDR, adding the |
| statically defined CFG_SYS_INIT_RAM_SIZE and then subtracting the |
| build-time constant of GENERATED_GBL_DATA_SIZE. On MIPS a different |
| but statica calculation is performed. However, some platforms will |
| take a different approach. Say Y here to define the address statically |
| instead. |
| |
| 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 |
| bool "Enable malloc() pool before relocation" |
| default y if DM |
| |
| 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 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_RV1108 |
| default 0x600 if ARCH_ZYNQMP_R5 || ARCH_ZYNQMP |
| default 0x800 if ARCH_ZYNQ || ROCKCHIP_RK3128 || ROCKCHIP_RK3188 || \ |
| ROCKCHIP_RK322X || X86 |
| default 0x1000 if ARCH_MESON || ARCH_BMIPS || ARCH_MTMIPS |
| default 0x1800 if ARCH_TEGRA |
| default 0x4000 if SANDBOX || RISCV || ARCH_APPLE || ROCKCHIP_RK3368 || \ |
| ROCKCHIP_RK3399 |
| default 0x8000 if RCAR_GEN3 |
| default 0x10000 if ARCH_IMX8 || ARCH_IMX8M |
| default 0x2000 |
| help |
| 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" |
| default 0x4000000 if SANDBOX |
| default 0x2000000 if ARCH_ROCKCHIP || ARCH_OMAP2PLUS || ARCH_MESON |
| default 0x200000 if ARCH_BMIPS || X86 |
| default 0x4020000 if SUNXI_MINIMUM_DRAM_MB >= 256 |
| default 0x220000 if SUNXI_MINIMUM_DRAM_MB >= 64 |
| default 0x120000 if SUNXI_MINIMUM_DRAM_MB >= 32 |
| default 0x400000 |
| help |
| 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 SPL_SYS_MALLOC_F |
| default 0x2800 if RCAR_GEN3 |
| default 0x2000 if IMX8MQ |
| default SYS_MALLOC_F_LEN |
| help |
| 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_SPL_SYS_MALLOC_START to start a new |
| malloc() region in SDRAM once it is inited. |
| |
| config TPL_SYS_MALLOC_F |
| bool "Enable malloc() pool in TPL" |
| depends on SYS_MALLOC_F && TPL |
| 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 |
| help |
| Valgrind is an instrumentation framework for building dynamic analysis |
| tools. In particular, it may be used to detect memory management bugs |
| in U-Boot. It relies on knowing when heap blocks are allocated in |
| order to give accurate results. This happens automatically for |
| standard allocator functions provided by the host OS. However, this |
| doesn't automatically happen for U-Boot's malloc implementation. |
| |
| Enable this option to annotate U-Boot's malloc implementation so that |
| 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 |
| bool "Enable malloc() pool in VPL" |
| depends on SYS_MALLOC_F && VPL |
| default y if SPL_SYS_MALLOC_F |
| help |
| 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 |
| help |
| This option allows certain base U-Boot options and settings |
| to be disabled or tweaked. This is for specialized |
| environments which can tolerate a "non-standard" U-Boot. |
| Use this only if you really know what you are doing. |
| |
| if EXPERT |
| config SYS_MALLOC_CLEAR_ON_INIT |
| bool "Init with zeros the memory reserved for malloc (slow)" |
| default y |
| help |
| This setting is enabled by default. The reserved malloc |
| memory is initialized with zeros, so first malloc calls |
| will return the pointer to the zeroed memory. But this |
| slows the boot time. |
| |
| It is recommended to disable it, when CONFIG_SYS_MALLOC_LEN |
| value, has more than few MiB, e.g. when uses bzip2 or bmp logo. |
| Then the boot time can be significantly reduced. |
| Warning: |
| 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 |
| It may happen that one needs to move the dynamic allocation |
| from one to another memory range, eg. when moving the malloc |
| from the limited static to a potentially large dynamic (DDR) |
| memory. |
| |
| If so then on top of setting the updated memory aside one |
| needs to bring the malloc init. |
| |
| If such a scenario is sought choose yes. |
| |
| config TOOLS_DEBUG |
| bool "Enable debug information for tools" |
| help |
| Enable generation of debug information for tools such as mkimage. |
| This can be used for debugging purposes. With debug information |
| it is possible to set breakpoints on particular lines, single-step |
| debug through the source code, etc. |
| |
| endif # EXPERT |
| |
| config PHYS_64BIT |
| bool "64bit physical address support" |
| select FDT_64BIT |
| help |
| Say Y here to support 64bit physical memory address. |
| This can be used not only for 64bit SoCs, but also for |
| large physical address extension on 32bit SoCs. |
| |
| config FDT_64BIT |
| bool "64bit fdt address support" |
| help |
| Say Y here to support 64bit fdt addresses. |
| This can be used not only for 64bit SoCs, but also |
| for large address extensions on 32bit SoCs. |
| |
| config HAS_ROM |
| bool |
| select BINMAN |
| help |
| Enables building of a u-boot.rom target. This collects U-Boot and |
| any necessary binary blobs. |
| |
| 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 |
| used to generate a combined image with SPL and main U-Boot |
| proper as one single image. |
| |
| config REMAKE_ELF |
| bool "Recreate an ELF image from raw U-Boot binary" |
| help |
| Enable this to recreate an ELF image (u-boot.elf) from the raw |
| U-Boot binary (u-boot.bin), which may already have been statically |
| relocated and may already have a device-tree appended to it. |
| |
| config BUILD_TARGET |
| string "Build target special images" |
| default "u-boot-elf.srec" if RCAR_64 |
| default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT |
| default "u-boot-with-spl.bin" if MPC85xx && !E500MC && !E5500 && !E6500 && SPL |
| default "u-boot-with-spl.imx" if ARCH_MX6 && SPL |
| default "u-boot-with-spl.kwb" if ARMADA_32BIT && SPL |
| default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_ARRIA10 |
| default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5 |
| default "u-boot.itb" if !BINMAN && SPL_LOAD_FIT && (ARCH_ROCKCHIP || \ |
| RISCV || ARCH_ZYNQMP) |
| default "u-boot.kwb" if (ARCH_KIRKWOOD || ARMADA_32BIT) && !SPL |
| help |
| Some SoCs need special image types (e.g. U-Boot binary |
| with a special header) as build targets. By defining |
| CONFIG_BUILD_TARGET in the SoC / board header, this |
| special image will be automatically built upon calling |
| make / buildman. |
| |
| config HAS_BOARD_SIZE_LIMIT |
| bool "Define a maximum size for the U-Boot image" |
| 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 |
| Maximum size of the U-Boot image. When defined, the build system |
| checks that the actual size does not exceed it. This does not |
| include SPL nor TPL, on platforms that use that functionality, they |
| have a separate option to restict size. |
| |
| 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 SYS_LOAD_ADDR |
| hex "Address in memory to use by default" |
| default 0x01000000 if ARCH_SOCFPGA |
| default 0x02000000 if PPC || X86 |
| default 0x81000000 if MACH_SUNIV |
| default 0x22000000 if MACH_SUN9I |
| default 0x42000000 if ARCH_SUNXI |
| default 0x82000000 if ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3 |
| default 0x82000000 if ARCH_MX6 && (MX6SL || MX6SLL || MX6SX || MX6UL || MX6ULL) |
| 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. |
| |
| 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" |
| |
| 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 0x1000000 |
| help |
| Define Max stack size that can be used by U-Boot. This value is used |
| by the UEFI sub-system. On some boards initrd_high is calculated as |
| base stack pointer minus this stack size. |
| |
| config SYS_MEM_TOP_HIDE |
| hex "Exclude some memory from U-Boot / OS information" |
| default 0x0 |
| help |
| If set, this specified memory area will get subtracted from the top |
| (end) of RAM and won't get "touched" at all by U-Boot. By fixing up |
| gd->ram_size the OS / next stage should gets passed the now |
| "corrected" memory size and won't touch it either. |
| WARNING: Please make sure that this value is a multiple of the OS |
| page size. |
| |
| 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 |
| Size of memory reserved for monitor code, used to determine |
| _at_compile_time_ (!) if the environment is embedded within the |
| U-Boot image, or in a separate flash sector, among other uses where |
| we need to set a maximum size of the U-Boot binary itself that will |
| be loaded. |
| |
| config MP |
| bool "Support for multiprocessor" |
| help |
| 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 |
| |
| source "boot/Kconfig" |
| |
| source "common/Kconfig" |
| |
| source "cmd/Kconfig" |
| |
| source "disk/Kconfig" |
| |
| source "dts/Kconfig" |
| |
| source "env/Kconfig" |
| |
| menu Networking |
| |
| choice |
| prompt "Networking stack" |
| default NET |
| |
| config NO_NET |
| bool "No networking support" |
| |
| config NET |
| bool "Legacy U-Boot networking stack" |
| imply NETDEVICES |
| |
| 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" |
| |
| source "lib/Kconfig" |
| |
| source "test/Kconfig" |
| |
| source "tools/Kconfig" |