1# 2# For a description of the syntax of this configuration file, 3# see the file Documentation/kbuild/kconfig-language.txt in the 4# Linux kernel source tree. 5# 6mainmenu "U-Boot $(UBOOTVERSION) Configuration" 7 8comment "Compiler: $(CC_VERSION_TEXT)" 9 10source "scripts/Kconfig.include" 11 12# Allow defaults in arch-specific code to override any given here 13source "arch/Kconfig" 14 15menu "General setup" 16 17config BROKEN 18 bool 19 help 20 This option cannot be enabled. It is used as dependency 21 for broken and incomplete features. 22 23config DEPRECATED 24 bool 25 help 26 This option cannot be enabled. It it used as a dependency for 27 code that relies on deprecated features that will be removed and 28 the conversion deadline has passed. 29 30config LOCALVERSION 31 string "Local version - append to U-Boot release" 32 help 33 Append an extra string to the end of your U-Boot version. 34 This will show up in your boot log, for example. 35 The string you set here will be appended after the contents of 36 any files with a filename matching localversion* in your 37 object and source tree, in that order. Your total string can 38 be a maximum of 64 characters. 39 40config LOCALVERSION_AUTO 41 bool "Automatically append version information to the version string" 42 default y 43 help 44 This will try to automatically determine if the current tree is a 45 release tree by looking for Git tags that belong to the current 46 top of tree revision. 47 48 A string of the format -gxxxxxxxx will be added to the localversion 49 if a Git-based tree is found. The string generated by this will be 50 appended after any matching localversion* files, and after the value 51 set in CONFIG_LOCALVERSION. 52 53 (The actual string used here is the first eight characters produced 54 by running the command: 55 56 $ git rev-parse --verify HEAD 57 58 which is done within the script "scripts/setlocalversion".) 59 60config CC_IS_GCC 61 def_bool $(success,$(CC) --version | head -n 1 | grep -q gcc) 62 63config GCC_VERSION 64 int 65 default $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//') if CC_IS_GCC 66 default 0 67 68config CC_IS_CLANG 69 def_bool $(success,$(CC) --version | head -n 1 | grep -q clang) 70 71config CLANG_VERSION 72 int 73 default $(shell,$(srctree)/scripts/clang-version.sh $(CC)) 74 75choice 76 prompt "Optimization level" 77 default CC_OPTIMIZE_FOR_SIZE 78 79config CC_OPTIMIZE_FOR_SIZE 80 bool "Optimize for size" 81 help 82 Enabling this option will pass "-Os" to gcc, resulting in a smaller 83 U-Boot image. 84 85 This option is enabled by default for U-Boot. 86 87config CC_OPTIMIZE_FOR_SPEED 88 bool "Optimize for speed" 89 help 90 Enabling this option will pass "-O2" to gcc, resulting in a faster 91 U-Boot image. 92 93config CC_OPTIMIZE_FOR_DEBUG 94 bool "Optimize for debugging" 95 help 96 Enabling this option will pass "-Og" to gcc, enabling optimizations 97 which don't interfere with debugging. 98 99endchoice 100 101config OPTIMIZE_INLINING 102 bool "Allow compiler to uninline functions marked 'inline' in full U-Boot" 103 help 104 This option determines if U-Boot forces gcc to inline the functions 105 developers have marked 'inline'. Doing so takes away freedom from gcc to 106 do what it thinks is best, which is desirable in some cases for size 107 reasons. 108 109config SPL_OPTIMIZE_INLINING 110 bool "Allow compiler to uninline functions marked 'inline' in SPL" 111 depends on SPL 112 help 113 This option determines if U-Boot forces gcc to inline the functions 114 developers have marked 'inline'. Doing so takes away freedom from gcc to 115 do what it thinks is best, which is desirable in some cases for size 116 reasons. 117 118config ARCH_SUPPORTS_LTO 119 bool 120 121config LTO 122 bool "Enable Link Time Optimizations" 123 depends on ARCH_SUPPORTS_LTO 124 help 125 This option enables Link Time Optimization (LTO), a mechanism which 126 allows the compiler to optimize between different compilation units. 127 128 This can optimize away dead code paths, resulting in smaller binary 129 size (if CC_OPTIMIZE_FOR_SIZE is enabled). 130 131 This option is not available for every architecture and may 132 introduce bugs. 133 134 Currently, when compiling with GCC, due to a weird bug regarding 135 jobserver, the final linking will not respect make's --jobs argument. 136 Instead all available processors will be used (as reported by the 137 nproc command). 138 139 If unsure, say n. 140 141config TPL_OPTIMIZE_INLINING 142 bool "Allow compiler to uninline functions marked 'inline' in TPL" 143 depends on TPL 144 help 145 This option determines if U-Boot forces gcc to inline the functions 146 developers have marked 'inline'. Doing so takes away freedom from gcc to 147 do what it thinks is best, which is desirable in some cases for size 148 reasons. 149 150config CC_COVERAGE 151 bool "Enable code coverage analysis" 152 depends on SANDBOX 153 help 154 Enabling this option will pass "--coverage" to gcc to compile 155 and link code instrumented for coverage analysis. 156 157config ASAN 158 bool "Enable AddressSanitizer" 159 depends on SANDBOX 160 help 161 Enables AddressSanitizer to discover out-of-bounds accesses, 162 use-after-free, double-free and memory leaks. 163 164config FUZZ 165 bool "Enable fuzzing" 166 depends on CC_IS_CLANG 167 depends on DM_FUZZING_ENGINE 168 select ASAN 169 help 170 Enables the fuzzing infrastructure to generate fuzzing data and run 171 fuzz tests. 172 173config CC_HAS_ASM_INLINE 174 def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null) 175 176config XEN 177 bool "Select U-Boot be run as a bootloader for XEN Virtual Machine" 178 depends on ARM64 179 select SSCANF 180 help 181 Enabling this option will make U-Boot be run as a bootloader 182 for XEN [1] Virtual Machine. 183 184 Xen is a virtual machine monitor (VMM) or a type-1 hypervisor with support 185 for para-virtualization. Xen can organize the safe execution of several 186 virtual machines on the same physical system with performance close to 187 native. It is used as the basis for a number of different commercial and 188 open source applications, such as: server virtualization, Infrastructure 189 as a Service (IaaS), desktop virtualization, security applications, 190 embedded and hardware appliances. 191 Xen has a special VM called Domain-0 that runs the Dom0 kernel and allows 192 Xen to use the device drivers for the Domain-0 kernel by default. 193 194 [1] - https://xenproject.org/ 195 196config ENV_VARS_UBOOT_CONFIG 197 bool "Add arch, board, vendor and soc variables to default environment" 198 help 199 Define this in order to add variables describing the 200 U-Boot build configuration to the default environment. 201 These will be named arch, cpu, board, vendor, and soc. 202 Enabling this option will cause the following to be defined: 203 - CONFIG_SYS_ARCH 204 - CONFIG_SYS_CPU 205 - CONFIG_SYS_BOARD 206 - CONFIG_SYS_VENDOR 207 - CONFIG_SYS_SOC 208 209config NR_DRAM_BANKS 210 int "Number of DRAM banks" 211 default 1 if ARCH_SUNXI || ARCH_OWL 212 default 4 213 help 214 This defines the number of DRAM banks. 215 216config SYS_BOOT_GET_CMDLINE 217 bool "Enable kernel command line setup" 218 help 219 Enables allocating and saving kernel cmdline in space between 220 "bootm_low" and "bootm_low" + BOOTMAPSZ. 221 222config SYS_BARGSIZE 223 int "Size of kernel command line buffer in bytes" 224 depends on SYS_BOOT_GET_CMDLINE 225 default 512 226 help 227 Buffer size for Boot Arguments which are passed to the application 228 (usually a Linux kernel) when it is booted 229 230config SYS_BOOT_GET_KBD 231 bool "Enable kernel board information setup" 232 help 233 Enables allocating and saving a kernel copy of the bd_info in 234 space between "bootm_low" and "bootm_low" + BOOTMAPSZ. 235 236config HAS_CUSTOM_SYS_INIT_SP_ADDR 237 bool "Use a custom location for the initial stack pointer address" 238 depends on ARC || (ARM && !INIT_SP_RELATIVE) || MIPS || PPC || RISCV 239 default y if TFABOOT 240 help 241 Typically, we use an initial stack pointer address that is calculated 242 by taking the statically defined CFG_SYS_INIT_RAM_ADDR, adding the 243 statically defined CFG_SYS_INIT_RAM_SIZE and then subtracting the 244 build-time constant of GENERATED_GBL_DATA_SIZE. On MIPS a different 245 but statica calculation is performed. However, some platforms will 246 take a different approach. Say Y here to define the address statically 247 instead. 248 249config CUSTOM_SYS_INIT_SP_ADDR 250 hex "Static location for the initial stack pointer" 251 depends on HAS_CUSTOM_SYS_INIT_SP_ADDR 252 default TEXT_BASE if TFABOOT 253 254config SYS_MALLOC_F 255 bool "Enable malloc() pool before relocation" 256 default y if DM 257 258 help 259 Before relocation, memory is very limited on many platforms. Still, 260 we can provide a small malloc() pool if needed. Driver model in 261 particular needs this to operate, so that it can allocate the 262 initial serial device and any others that are needed. 263 264config SYS_MALLOC_F_LEN 265 hex "Size of malloc() pool before relocation" 266 depends on SYS_MALLOC_F 267 default 0x400 if M68K || PPC || ROCKCHIP_PX30 || ROCKCHIP_RK3036 || \ 268 ROCKCHIP_RK3308 || ROCKCHIP_RV1108 269 default 0x600 if ARCH_ZYNQMP_R5 || ARCH_ZYNQMP 270 default 0x800 if ARCH_ZYNQ || ROCKCHIP_RK3128 || ROCKCHIP_RK3188 || \ 271 ROCKCHIP_RK322X || X86 272 default 0x1000 if ARCH_MESON || ARCH_BMIPS || ARCH_MTMIPS 273 default 0x1800 if ARCH_TEGRA 274 default 0x4000 if SANDBOX || RISCV || ARCH_APPLE || ROCKCHIP_RK3368 || \ 275 ROCKCHIP_RK3399 276 default 0x8000 if RCAR_GEN3 277 default 0x10000 if ARCH_IMX8 || ARCH_IMX8M 278 default 0x2000 279 help 280 Size of the malloc() pool for use before relocation. If 281 this is defined, then a very simple malloc() implementation 282 will become available before relocation. The address is just 283 below the global data, and the stack is moved down to make 284 space. 285 286 This feature allocates regions with increasing addresses 287 within the region. calloc() is supported, but realloc() 288 is not available. free() is supported but does nothing. 289 The memory will be freed (or in fact just forgotten) when 290 U-Boot relocates itself. 291 292config SYS_MALLOC_LEN 293 hex "Define memory for Dynamic allocation" 294 default 0x4000000 if SANDBOX 295 default 0x2000000 if ARCH_ROCKCHIP || ARCH_OMAP2PLUS || ARCH_MESON 296 default 0x200000 if ARCH_BMIPS || X86 297 default 0x4020000 if SUNXI_MINIMUM_DRAM_MB >= 256 298 default 0x220000 if SUNXI_MINIMUM_DRAM_MB >= 64 299 default 0x120000 if SUNXI_MINIMUM_DRAM_MB >= 32 300 default 0x400000 301 help 302 This defines memory to be allocated for Dynamic allocation 303 TODO: Use for other architectures 304 305config SPL_SYS_MALLOC_F 306 bool "Enable malloc() pool in SPL" 307 depends on SPL_FRAMEWORK && SYS_MALLOC_F && SPL 308 default y 309 help 310 In SPL memory is very limited on many platforms. Still, 311 we can provide a small malloc() pool if needed. Driver model in 312 particular needs this to operate, so that it can allocate the 313 initial serial device and any others that are needed. 314 315config SPL_SYS_MALLOC_F_LEN 316 hex "Size of malloc() pool in SPL" 317 depends on SPL_SYS_MALLOC_F 318 default 0x2800 if RCAR_GEN3 319 default 0x2000 if IMX8MQ 320 default SYS_MALLOC_F_LEN 321 help 322 Sets the size of the malloc() pool in SPL. This is used for 323 driver model and other features, which must allocate memory for 324 data structures. 325 326 It is possible to enable CFG_SPL_SYS_MALLOC_START to start a new 327 malloc() region in SDRAM once it is inited. 328 329config TPL_SYS_MALLOC_F 330 bool "Enable malloc() pool in TPL" 331 depends on SYS_MALLOC_F && TPL 332 default y if SPL_SYS_MALLOC_F 333 help 334 In TPL memory is very limited on many platforms. Still, 335 we can provide a small malloc() pool if needed. Driver model in 336 particular needs this to operate, so that it can allocate the 337 initial serial device and any others that are needed. 338 339config TPL_SYS_MALLOC_F_LEN 340 hex "Size of malloc() pool in TPL" 341 depends on TPL_SYS_MALLOC_F 342 default SPL_SYS_MALLOC_F_LEN 343 help 344 Sets the size of the malloc() pool in TPL. This is used for 345 driver model and other features, which must allocate memory for 346 data structures. 347 348config VALGRIND 349 bool "Inform valgrind about memory allocations" 350 depends on !RISCV 351 help 352 Valgrind is an instrumentation framework for building dynamic analysis 353 tools. In particular, it may be used to detect memory management bugs 354 in U-Boot. It relies on knowing when heap blocks are allocated in 355 order to give accurate results. This happens automatically for 356 standard allocator functions provided by the host OS. However, this 357 doesn't automatically happen for U-Boot's malloc implementation. 358 359 Enable this option to annotate U-Boot's malloc implementation so that 360 it can be handled accurately by Valgrind. If you aren't planning on 361 using valgrind to debug U-Boot, say 'n'. 362 363config VPL_SYS_MALLOC_F 364 bool "Enable malloc() pool in VPL" 365 depends on SYS_MALLOC_F && VPL 366 default y if SPL_SYS_MALLOC_F 367 help 368 In VPL memory is very limited on many platforms. Still, 369 we can provide a small malloc() pool if needed. Driver model in 370 particular needs this to operate, so that it can allocate the 371 initial serial device and any others that are needed. 372 373config VPL_SYS_MALLOC_F_LEN 374 hex "Size of malloc() pool in VPL before relocation" 375 depends on VPL_SYS_MALLOC_F 376 default SPL_SYS_MALLOC_F_LEN 377 help 378 Sets the size of the malloc() pool in VPL. This is used for 379 driver model and other features, which must allocate memory for 380 data structures. 381 382menuconfig EXPERT 383 bool "Configure standard U-Boot features (expert users)" 384 default y 385 help 386 This option allows certain base U-Boot options and settings 387 to be disabled or tweaked. This is for specialized 388 environments which can tolerate a "non-standard" U-Boot. 389 Use this only if you really know what you are doing. 390 391if EXPERT 392 config SYS_MALLOC_CLEAR_ON_INIT 393 bool "Init with zeros the memory reserved for malloc (slow)" 394 default y 395 help 396 This setting is enabled by default. The reserved malloc 397 memory is initialized with zeros, so first malloc calls 398 will return the pointer to the zeroed memory. But this 399 slows the boot time. 400 401 It is recommended to disable it, when CONFIG_SYS_MALLOC_LEN 402 value, has more than few MiB, e.g. when uses bzip2 or bmp logo. 403 Then the boot time can be significantly reduced. 404 Warning: 405 When disabling this, please check if malloc calls, maybe 406 should be replaced by calloc - if one expects zeroed memory. 407 408config SPL_SYS_MALLOC_CLEAR_ON_INIT 409 bool "Init with zeros the memory reserved for malloc (slow) in SPL" 410 depends on SPL 411 default SYS_MALLOC_CLEAR_ON_INIT 412 help 413 Same as SYS_MALLOC_CLEAR_ON_INIT, but for SPL. It's possible to 414 Enable it without SYS_MALLOC_CLEAR_ON_INIT. It's useful for boards 415 that must have particular memory regions zero'ed before first use. 416 If SYS_SPL_MALLOC_START is configured to be in such region, this 417 option should be enabled. 418 419config SYS_MALLOC_DEFAULT_TO_INIT 420 bool "Default malloc to init while reserving the memory for it" 421 help 422 It may happen that one needs to move the dynamic allocation 423 from one to another memory range, eg. when moving the malloc 424 from the limited static to a potentially large dynamic (DDR) 425 memory. 426 427 If so then on top of setting the updated memory aside one 428 needs to bring the malloc init. 429 430 If such a scenario is sought choose yes. 431 432config TOOLS_DEBUG 433 bool "Enable debug information for tools" 434 help 435 Enable generation of debug information for tools such as mkimage. 436 This can be used for debugging purposes. With debug information 437 it is possible to set breakpoints on particular lines, single-step 438 debug through the source code, etc. 439 440endif # EXPERT 441 442config PHYS_64BIT 443 bool "64bit physical address support" 444 select FDT_64BIT 445 help 446 Say Y here to support 64bit physical memory address. 447 This can be used not only for 64bit SoCs, but also for 448 large physical address extension on 32bit SoCs. 449 450config FDT_64BIT 451 bool "64bit fdt address support" 452 help 453 Say Y here to support 64bit fdt addresses. 454 This can be used not only for 64bit SoCs, but also 455 for large address extensions on 32bit SoCs. 456 457config HAS_ROM 458 bool 459 select BINMAN 460 help 461 Enables building of a u-boot.rom target. This collects U-Boot and 462 any necessary binary blobs. 463 464config SPL_IMAGE 465 string "SPL image used in the combined SPL+U-Boot image" 466 default "spl/boot.bin" if ARCH_AT91 && SPL_NAND_SUPPORT 467 default "spl/u-boot-spl.bin" 468 depends on SPL 469 help 470 Select the SPL build target that shall be generated by the SPL 471 build process (default spl/u-boot-spl.bin). This image will be 472 used to generate a combined image with SPL and main U-Boot 473 proper as one single image. 474 475config REMAKE_ELF 476 bool "Recreate an ELF image from raw U-Boot binary" 477 help 478 Enable this to recreate an ELF image (u-boot.elf) from the raw 479 U-Boot binary (u-boot.bin), which may already have been statically 480 relocated and may already have a device-tree appended to it. 481 482config BUILD_TARGET 483 string "Build target special images" 484 default "u-boot-elf.srec" if RCAR_64 485 default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT 486 default "u-boot-with-spl.bin" if MPC85xx && !E500MC && !E5500 && !E6500 && SPL 487 default "u-boot-with-spl.imx" if ARCH_MX6 && SPL 488 default "u-boot-with-spl.kwb" if ARMADA_32BIT && SPL 489 default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_ARRIA10 490 default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5 491 default "u-boot.itb" if !BINMAN && SPL_LOAD_FIT && (ARCH_ROCKCHIP || \ 492 RISCV || ARCH_ZYNQMP) 493 default "u-boot.kwb" if (ARCH_KIRKWOOD || ARMADA_32BIT) && !SPL 494 help 495 Some SoCs need special image types (e.g. U-Boot binary 496 with a special header) as build targets. By defining 497 CONFIG_BUILD_TARGET in the SoC / board header, this 498 special image will be automatically built upon calling 499 make / buildman. 500 501config HAS_BOARD_SIZE_LIMIT 502 bool "Define a maximum size for the U-Boot image" 503 default y if RCAR_32 || RCAR_64 504 help 505 In some cases, we need to enforce a hard limit on how big the U-Boot 506 image itself can be. 507 508config BOARD_SIZE_LIMIT 509 int "Maximum size of the U-Boot image in bytes" 510 default 524288 if RCAR_32 511 default 1048576 if RCAR_64 512 depends on HAS_BOARD_SIZE_LIMIT 513 help 514 Maximum size of the U-Boot image. When defined, the build system 515 checks that the actual size does not exceed it. This does not 516 include SPL nor TPL, on platforms that use that functionality, they 517 have a separate option to restict size. 518 519config SYS_CUSTOM_LDSCRIPT 520 bool "Use a custom location for the U-Boot linker script" 521 help 522 Normally when linking U-Boot we will look in the board directory, 523 the CPU directory and finally the "cpu" directory of the architecture 524 for the ile "u-boot.lds" and use that as our linker. However, in 525 some cases we need to provide a different linker script. To do so, 526 enable this option and then provide the location under 527 CONFIG_SYS_LDSCRIPT. 528 529config SYS_LDSCRIPT 530 depends on SYS_CUSTOM_LDSCRIPT 531 string "Custom ldscript location" 532 help 533 Path within the source tree to the linker script to use for the 534 main U-Boot binary. 535 536config SYS_LOAD_ADDR 537 hex "Address in memory to use by default" 538 default 0x01000000 if ARCH_SOCFPGA 539 default 0x02000000 if PPC || X86 540 default 0x81000000 if MACH_SUNIV 541 default 0x22000000 if MACH_SUN9I 542 default 0x42000000 if ARCH_SUNXI 543 default 0x82000000 if ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3 544 default 0x82000000 if ARCH_MX6 && (MX6SL || MX6SLL || MX6SX || MX6UL || MX6ULL) 545 default 0x12000000 if ARCH_MX6 && !(MX6SL || MX6SLL || MX6SX || MX6UL || MX6ULL) 546 default 0x80800000 if ARCH_MX7 547 default 0x90000000 if FSL_LSCH2 || FSL_LSCH3 548 help 549 Address in memory to use as the default safe load address. 550 551config ERR_PTR_OFFSET 552 hex 553 default 0x0 554 help 555 Some U-Boot pointers have redundant information, so we can use a 556 scheme where we can return either an error code or a pointer with the 557 same return value. The default implementation just casts the pointer 558 to a number, however, this may fail on platforms where the end of the 559 address range is used for valid pointers (e.g. 0xffffff00 is a valid 560 heap pointer in socfpga SPL). 561 For such platforms, this value provides an upper range of those error 562 pointer values - up to 'MAX_ERRNO' bytes below this value must be 563 unused/invalid addresses. 564 565config PLATFORM_ELFENTRY 566 string 567 default "__start" if MIPS 568 default "_start" 569 570config STACK_SIZE 571 hex "Define max stack size that can be used by U-Boot" 572 default 0x4000000 if ARCH_VERSAL_NET || ARCH_VERSAL || ARCH_ZYNQMP 573 default 0x200000 if MICROBLAZE 574 default 0x1000000 575 help 576 Define Max stack size that can be used by U-Boot. This value is used 577 by the UEFI sub-system. On some boards initrd_high is calculated as 578 base stack pointer minus this stack size. 579 580config SYS_MEM_TOP_HIDE 581 hex "Exclude some memory from U-Boot / OS information" 582 default 0x0 583 help 584 If set, this specified memory area will get subtracted from the top 585 (end) of RAM and won't get "touched" at all by U-Boot. By fixing up 586 gd->ram_size the OS / next stage should gets passed the now 587 "corrected" memory size and won't touch it either. 588 WARNING: Please make sure that this value is a multiple of the OS 589 page size. 590 591config SYS_HAS_SRAM 592 bool 593 default y if TARGET_PIC32MZDASK 594 default y if TARGET_DEVKIT8000 595 default y if TARGET_TRICORDER 596 help 597 Enable this to allow support for the on board SRAM. 598 SRAM base address is controlled by CONFIG_SYS_SRAM_BASE. 599 SRAM size is controlled by CONFIG_SYS_SRAM_SIZE. 600 601config SYS_SRAM_BASE 602 hex 603 default 0x80000000 if TARGET_PIC32MZDASK 604 default 0x40200000 if TARGET_DEVKIT8000 605 default 0x40200000 if TARGET_TRICORDER 606 default 0x0 607 608config SYS_SRAM_SIZE 609 hex 610 default 0x00080000 if TARGET_PIC32MZDASK 611 default 0x10000 if TARGET_DEVKIT8000 612 default 0x10000 if TARGET_TRICORDER 613 default 0x0 614 615config SYS_MONITOR_LEN 616 int "Maximum size in bytes reserved for U-Boot in memory" 617 default 1048576 if X86 618 default 786432 if ARCH_SUNXI 619 default 0 620 help 621 Size of memory reserved for monitor code, used to determine 622 _at_compile_time_ (!) if the environment is embedded within the 623 U-Boot image, or in a separate flash sector, among other uses where 624 we need to set a maximum size of the U-Boot binary itself that will 625 be loaded. 626 627config MP 628 bool "Support for multiprocessor" 629 help 630 This provides an option to bringup different processors 631 in multiprocessor cases. 632 633config HAVE_TEXT_BASE 634 bool 635 depends on !NIOS2 && !XTENSA 636 depends on !EFI_APP 637 default y 638 639config TEXT_BASE 640 depends on HAVE_TEXT_BASE 641 default 0x0 if POSITION_INDEPENDENT 642 default 0x80800000 if ARCH_OMAP2PLUS || ARCH_K3 643 default 0x81700000 if MACH_SUNIV 644 default 0x2a000000 if MACH_SUN9I 645 default 0x4a000000 if SUNXI_MINIMUM_DRAM_MB >= 256 646 default 0x42e00000 if SUNXI_MINIMUM_DRAM_MB >= 64 647 hex "Text Base" 648 help 649 The address in memory that U-Boot will be copied and executed from 650 initially. 651 652config HAVE_SYS_UBOOT_START 653 bool "Use custom U-Boot Start" 654 depends on HAVE_TEXT_BASE 655 help 656 By default, the address in memory that U-Boot will be copied from 657 (TEXT_BASE) and the entry point are the same. Select this to start the 658 execution of U-Boot from a different address. 659 This may be required if a header or vector table needs to be copied 660 but not executed. 661 662config SYS_UBOOT_START 663 hex 664 depends on HAVE_TEXT_BASE 665 default TEXT_BASE 666 prompt "U-Boot entry" if HAVE_SYS_UBOOT_START 667 help 668 If TEXT_BASE differs from the start of execution, this sets the 669 address in memory that U-Boot will start execution from initially. 670 671config HAVE_SYS_MONITOR_BASE 672 bool 673 depends on ARC || MIPS || M68K || NIOS2 || PPC || XTENSA || X86 \ 674 || ENV_IS_IN_FLASH || MTD_NOR_FLASH 675 depends on !EFI_APP 676 default y 677 678config SYS_MONITOR_BASE 679 depends on HAVE_SYS_MONITOR_BASE 680 hex "Physical start address of boot monitor code" 681 default TEXT_BASE 682 help 683 The physical start address of boot monitor code (which is the same as 684 CONFIG_TEXT_BASE when linking) and the same as CFG_SYS_FLASH_BASE 685 when booting from flash. 686 687config SPL_SYS_MONITOR_BASE 688 depends on MPC85xx && SPL && HAVE_SYS_MONITOR_BASE 689 hex "Physical start address of SPL monitor code" 690 default SPL_TEXT_BASE 691 692config TPL_SYS_MONITOR_BASE 693 depends on MPC85xx && TPL && HAVE_SYS_MONITOR_BASE 694 hex "Physical start address of TPL monitor code" 695 696config DYNAMIC_SYS_CLK_FREQ 697 bool "Determine CPU clock frequency at run-time" 698 help 699 Implement a get_board_sys_clk function that will determine the CPU 700 clock frequency at run time, rather than define it statically. 701 702config SYS_CLK_FREQ 703 depends on !DYNAMIC_SYS_CLK_FREQ 704 int "CPU clock frequency" 705 default 125000000 if ARCH_LS1012A 706 default 100000000 if ARCH_P2020 || ARCH_T1024 || ARCH_T1042 || \ 707 ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 708 default 66666666 if ARCH_P1010 || ARCH_P1020 || ARCH_T4240 709 default 66660000 if ARCH_T2080 710 default 33333333 if RCAR_GEN3 711 default 24000000 if ARCH_EXYNOS 712 default 20000000 if RCAR_GEN2 713 default 0 714 help 715 A static value for the CPU frequency. Note that if not required 716 for a given SoC, this can be left at 0. 717 718source "api/Kconfig" 719 720endmenu # General setup 721 722source "boot/Kconfig" 723 724source "common/Kconfig" 725 726source "cmd/Kconfig" 727 728source "disk/Kconfig" 729 730source "dts/Kconfig" 731 732source "env/Kconfig" 733 734source "net/Kconfig" 735 736source "drivers/Kconfig" 737 738source "fs/Kconfig" 739 740source "lib/Kconfig" 741 742source "test/Kconfig" 743 744source "tools/Kconfig" 745