1# 2# For a description of the syntax of this configuration file, 3# see Documentation/kbuild/kconfig-language.txt. 4# 5mainmenu "U-Boot $UBOOTVERSION Configuration" 6 7config UBOOTVERSION 8 string 9 option env="UBOOTVERSION" 10 11# Allow defaults in arch-specific code to override any given here 12source "arch/Kconfig" 13 14menu "General setup" 15 16config LOCALVERSION 17 string "Local version - append to U-Boot release" 18 help 19 Append an extra string to the end of your U-Boot version. 20 This will show up on your boot log, for example. 21 The string you set here will be appended after the contents of 22 any files with a filename matching localversion* in your 23 object and source tree, in that order. Your total string can 24 be a maximum of 64 characters. 25 26config LOCALVERSION_AUTO 27 bool "Automatically append version information to the version string" 28 default y 29 help 30 This will try to automatically determine if the current tree is a 31 release tree by looking for git tags that belong to the current 32 top of tree revision. 33 34 A string of the format -gxxxxxxxx will be added to the localversion 35 if a git-based tree is found. The string generated by this will be 36 appended after any matching localversion* files, and after the value 37 set in CONFIG_LOCALVERSION. 38 39 (The actual string used here is the first eight characters produced 40 by running the command: 41 42 $ git rev-parse --verify HEAD 43 44 which is done within the script "scripts/setlocalversion".) 45 46config CC_OPTIMIZE_FOR_SIZE 47 bool "Optimize for size" 48 default y 49 help 50 Enabling this option will pass "-Os" instead of "-O2" to gcc 51 resulting in a smaller U-Boot image. 52 53 This option is enabled by default for U-Boot. 54 55config SYS_MALLOC_F 56 bool "Enable malloc() pool before relocation" 57 default y if DM 58 help 59 Before relocation memory is very limited on many platforms. Still, 60 we can provide a small malloc() pool if needed. Driver model in 61 particular needs this to operate, so that it can allocate the 62 initial serial device and any others that are needed. 63 64config SYS_MALLOC_F_LEN 65 hex "Size of malloc() pool before relocation" 66 depends on SYS_MALLOC_F 67 default 0x400 68 help 69 Before relocation memory is very limited on many platforms. Still, 70 we can provide a small malloc() pool if needed. Driver model in 71 particular needs this to operate, so that it can allocate the 72 initial serial device and any others that are needed. 73 74menuconfig EXPERT 75 bool "Configure standard U-Boot features (expert users)" 76 default y 77 help 78 This option allows certain base U-Boot options and settings 79 to be disabled or tweaked. This is for specialized 80 environments which can tolerate a "non-standard" U-Boot. 81 Only use this if you really know what you are doing. 82 83if EXPERT 84 config SYS_MALLOC_CLEAR_ON_INIT 85 bool "Init with zeros the memory reserved for malloc (slow)" 86 default y 87 help 88 This setting is enabled by default. The reserved malloc 89 memory is initialized with zeros, so first malloc calls 90 will return the pointer to the zeroed memory. But this 91 slows the boot time. 92 93 It is recommended to disable it, when CONFIG_SYS_MALLOC_LEN 94 value, has more than few MiB, e.g. when uses bzip2 or bmp logo. 95 Then the boot time can be significantly reduced. 96 Warning: 97 When disabling this, please check if malloc calls, maybe 98 should be replaced by calloc - if expects zeroed memory. 99endif 100endmenu # General setup 101 102menu "Boot images" 103 104config SUPPORT_SPL 105 bool 106 107config SUPPORT_TPL 108 bool 109 110config SPL 111 bool 112 depends on SUPPORT_SPL 113 prompt "Enable SPL" 114 help 115 If you want to build SPL as well as the normal image, say Y. 116 117config SPL_SYS_MALLOC_SIMPLE 118 bool 119 depends on SPL 120 prompt "Only use malloc_simple functions in the spl" 121 help 122 Say Y here to only use the *_simple malloc functions from 123 malloc_simple.c, rather then using the versions from dlmalloc.c 124 this will make the SPL binary smaller at the cost of more heap 125 usage as the *_simple malloc functions do not re-use free-ed mem. 126 127config SPL_STACK_R 128 depends on SPL 129 bool "Enable SDRAM location for SPL stack" 130 help 131 SPL starts off execution in SRAM and thus typically has only a small 132 stack available. Since SPL sets up DRAM while in its board_init_f() 133 function, it is possible for the stack to move there before 134 board_init_r() is reached. This option enables a special SDRAM 135 location for the SPL stack. U-Boot SPL switches to this after 136 board_init_f() completes, and before board_init_r() starts. 137 138config SPL_STACK_R_ADDR 139 depends on SPL_STACK_R 140 hex "SDRAM location for SPL stack" 141 help 142 Specify the address in SDRAM for the SPL stack. This will be set up 143 before board_init_r() is called. 144 145config SPL_STACK_R_MALLOC_SIMPLE_LEN 146 depends on SPL_STACK_R && SPL_SYS_MALLOC_SIMPLE 147 hex "Size of malloc_simple heap after switching to DRAM SPL stack" 148 default 0x100000 149 help 150 Specify the amount of the stack to use as memory pool for 151 malloc_simple after switching the stack to DRAM. This may be set 152 to give board_init_r() a larger heap then the initial heap in 153 SRAM which is limited to SYS_MALLOC_F_LEN bytes. 154 155config SPL_SEPARATE_BSS 156 depends on SPL 157 bool "BSS section is in a different memory region from text" 158 help 159 Some platforms need a large BSS region in SPL and can provide this 160 because RAM is already set up. In this case BSS can be moved to RAM. 161 This option should then be enabled so that the correct device tree 162 location is used. Normally we put the device tree at the end of BSS 163 but with this option enabled, it goes at _image_binary_end. 164 165config TPL 166 bool 167 depends on SPL && SUPPORT_TPL 168 prompt "Enable TPL" 169 help 170 If you want to build TPL as well as the normal image and SPL, say Y. 171 172config FIT 173 bool "Support Flattened Image Tree" 174 help 175 This option allows to boot the new uImage structrure, 176 Flattened Image Tree. FIT is formally a FDT, which can include 177 images of various types (kernel, FDT blob, ramdisk, etc.) 178 in a single blob. To boot this new uImage structure, 179 pass the address of the blob to the "bootm" command. 180 181config FIT_VERBOSE 182 bool "Display verbose messages on FIT boot" 183 depends on FIT 184 185config FIT_SIGNATURE 186 bool "Enable signature verification of FIT uImages" 187 depends on FIT 188 depends on DM 189 select RSA 190 help 191 This option enables signature verification of FIT uImages, 192 using a hash signed and verified using RSA. If 193 CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive 194 hashing is available using hardware, RSA library will use it. 195 See doc/uImage.FIT/signature.txt for more details. 196 197config SYS_EXTRA_OPTIONS 198 string "Extra Options (DEPRECATED)" 199 help 200 The old configuration infrastructure (= mkconfig + boards.cfg) 201 provided the extra options field. If you have something like 202 "HAS_BAR,BAZ=64", the optional options 203 #define CONFIG_HAS 204 #define CONFIG_BAZ 64 205 will be defined in include/config.h. 206 This option was prepared for the smooth migration from the old 207 configuration to Kconfig. Since this option will be removed sometime, 208 new boards should not use this option. 209 210config SYS_TEXT_BASE 211 depends on SPARC || ARC || X86 || ARCH_UNIPHIER || ARCH_ZYNQMP || \ 212 (M68K && !TARGET_ASTRO_MCF5373L) || MICROBLAZE 213 depends on !EFI_APP 214 hex "Text Base" 215 help 216 TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture 217 218config SYS_CLK_FREQ 219 depends on ARC || ARCH_SUNXI 220 int "CPU clock frequency" 221 help 222 TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture 223 224endmenu # Boot images 225 226source "common/Kconfig" 227 228source "cmd/Kconfig" 229 230source "dts/Kconfig" 231 232source "net/Kconfig" 233 234source "drivers/Kconfig" 235 236source "fs/Kconfig" 237 238source "lib/Kconfig" 239 240source "test/Kconfig" 241