]> git.sur5r.net Git - u-boot/blob - Kconfig
net: Make the BOOTP options default
[u-boot] / Kconfig
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 #
6 mainmenu "U-Boot $UBOOTVERSION Configuration"
7
8 config UBOOTVERSION
9         string
10         option env="UBOOTVERSION"
11
12 # Allow defaults in arch-specific code to override any given here
13 source "arch/Kconfig"
14
15 menu "General setup"
16
17 config BROKEN
18         bool
19         help
20           This option cannot be enabled. It is used as dependency
21           for broken and incomplete features.
22
23 config LOCALVERSION
24         string "Local version - append to U-Boot release"
25         help
26           Append an extra string to the end of your U-Boot version.
27           This will show up in your boot log, for example.
28           The string you set here will be appended after the contents of
29           any files with a filename matching localversion* in your
30           object and source tree, in that order.  Your total string can
31           be a maximum of 64 characters.
32
33 config LOCALVERSION_AUTO
34         bool "Automatically append version information to the version string"
35         default y
36         help
37           This will try to automatically determine if the current tree is a
38           release tree by looking for Git tags that belong to the current
39           top of tree revision.
40
41           A string of the format -gxxxxxxxx will be added to the localversion
42           if a Git-based tree is found.  The string generated by this will be
43           appended after any matching localversion* files, and after the value
44           set in CONFIG_LOCALVERSION.
45
46           (The actual string used here is the first eight characters produced
47           by running the command:
48
49             $ git rev-parse --verify HEAD
50
51           which is done within the script "scripts/setlocalversion".)
52
53 config CC_OPTIMIZE_FOR_SIZE
54         bool "Optimize for size"
55         default y
56         help
57           Enabling this option will pass "-Os" instead of "-O2" to gcc
58           resulting in a smaller U-Boot image.
59
60           This option is enabled by default for U-Boot.
61
62 config DISTRO_DEFAULTS
63         bool "Select defaults suitable for booting general purpose Linux distributions"
64         default y if ARCH_SUNXI || TEGRA
65         default y if ARCH_LS2080A
66         default y if ARCH_MESON
67         default y if ARCH_ROCKCHIP
68         default n
69         imply USE_BOOTCOMMAND
70         select CMD_BOOTZ if ARM && !ARM64
71         select CMD_BOOTI if ARM64
72         select CMD_DHCP if CMD_NET
73         select CMD_PING if CMD_NET
74         select CMD_PXE if NET && CMD_NET
75         select CMD_EXT2
76         select CMD_EXT4
77         select CMD_FAT
78         select CMD_FS_GENERIC
79         imply CMD_MII if NET
80         select CMD_PART if PARTITIONS
81         select HUSH_PARSER
82         select CMDLINE_EDITING
83         select AUTO_COMPLETE
84         select SYS_LONGHELP
85         select SUPPORT_RAW_INITRD
86         select ENV_VARS_UBOOT_CONFIG
87         help
88           Select this to enable various options and commands which are suitable
89           for building u-boot for booting general purpose Linux distributions.
90
91 config ENV_VARS_UBOOT_CONFIG
92         bool "Add arch, board, vendor and soc variables to default environment"
93         help
94           Define this in order to add variables describing the
95           U-Boot build configuration to the default environment.
96           These will be named arch, cpu, board, vendor, and soc.
97           Enabling this option will cause the following to be defined:
98           - CONFIG_SYS_ARCH
99           - CONFIG_SYS_CPU
100           - CONFIG_SYS_BOARD
101           - CONFIG_SYS_VENDOR
102           - CONFIG_SYS_SOC
103
104 config SYS_BOOT_GET_CMDLINE
105         bool "Enable kernel command line setup"
106         help
107           Enables allocating and saving kernel cmdline in space between
108           "bootm_low" and "bootm_low" + BOOTMAPSZ.
109
110 config SYS_BOOT_GET_KBD
111         bool "Enable kernel board information setup"
112         help
113           Enables allocating and saving a kernel copy of the bd_info in
114           space between "bootm_low" and "bootm_low" + BOOTMAPSZ.
115
116 config SYS_MALLOC_F
117         bool "Enable malloc() pool before relocation"
118         default y if DM
119         help
120           Before relocation, memory is very limited on many platforms. Still,
121           we can provide a small malloc() pool if needed. Driver model in
122           particular needs this to operate, so that it can allocate the
123           initial serial device and any others that are needed.
124
125 config SYS_MALLOC_F_LEN
126         hex "Size of malloc() pool before relocation"
127         depends on SYS_MALLOC_F
128         default 0x400
129         help
130           Before relocation, memory is very limited on many platforms. Still,
131           we can provide a small malloc() pool if needed. Driver model in
132           particular needs this to operate, so that it can allocate the
133           initial serial device and any others that are needed.
134
135 config SPL_SYS_MALLOC_F_LEN
136         hex "Size of malloc() pool in SPL before relocation"
137         depends on SYS_MALLOC_F
138         default SYS_MALLOC_F_LEN
139         help
140           Before relocation, memory is very limited on many platforms. Still,
141           we can provide a small malloc() pool if needed. Driver model in
142           particular needs this to operate, so that it can allocate the
143           initial serial device and any others that are needed.
144
145 config TPL_SYS_MALLOC_F_LEN
146         hex "Size of malloc() pool in TPL before relocation"
147         depends on SYS_MALLOC_F
148         default SYS_MALLOC_F_LEN
149         help
150           Before relocation, memory is very limited on many platforms. Still,
151           we can provide a small malloc() pool if needed. Driver model in
152           particular needs this to operate, so that it can allocate the
153           initial serial device and any others that are needed.
154
155 menuconfig EXPERT
156         bool "Configure standard U-Boot features (expert users)"
157         default y
158         help
159           This option allows certain base U-Boot options and settings
160           to be disabled or tweaked. This is for specialized
161           environments which can tolerate a "non-standard" U-Boot.
162           Use this only if you really know what you are doing.
163
164 if EXPERT
165         config SYS_MALLOC_CLEAR_ON_INIT
166         bool "Init with zeros the memory reserved for malloc (slow)"
167         default y
168         help
169           This setting is enabled by default. The reserved malloc
170           memory is initialized with zeros, so first malloc calls
171           will return the pointer to the zeroed memory. But this
172           slows the boot time.
173
174           It is recommended to disable it, when CONFIG_SYS_MALLOC_LEN
175           value, has more than few MiB, e.g. when uses bzip2 or bmp logo.
176           Then the boot time can be significantly reduced.
177           Warning:
178           When disabling this, please check if malloc calls, maybe
179           should be replaced by calloc - if one expects zeroed memory.
180
181 config TOOLS_DEBUG
182         bool "Enable debug information for tools"
183         help
184           Enable generation of debug information for tools such as mkimage.
185           This can be used for debugging purposes. With debug information
186           it is possible to set breakpoints on particular lines, single-step
187           debug through the source code, etc.
188
189 endif # EXPERT
190
191 config PHYS_64BIT
192         bool "64bit physical address support"
193         help
194           Say Y here to support 64bit physical memory address.
195           This can be used not only for 64bit SoCs, but also for
196           large physical address extention on 32bit SoCs.
197
198 config BUILD_ROM
199         bool "Build U-Boot as BIOS replacement"
200         depends on X86
201         help
202           This option allows to build a ROM version of U-Boot.
203           The build process generally requires several binary blobs
204           which are not shipped in the U-Boot source tree.
205           Please, see doc/README.x86 for details.
206
207 endmenu         # General setup
208
209 menu "Boot images"
210
211 config ANDROID_BOOT_IMAGE
212         bool "Enable support for Android Boot Images"
213         default y if FASTBOOT
214         help
215           This enables support for booting images which use the Android
216           image format header.
217
218 config FIT
219         bool "Support Flattened Image Tree"
220         select MD5
221         select SHA1
222         help
223           This option allows you to boot the new uImage structure,
224           Flattened Image Tree.  FIT is formally a FDT, which can include
225           images of various types (kernel, FDT blob, ramdisk, etc.)
226           in a single blob.  To boot this new uImage structure,
227           pass the address of the blob to the "bootm" command.
228           FIT is very flexible, supporting compression, multiple images,
229           multiple configurations, verification through hashing and also
230           verified boot (secure boot using RSA).
231
232 if FIT
233
234 config FIT_ENABLE_SHA256_SUPPORT
235         bool "Support SHA256 checksum of FIT image contents"
236         select SHA256
237         default y
238         help
239           Enable this to support SHA256 checksum of FIT image contents. A
240           SHA256 checksum is a 256-bit (32-byte) hash value used to check that
241           the image contents have not been corrupted. SHA256 is recommended
242           for use in secure applications since (as at 2016) there is no known
243           feasible attack that could produce a 'collision' with differing
244           input data. Use this for the highest security. Note that only the
245           SHA256 variant is supported: SHA512 and others are not currently
246           supported in U-Boot.
247
248 config FIT_SIGNATURE
249         bool "Enable signature verification of FIT uImages"
250         depends on DM
251         select RSA
252         help
253           This option enables signature verification of FIT uImages,
254           using a hash signed and verified using RSA. If
255           CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive
256           hashing is available using hardware, then the RSA library will use
257           it. See doc/uImage.FIT/signature.txt for more details.
258
259           WARNING: When relying on signed FIT images with a required signature
260           check the legacy image format is disabled by default, so that
261           unsigned images cannot be loaded. If a board needs the legacy image
262           format support in this case, enable it using
263           CONFIG_IMAGE_FORMAT_LEGACY.
264
265 config FIT_VERBOSE
266         bool "Show verbose messages when FIT images fail"
267         help
268           Generally a system will have valid FIT images so debug messages
269           are a waste of code space. If you are debugging your images then
270           you can enable this option to get more verbose information about
271           failures.
272
273 config FIT_BEST_MATCH
274         bool "Select the best match for the kernel device tree"
275         help
276           When no configuration is explicitly selected, default to the
277           one whose fdt's compatibility field best matches that of
278           U-Boot itself. A match is considered "best" if it matches the
279           most specific compatibility entry of U-Boot's fdt's root node.
280           The order of entries in the configuration's fdt is ignored.
281
282 config FIT_IMAGE_POST_PROCESS
283         bool "Enable post-processing of FIT artifacts after loading by U-Boot"
284         depends on TI_SECURE_DEVICE
285         help
286           Allows doing any sort of manipulation to blobs after they got extracted
287           from FIT images like stripping off headers or modifying the size of the
288           blob, verification, authentication, decryption etc. in a platform or
289           board specific way. In order to use this feature a platform or board-
290           specific implementation of board_fit_image_post_process() must be
291           provided. Also, anything done during this post-processing step would
292           need to be comprehended in how the images were prepared before being
293           injected into the FIT creation (i.e. the blobs would have been pre-
294           processed before being added to the FIT image).
295
296 if SPL
297
298 config SPL_FIT
299         bool "Support Flattened Image Tree within SPL"
300         depends on SPL
301         select SPL_OF_LIBFDT
302
303 config SPL_FIT_SIGNATURE
304         bool "Enable signature verification of FIT firmware within SPL"
305         depends on SPL_DM
306         select SPL_FIT
307         select SPL_RSA
308
309 config SPL_LOAD_FIT
310         bool "Enable SPL loading U-Boot as a FIT"
311         select SPL_FIT
312         help
313           Normally with the SPL framework a legacy image is generated as part
314           of the build. This contains U-Boot along with information as to
315           where it should be loaded. This option instead enables generation
316           of a FIT (Flat Image Tree) which provides more flexibility. In
317           particular it can handle selecting from multiple device tree
318           and passing the correct one to U-Boot.
319
320 config SPL_FIT_IMAGE_POST_PROCESS
321         bool "Enable post-processing of FIT artifacts after loading by the SPL"
322         depends on SPL_LOAD_FIT
323         help
324           Allows doing any sort of manipulation to blobs after they got extracted
325           from the U-Boot FIT image like stripping off headers or modifying the
326           size of the blob, verification, authentication, decryption etc. in a
327           platform or board specific way. In order to use this feature a platform
328           or board-specific implementation of board_fit_image_post_process() must
329           be provided. Also, anything done during this post-processing step would
330           need to be comprehended in how the images were prepared before being
331           injected into the FIT creation (i.e. the blobs would have been pre-
332           processed before being added to the FIT image).
333
334 config SPL_FIT_SOURCE
335         string ".its source file for U-Boot FIT image"
336         depends on SPL_FIT
337         help
338           Specifies a (platform specific) FIT source file to generate the
339           U-Boot FIT image. This could specify further image to load and/or
340           execute.
341
342 config SPL_FIT_GENERATOR
343         string ".its file generator script for U-Boot FIT image"
344         depends on SPL_FIT
345         default "board/sunxi/mksunxi_fit_atf.sh" if SPL_LOAD_FIT && ARCH_SUNXI
346         help
347           Specifies a (platform specific) script file to generate the FIT
348           source file used to build the U-Boot FIT image file. This gets
349           passed a list of supported device tree file stub names to
350           include in the generated image.
351
352 endif # SPL
353
354 endif # FIT
355
356 config OF_BOARD_SETUP
357         bool "Set up board-specific details in device tree before boot"
358         depends on OF_LIBFDT
359         help
360           This causes U-Boot to call ft_board_setup() before booting into
361           the Operating System. This function can set up various
362           board-specific information in the device tree for use by the OS.
363           The device tree is then passed to the OS.
364
365 config OF_SYSTEM_SETUP
366         bool "Set up system-specific details in device tree before boot"
367         depends on OF_LIBFDT
368         help
369           This causes U-Boot to call ft_system_setup() before booting into
370           the Operating System. This function can set up various
371           system-specific information in the device tree for use by the OS.
372           The device tree is then passed to the OS.
373
374 config OF_STDOUT_VIA_ALIAS
375         bool "Update the device-tree stdout alias from U-Boot"
376         depends on OF_LIBFDT
377         help
378           This uses U-Boot's serial alias from the aliases node to update
379           the device tree passed to the OS. The "linux,stdout-path" property
380           in the chosen node is set to point to the correct serial node.
381           This option currently references CONFIG_CONS_INDEX, which is
382           incorrect when used with device tree as this option does not
383           exist / should not be used.
384
385 config SYS_EXTRA_OPTIONS
386         string "Extra Options (DEPRECATED)"
387         help
388           The old configuration infrastructure (= mkconfig + boards.cfg)
389           provided the extra options field. If you have something like
390           "HAS_BAR,BAZ=64", the optional options
391             #define CONFIG_HAS
392             #define CONFIG_BAZ  64
393           will be defined in include/config.h.
394           This option was prepared for the smooth migration from the old
395           configuration to Kconfig. Since this option will be removed sometime,
396           new boards should not use this option.
397
398 config SYS_TEXT_BASE
399         depends on !NIOS2 && !XTENSA
400         depends on !EFI_APP
401         default 0x80800000 if ARCH_OMAP2PLUS
402         default 0x4a000000 if ARCH_SUNXI && !MACH_SUN9I && !MACH_SUN8I_V3S
403         default 0x2a000000 if ARCH_SUNXI && MACH_SUN9I
404         default 0x42e00000 if ARCH_SUNXI && MACH_SUN8I_V3S
405         hex "Text Base"
406         help
407           The address in memory that U-Boot will be running from, initially.
408
409
410
411 config SYS_CLK_FREQ
412         depends on ARC || ARCH_SUNXI
413         int "CPU clock frequency"
414         help
415           TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture
416
417 config ARCH_FIXUP_FDT_MEMORY
418         bool "Enable arch_fixup_memory_banks() call"
419         default y
420         help
421           Enable FDT memory map syncup before OS boot. This feature can be
422           used for booting OS with different memory setup where the part of
423           the memory location should be used for different purpose.
424
425 endmenu         # Boot images
426
427 source "api/Kconfig"
428
429 source "common/Kconfig"
430
431 source "cmd/Kconfig"
432
433 source "disk/Kconfig"
434
435 source "dts/Kconfig"
436
437 source "env/Kconfig"
438
439 source "net/Kconfig"
440
441 source "drivers/Kconfig"
442
443 source "fs/Kconfig"
444
445 source "lib/Kconfig"
446
447 source "test/Kconfig"