diff options
Diffstat (limited to 'Kconfig')
-rw-r--r-- | Kconfig | 817 |
1 files changed, 817 insertions, 0 deletions
diff --git a/Kconfig b/Kconfig new file mode 100644 index 00000000000..70125c4e5a6 --- /dev/null +++ b/Kconfig @@ -0,0 +1,817 @@ +# +# 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 COMPILE_TEST + bool "Compile also drivers which will not load" + help + Some drivers can be compiled on a different platform than they are + intended to be run on. Despite they cannot be loaded there (or even + when they load they cannot be used due to missing HW support), + developers still, opposing to distributors, might want to build such + drivers to compile-test them. + + If you are a developer and want to build everything available, say Y + here. If you are a user/distributor, say N here to exclude useless + drivers to be distributed. + +config WERROR + bool "Compile U-Boot with warnings as errors" + default COMPILE_TEST + help + A U-Boot build should not cause any compiler warnings, and this + enables the '-Werror' flag to enforce that rule. + + However, if you have a new (or very old) compiler or linker with odd + and unusual warnings, or you have some architecture with problems, + you may need to disable this config option in order to + successfully build U-Boot. + +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 || ARCH_K3 + 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. + +config SKIP_RELOCATE + bool "Skips relocation of U-Boot to end of RAM" + help + Skips relocation of U-Boot allowing for systems that have extremely + limited RAM to run U-Boot. + +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" + depends on !COMPILE_TEST + 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 separate options to restrict size. + +config SYS_CUSTOM_LDSCRIPT + bool "Use a custom location for the U-Boot linker script" + depends on !COMPILE_TEST + 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 0x4000 if ARCH_STM32 + 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" + 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" + +source "lib/Kconfig" + +source "test/Kconfig" + +source "tools/Kconfig" |