]> Git Repo - J-u-boot.git/blob - common/Kconfig
Kconfig: Move misc boot options under 'boot options'
[J-u-boot.git] / common / Kconfig
1 source "common/Kconfig.boot"
2
3 menu "Console"
4
5 config MENU
6         bool
7         help
8           This is the library functionality to provide a text-based menu of
9           choices for the user to make choices with.
10
11 config CONSOLE_RECORD
12         bool "Console recording"
13         help
14           This provides a way to record console output (and provide console
15           input) through circular buffers. This is mostly useful for testing.
16           Console output is recorded even when the console is silent.
17           To enable console recording, call console_record_reset_enable()
18           from your code.
19
20 config CONSOLE_RECORD_OUT_SIZE
21         hex "Output buffer size"
22         depends on CONSOLE_RECORD
23         default 0x400 if CONSOLE_RECORD
24         help
25           Set the size of the console output buffer. When this fills up, no
26           more data will be recorded until some is removed. The buffer is
27           allocated immediately after the malloc() region is ready.
28
29 config CONSOLE_RECORD_IN_SIZE
30         hex "Input buffer size"
31         depends on CONSOLE_RECORD
32         default 0x100 if CONSOLE_RECORD
33         help
34           Set the size of the console input buffer. When this contains data,
35           tstc() and getc() will use this in preference to real device input.
36           The buffer is allocated immediately after the malloc() region is
37           ready.
38
39 config DISABLE_CONSOLE
40         bool "Add functionality to disable console completely"
41         help
42                 Disable console (in & out).
43
44 config IDENT_STRING
45         string "Board specific string to be added to uboot version string"
46         help
47           This options adds the board specific name to u-boot version.
48
49 config LOGLEVEL
50         int "loglevel"
51         default 4
52         range 0 10
53         help
54           All Messages with a loglevel smaller than the console loglevel will
55           be compiled in. The loglevels are defined as follows:
56
57             0 - emergency
58             1 - alert
59             2 - critical
60             3 - error
61             4 - warning
62             5 - note
63             6 - info
64             7 - debug
65             8 - debug content
66             9 - debug hardware I/O
67
68 config SPL_LOGLEVEL
69         int
70         default LOGLEVEL
71
72 config TPL_LOGLEVEL
73         int
74         default LOGLEVEL
75
76 config SILENT_CONSOLE
77         bool "Support a silent console"
78         help
79           This option allows the console to be silenced, meaning that no
80           output will appear on the console devices. This is controlled by
81           setting the environment variable 'silent' to a non-empty value.
82           Note this also silences the console when booting Linux.
83
84           When the console is set up, the variable is checked, and the
85           GD_FLG_SILENT flag is set. Changing the environment variable later
86           will update the flag.
87
88 config SILENT_U_BOOT_ONLY
89         bool "Only silence the U-Boot console"
90         depends on SILENT_CONSOLE
91         help
92           Normally when the U-Boot console is silenced, Linux's console is
93           also silenced (assuming the board boots into Linux). This option
94           allows the linux console to operate normally, even if U-Boot's
95           is silenced.
96
97 config SILENT_CONSOLE_UPDATE_ON_SET
98         bool "Changes to the 'silent' environment variable update immediately"
99         depends on SILENT_CONSOLE
100         default y if SILENT_CONSOLE
101         help
102           When the 'silent' environment variable is changed, update the
103           console silence flag immediately. This allows 'setenv' to be used
104           to silence or un-silence the console.
105
106           The effect is that any change to the variable will affect the
107           GD_FLG_SILENT flag.
108
109 config SILENT_CONSOLE_UPDATE_ON_RELOC
110         bool "Allow flags to take effect on relocation"
111         depends on SILENT_CONSOLE
112         help
113           In some cases the environment is not available until relocation
114           (e.g. NAND). This option makes the value of the 'silent'
115           environment variable take effect at relocation.
116
117 config PRE_CONSOLE_BUFFER
118         bool "Buffer characters before the console is available"
119         help
120           Prior to the console being initialised (i.e. serial UART
121           initialised etc) all console output is silently discarded.
122           Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
123           buffer any console messages prior to the console being
124           initialised to a buffer. The buffer is a circular buffer, so
125           if it overflows, earlier output is discarded.
126
127           Note that this is not currently supported in SPL. It would be
128           useful to be able to share the pre-console buffer with SPL.
129
130 config PRE_CON_BUF_SZ
131         int "Sets the size of the pre-console buffer"
132         depends on PRE_CONSOLE_BUFFER
133         default 4096
134         help
135           The size of the pre-console buffer affects how much console output
136           can be held before it overflows and starts discarding earlier
137           output. Normally there is very little output at this early stage,
138           unless debugging is enabled, so allow enough for ~10 lines of
139           text.
140
141           This is a useful feature if you are using a video console and
142           want to see the full boot output on the console. Without this
143           option only the post-relocation output will be displayed.
144
145 config PRE_CON_BUF_ADDR
146         hex "Address of the pre-console buffer"
147         depends on PRE_CONSOLE_BUFFER
148         default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
149         default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
150         default 0x0f000000 if ROCKCHIP_RK3288
151         default 0x0f200000 if ROCKCHIP_RK3399
152         help
153           This sets the start address of the pre-console buffer. This must
154           be in available memory and is accessed before relocation and
155           possibly before DRAM is set up. Therefore choose an address
156           carefully.
157
158           We should consider removing this option and allocating the memory
159           in board_init_f_init_reserve() instead.
160
161 config CONSOLE_MUX
162         bool "Enable console multiplexing"
163         default y if DM_VIDEO || VIDEO || LCD
164         help
165           This allows multiple devices to be used for each console 'file'.
166           For example, stdout can be set to go to serial and video.
167           Similarly, stdin can be set to come from serial and keyboard.
168           Input can be provided from either source. Console multiplexing
169           adds a small amount of size to U-Boot.  Changes to the environment
170           variables stdout, stdin and stderr will take effect immediately.
171
172 config SYS_CONSOLE_IS_IN_ENV
173         bool "Select console devices from the environment"
174         default y if CONSOLE_MUX
175         help
176           This allows multiple input/output devices to be set at boot time.
177           For example, if stdout is set to "serial,video" then output will
178           be sent to both the serial and video devices on boot. The
179           environment variables can be updated after boot to change the
180           input/output devices.
181
182 config SYS_CONSOLE_OVERWRITE_ROUTINE
183         bool "Allow board control over console overwriting"
184         help
185           If this is enabled, and the board-specific function
186           overwrite_console() returns 1, the stdin, stderr and stdout are
187           switched to the serial port, else the settings in the environment
188           are used. If this is not enabled, the console will not be switched
189           to serial.
190
191 config SYS_CONSOLE_ENV_OVERWRITE
192         bool "Update environment variables during console init"
193         help
194           The console environment variables (stdout, stdin, stderr) can be
195           used to determine the correct console devices on start-up. This
196           option writes the console devices to these variables on console
197           start-up (after relocation). This causes the environment to be
198           updated to match the console devices actually chosen.
199
200 config SYS_CONSOLE_INFO_QUIET
201         bool "Don't display the console devices on boot"
202         help
203           Normally U-Boot displays the current settings for stdout, stdin
204           and stderr on boot when the post-relocation console is set up.
205           Enable this option to suppress this output. It can be obtained by
206           calling stdio_print_current_devices() from board code.
207
208 config SYS_STDIO_DEREGISTER
209         bool "Allow deregistering stdio devices"
210         default y if USB_KEYBOARD
211         help
212           Generally there is no need to deregister stdio devices since they
213           are never deactivated. But if a stdio device is used which can be
214           removed (for example a USB keyboard) then this option can be
215           enabled to ensure this is handled correctly.
216
217 config SPL_SYS_STDIO_DEREGISTER
218         bool "Allow deregistering stdio devices in SPL"
219         help
220           Generally there is no need to deregister stdio devices since they
221           are never deactivated. But if a stdio device is used which can be
222           removed (for example a USB keyboard) then this option can be
223           enabled to ensure this is handled correctly. This is very rarely
224           needed in SPL.
225
226 config SYS_DEVICE_NULLDEV
227         bool "Enable a null device for stdio"
228         default y if SPLASH_SCREEN || SYS_STDIO_DEREGISTER
229         help
230           Enable creation of a "nulldev" stdio device. This allows silent
231           operation of the console by setting stdout to "nulldev". Enable
232           this to use a serial console under board control.
233
234 endmenu
235
236 menu "Logging"
237
238 config LOG
239         bool "Enable logging support"
240         depends on DM
241         help
242           This enables support for logging of status and debug messages. These
243           can be displayed on the console, recorded in a memory buffer, or
244           discarded if not needed. Logging supports various categories and
245           levels of severity.
246
247 if LOG
248
249 config LOG_MAX_LEVEL
250         int "Maximum log level to record"
251         default 6
252         range 0 9
253         help
254           This selects the maximum log level that will be recorded. Any value
255           higher than this will be ignored. If possible log statements below
256           this level will be discarded at build time. Levels:
257
258             0 - emergency
259             1 - alert
260             2 - critical
261             3 - error
262             4 - warning
263             5 - note
264             6 - info
265             7 - debug
266             8 - debug content
267             9 - debug hardware I/O
268
269 config LOG_DEFAULT_LEVEL
270         int "Default logging level to display"
271         default LOG_MAX_LEVEL
272         range 0 LOG_MAX_LEVEL
273         help
274           This is the default logging level set when U-Boot starts. It can
275           be adjusted later using the 'log level' command. Note that setting
276           this to a value above LOG_MAX_LEVEL will be ineffective, since the
277           higher levels are not compiled in to U-Boot.
278
279             0 - emergency
280             1 - alert
281             2 - critical
282             3 - error
283             4 - warning
284             5 - note
285             6 - info
286             7 - debug
287             8 - debug content
288             9 - debug hardware I/O
289
290 config LOG_CONSOLE
291         bool "Allow log output to the console"
292         default y
293         help
294           Enables a log driver which writes log records to the console.
295           Generally the console is the serial port or LCD display. Only the
296           log message is shown - other details like level, category, file and
297           line number are omitted.
298
299 config LOGF_FILE
300         bool "Show source file name in log messages by default"
301         help
302           Show the source file name in log messages by default. This value
303           can be overridden using the 'log format' command.
304
305 config LOGF_LINE
306         bool "Show source line number in log messages by default"
307         help
308           Show the source line number in log messages by default. This value
309           can be overridden using the 'log format' command.
310
311 config LOGF_FUNC
312         bool "Show function name in log messages by default"
313         help
314           Show the function name in log messages by default. This value can
315           be overridden using the 'log format' command.
316
317 config LOG_SYSLOG
318         bool "Log output to syslog server"
319         depends on NET
320         help
321           Enables a log driver which broadcasts log records via UDP port 514
322           to syslog servers.
323
324 config SPL_LOG
325         bool "Enable logging support in SPL"
326         depends on LOG
327         help
328           This enables support for logging of status and debug messages. These
329           can be displayed on the console, recorded in a memory buffer, or
330           discarded if not needed. Logging supports various categories and
331           levels of severity.
332
333 if SPL_LOG
334
335 config SPL_LOG_MAX_LEVEL
336         int "Maximum log level to record in SPL"
337         depends on SPL_LOG
338         default 3
339         range 0 9
340         help
341           This selects the maximum log level that will be recorded. Any value
342           higher than this will be ignored. If possible log statements below
343           this level will be discarded at build time. Levels:
344
345             0 - emergency
346             1 - alert
347             2 - critical
348             3 - error
349             4 - warning
350             5 - note
351             6 - info
352             7 - debug
353             8 - debug content
354             9 - debug hardware I/O
355
356 config SPL_LOG_CONSOLE
357         bool "Allow log output to the console in SPL"
358         default y
359         help
360           Enables a log driver which writes log records to the console.
361           Generally the console is the serial port or LCD display. Only the
362           log message is shown - other details like level, category, file and
363           line number are omitted.
364
365 endif
366
367 config TPL_LOG
368         bool "Enable logging support in TPL"
369         depends on LOG
370         help
371           This enables support for logging of status and debug messages. These
372           can be displayed on the console, recorded in a memory buffer, or
373           discarded if not needed. Logging supports various categories and
374           levels of severity.
375
376 if TPL_LOG
377
378 config TPL_LOG_MAX_LEVEL
379         int "Maximum log level to record in TPL"
380         depends on TPL_LOG
381         default 3
382         range 0 9
383         help
384           This selects the maximum log level that will be recorded. Any value
385           higher than this will be ignored. If possible log statements below
386           this level will be discarded at build time. Levels:
387
388             0 - emergency
389             1 - alert
390             2 - critical
391             3 - error
392             4 - warning
393             5 - note
394             6 - info
395             7 - debug
396             8 - debug content
397             9 - debug hardware I/O
398
399 config TPL_LOG_CONSOLE
400         bool "Allow log output to the console in TPL"
401         default y
402         help
403           Enables a log driver which writes log records to the console.
404           Generally the console is the serial port or LCD display. Only the
405           log message is shown - other details like level, category, file and
406           line number are omitted.
407
408 endif
409
410 config LOG_ERROR_RETURN
411         bool "Log all functions which return an error"
412         help
413           When an error is returned in U-Boot it is sometimes difficult to
414           figure out the root cause. For example, reading from SPI flash may
415           fail due to a problem in the SPI controller or due to the flash part
416           not returning the expected information. This option changes
417           log_ret() to log any errors it sees. With this option disabled,
418           log_ret() is a nop.
419
420           You can add log_ret() to all functions which return an error code.
421
422 config LOG_TEST
423         bool "Provide a test for logging"
424         depends on UNIT_TEST
425         default y if SANDBOX
426         help
427           This enables a 'log test' command to test logging. It is normally
428           executed from a pytest and simply outputs logging information
429           in various different ways to test that the logging system works
430           correctly with various settings.
431
432 endif
433
434 endmenu
435
436 config SUPPORT_RAW_INITRD
437         bool "Enable raw initrd images"
438         help
439           Note, defining the SUPPORT_RAW_INITRD allows user to supply
440           kernel with raw initrd images. The syntax is slightly different, the
441           address of the initrd must be augmented by it's size, in the following
442           format: "<initrd address>:<initrd size>".
443
444 config DEFAULT_FDT_FILE
445         string "Default fdt file"
446         help
447           This option is used to set the default fdt file to boot OS.
448
449 config MISC_INIT_R
450         bool "Execute Misc Init"
451         default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
452         default y if ARCH_OMAP2PLUS && !AM33XX
453         help
454           Enabling this option calls 'misc_init_r' function
455
456 config VERSION_VARIABLE
457         bool "add U-Boot environment variable vers"
458         default n
459         help
460           If this variable is defined, an environment variable
461           named "ver" is created by U-Boot showing the U-Boot
462           version as printed by the "version" command.
463           Any change to this variable will be reverted at the
464           next reset.
465
466 config BOARD_LATE_INIT
467         bool "Execute Board late init"
468         help
469           Sometimes board require some initialization code that might
470           require once the actual init done, example saving board specific env,
471           boot-modes etc. which eventually done at late.
472
473           So this config enable the late init code with the help of board_late_init
474           function which should defined on respective boards.
475
476 config DISPLAY_CPUINFO
477         bool "Display information about the CPU during start up"
478         default y if ARC|| ARM || NIOS2 || X86 || XTENSA || M68K
479         help
480           Display information about the CPU that U-Boot is running on
481           when U-Boot starts up. The function print_cpuinfo() is called
482           to do this.
483
484 config DISPLAY_BOARDINFO
485         bool "Display information about the board during early start up"
486         default y if ARC || ARM || M68K || MIPS || PPC || SANDBOX || XTENSA
487         help
488           Display information about the board that U-Boot is running on
489           when U-Boot starts up. The board function checkboard() is called
490           to do this.
491
492 config DISPLAY_BOARDINFO_LATE
493         bool "Display information about the board during late start up"
494         help
495           Display information about the board that U-Boot is running on after
496           the relocation phase. The board function checkboard() is called to do
497           this.
498
499 config BOUNCE_BUFFER
500         bool "Include bounce buffer API"
501         help
502           Some peripherals support DMA from a subset of physically
503           addressable memory only.  To support such peripherals, the
504           bounce buffer API uses a temporary buffer: it copies data
505           to/from DMA regions while managing cache operations.
506
507           A second possible use of bounce buffers is their ability to
508           provide aligned buffers for DMA operations.
509
510 config BOARD_TYPES
511         bool "Call get_board_type() to get and display the board type"
512         help
513           If this option is enabled, checkboard() will call get_board_type()
514           to get a string containing the board type and this will be
515           displayed immediately after the model is shown on the console
516           early in boot.
517
518 menu "Start-up hooks"
519
520 config ARCH_EARLY_INIT_R
521         bool "Call arch-specific init soon after relocation"
522         help
523           With this option U-Boot will call arch_early_init_r() soon after
524           relocation. Driver model is running by this point, and the cache
525           is on. Note that board_early_init_r() is called first, if
526           enabled. This can be used to set up architecture-specific devices.
527
528 config ARCH_MISC_INIT
529         bool "Call arch-specific init after relocation, when console is ready"
530         help
531           With this option U-Boot will call arch_misc_init() after
532           relocation to allow miscellaneous arch-dependent initialisation
533           to be performed. This function should be defined by the board
534           and will be called after the console is set up, after relocation.
535
536 config BOARD_EARLY_INIT_F
537         bool "Call board-specific init before relocation"
538         help
539           Some boards need to perform initialisation as soon as possible
540           after boot. With this option, U-Boot calls board_early_init_f()
541           after driver model is ready in the pre-relocation init sequence.
542           Note that the normal serial console is not yet set up, but the
543           debug UART will be available if enabled.
544
545 config BOARD_EARLY_INIT_R
546         bool "Call board-specific init after relocation"
547         help
548           Some boards need to perform initialisation as directly after
549           relocation. With this option, U-Boot calls board_early_init_r()
550           in the post-relocation init sequence.
551
552 config LAST_STAGE_INIT
553         bool "Call board-specific as last setup step"
554         help
555           Some boards need to perform initialisation immediately before control
556           is passed to the command-line interpreter (e.g. for initializations
557           that depend on later phases in the init sequence). With this option,
558           U-Boot calls last_stage_init() before the command-line interpreter is
559           started.
560
561 config PCI_INIT_R
562         bool "Enumerate PCI buses during init"
563         depends on PCI
564         default y if !DM_PCI
565         help
566           With this option U-Boot will call pci_init() soon after relocation,
567           which will enumerate PCI buses. This is needed, for instance, in the
568           case of DM PCI-based Ethernet devices, which will not be detected
569           without having the enumeration performed earlier.
570
571 endmenu
572
573 menu "Security support"
574
575 config HASH
576         bool # "Support hashing API (SHA1, SHA256, etc.)"
577         help
578           This provides a way to hash data in memory using various supported
579           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
580           and the algorithms it supports are defined in common/hash.c. See
581           also CMD_HASH for command-line access.
582
583 config AVB_VERIFY
584         bool "Build Android Verified Boot operations"
585         depends on LIBAVB
586         depends on PARTITION_UUIDS
587         help
588           This option enables compilation of bootloader-dependent operations,
589           used by Android Verified Boot 2.0 library (libavb). Includes:
590             * Helpers to process strings in order to build OS bootargs.
591             * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
592             * Helpers to alloc/init/free avb ops.
593
594 if AVB_VERIFY
595
596 config AVB_BUF_ADDR
597         hex "Define AVB buffer address"
598         default FASTBOOT_BUF_ADDR
599         help
600           AVB requires a buffer for memory transactions. This variable defines the
601           buffer address.
602
603 config AVB_BUF_SIZE
604         hex "Define AVB buffer SIZE"
605         default FASTBOOT_BUF_SIZE
606         help
607           AVB requires a buffer for memory transactions. This variable defines the
608           buffer size.
609
610 endif # AVB_VERIFY
611
612 config SPL_HASH
613         bool # "Support hashing API (SHA1, SHA256, etc.)"
614         help
615           This provides a way to hash data in memory using various supported
616           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
617           and the algorithms it supports are defined in common/hash.c. See
618           also CMD_HASH for command-line access.
619
620 config TPL_HASH
621         bool # "Support hashing API (SHA1, SHA256, etc.)"
622         help
623           This provides a way to hash data in memory using various supported
624           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
625           and the algorithms it supports are defined in common/hash.c. See
626           also CMD_HASH for command-line access.
627
628 endmenu
629
630 menu "Update support"
631
632 config UPDATE_TFTP
633         bool "Auto-update using fitImage via TFTP"
634         depends on FIT
635         help
636           This option allows performing update of NOR with data in fitImage
637           sent via TFTP boot.
638
639 config UPDATE_TFTP_CNT_MAX
640         int "The number of connection retries during auto-update"
641         default 0
642         depends on UPDATE_TFTP
643
644 config UPDATE_TFTP_MSEC_MAX
645         int "Delay in mSec to wait for the TFTP server during auto-update"
646         default 100
647         depends on UPDATE_TFTP
648
649 config ANDROID_AB
650         bool "Android A/B updates"
651         default n
652         help
653           If enabled, adds support for the new Android A/B update model. This
654           allows the bootloader to select which slot to boot from based on the
655           information provided by userspace via the Android boot_ctrl HAL. This
656           allows a bootloader to try a new version of the system but roll back
657           to previous version if the new one didn't boot all the way.
658
659 endmenu
660
661 menu "Blob list"
662
663 config BLOBLIST
664         bool "Support for a bloblist"
665         help
666           This enables support for a bloblist in U-Boot, which can be passed
667           from TPL to SPL to U-Boot proper (and potentially to Linux). The
668           blob list supports multiple binary blobs of data, each with a tag,
669           so that different U-Boot components can store data which can survive
670           through to the next stage of the boot.
671
672 config SPL_BLOBLIST
673         bool "Support for a bloblist in SPL"
674         depends on BLOBLIST
675         default y if SPL
676         help
677           This enables a bloblist in SPL. If this is the first part of U-Boot
678           to run, then the bloblist is set up in SPL and passed to U-Boot
679           proper. If TPL also has a bloblist, then SPL uses the one from there.
680
681 config TPL_BLOBLIST
682         bool "Support for a bloblist in TPL"
683         depends on BLOBLIST
684         default y if TPL
685         help
686           This enables a bloblist in TPL. The bloblist is set up in TPL and
687           passed to SPL and U-Boot proper.
688
689 config BLOBLIST_SIZE
690         hex "Size of bloblist"
691         depends on BLOBLIST
692         default 0x400
693         help
694           Sets the size of the bloblist in bytes. This must include all
695           overhead (alignment, bloblist header, record header). The bloblist
696           is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
697           proper), and this sane bloblist is used for subsequent stages.
698
699 config BLOBLIST_ADDR
700         hex "Address of bloblist"
701         depends on BLOBLIST
702         default 0xe000 if SANDBOX
703         help
704           Sets the address of the bloblist, set up by the first part of U-Boot
705           which runs. Subsequent U-Boot stages typically use the same address.
706
707 endmenu
708
709 source "common/spl/Kconfig"
710
711 config IMAGE_SIGN_INFO
712         bool
713         select SHA1
714         select SHA256
715         help
716           Enable image_sign_info helper functions.
717
718 if IMAGE_SIGN_INFO
719
720 config SPL_IMAGE_SIGN_INFO
721         bool
722         select SHA1
723         select SHA256
724         help
725           Enable image_sign_info helper functions in SPL.
726
727 endif
This page took 0.068421 seconds and 4 git commands to generate.