640 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			640 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| #
 | |
| # For a description of the syntax of this configuration file,
 | |
| # see the file Documentation/kbuild/kconfig-language.txt 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"
 | |
| 	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 DISTRO_DEFAULTS
 | |
| 	bool "Select defaults suitable for booting general purpose Linux distributions"
 | |
| 	select AUTO_COMPLETE
 | |
| 	select CMDLINE_EDITING
 | |
| 	select CMD_BOOTI if ARM64
 | |
| 	select CMD_BOOTZ if ARM && !ARM64
 | |
| 	select CMD_DHCP if CMD_NET
 | |
| 	select CMD_ENV_EXISTS
 | |
| 	select CMD_EXT2
 | |
| 	select CMD_EXT4
 | |
| 	select CMD_FAT
 | |
| 	select CMD_FS_GENERIC
 | |
| 	select CMD_PART if PARTITIONS
 | |
| 	select CMD_PING if CMD_NET
 | |
| 	select CMD_PXE if NET
 | |
| 	select CMD_SYSBOOT
 | |
| 	select ENV_VARS_UBOOT_CONFIG
 | |
| 	select HUSH_PARSER
 | |
| 	select SUPPORT_RAW_INITRD
 | |
| 	select SYS_LONGHELP
 | |
| 	imply CMD_MII if NET
 | |
| 	imply USB_STORAGE
 | |
| 	imply USE_BOOTCOMMAND
 | |
| 	help
 | |
| 	  Select this to enable various options and commands which are suitable
 | |
| 	  for building u-boot for booting general purpose Linux distributions.
 | |
| 
 | |
| 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_SUNXI || ARCH_OWL
 | |
| 	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 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 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_RK3308 || 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
 | |
| 	  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_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_LEN
 | |
| 	hex "Size of malloc() pool in SPL"
 | |
| 	depends on SYS_MALLOC_F && SPL
 | |
| 	default 0 if !SPL_FRAMEWORK
 | |
| 	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.
 | |
| 
 | |
| 	  It is possible to enable CFG_SYS_SPL_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"
 | |
| 	depends on SYS_MALLOC_F && TPL
 | |
| 	default SPL_SYS_MALLOC_F_LEN
 | |
| 	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 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_LEN
 | |
| 	hex "Size of malloc() pool in VPL before relocation"
 | |
| 	depends on SYS_MALLOC_F && VPL
 | |
| 	default SYS_MALLOC_F_LEN
 | |
| 	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.
 | |
| 
 | |
| 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 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"
 | |
| 	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 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-with-spl.sfp" if TARGET_SOCFPGA_ARRIA10
 | |
| 	default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5
 | |
| 	default "u-boot-with-spl.kwb" if ARMADA_32BIT && SPL
 | |
| 	default "u-boot-elf.srec" if RCAR_GEN3
 | |
| 	default "u-boot.itb" if !BINMAN && SPL_LOAD_FIT && (ARCH_ROCKCHIP || \
 | |
| 				ARCH_SUNXI || RISCV || ARCH_ZYNQMP)
 | |
| 	default "u-boot.kwb" if (ARCH_KIRKWOOD || ARMADA_32BIT) && !SPL
 | |
| 	default "u-boot-with-spl.bin" if MPC85xx && !E500MC && !E5500 && !E6500 && SPL
 | |
| 	default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
 | |
| 	default "u-boot-with-spl.imx" if ARCH_MX6 && SPL
 | |
| 	help
 | |
| 	  Some SoCs need special image types (e.g. U-Boot binary
 | |
| 	  with a special header) as build targets. By defining
 | |
| 	  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_GEN3
 | |
| 	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 1048576 if RCAR_GEN3
 | |
| 	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
 | |
| 	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_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 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 EXAMPLES
 | |
| 	bool "Compile API examples"
 | |
| 	depends on !SANDBOX
 | |
| 	default y if ARCH_QEMU
 | |
| 	help
 | |
| 	  U-Boot provides an API for standalone applications. Examples are
 | |
| 	  provided in directory examples/.
 | |
| 
 | |
| endmenu		# General setup
 | |
| 
 | |
| source "api/Kconfig"
 | |
| 
 | |
| source "boot/Kconfig"
 | |
| 
 | |
| source "common/Kconfig"
 | |
| 
 | |
| source "cmd/Kconfig"
 | |
| 
 | |
| source "disk/Kconfig"
 | |
| 
 | |
| source "dts/Kconfig"
 | |
| 
 | |
| source "env/Kconfig"
 | |
| 
 | |
| source "net/Kconfig"
 | |
| 
 | |
| source "drivers/Kconfig"
 | |
| 
 | |
| source "fs/Kconfig"
 | |
| 
 | |
| source "lib/Kconfig"
 | |
| 
 | |
| source "test/Kconfig"
 | |
| 
 | |
| source "tools/Kconfig"
 |