]> Git Repo - J-u-boot.git/blob - common/Kconfig
tpl: Ensure all TPL symbols in Kconfig have some TPL dependency
[J-u-boot.git] / common / Kconfig
1 menu "Console"
2
3 config MENU
4         bool
5         help
6           This is the library functionality to provide a text-based menu of
7           choices for the user to make choices with.
8
9 config CONSOLE_RECORD
10         bool "Console recording"
11         help
12           This provides a way to record console output (and provide console
13           input) through circular buffers. This is mostly useful for testing.
14           Console output is recorded even when the console is silent.
15           To enable console recording, call console_record_reset_enable()
16           from your code.
17
18 config CONSOLE_RECORD_INIT_F
19         bool "Enable console recording during pre-relocation init"
20         depends on CONSOLE_RECORD && SYS_MALLOC_F
21         default y
22         help
23           This option enables console recording during pre-relocation init.
24           CONFIG_SYS_MALLOC_F must be enabled to use this feature.
25
26 config CONSOLE_RECORD_OUT_SIZE
27         hex "Output buffer size"
28         depends on CONSOLE_RECORD
29         default 0x400 if CONSOLE_RECORD
30         help
31           Set the size of the console output buffer. When this fills up, no
32           more data will be recorded until some is removed. The buffer is
33           allocated immediately after the malloc() region is ready.
34
35 config CONSOLE_RECORD_OUT_SIZE_F
36         hex "Output buffer size before relocation"
37         depends on CONSOLE_RECORD
38         default 0x400 if CONSOLE_RECORD
39         help
40           Set the size of the console output buffer before relocation. When
41           this fills up, no more data will be recorded until some is removed.
42           The buffer is allocated immediately after the early malloc() region is
43           ready.
44
45 config CONSOLE_RECORD_IN_SIZE
46         hex "Input buffer size"
47         depends on CONSOLE_RECORD
48         default 0x100 if CONSOLE_RECORD
49         help
50           Set the size of the console input buffer. When this contains data,
51           tstc() and getc() will use this in preference to real device input.
52           The buffer is allocated immediately after the malloc() region is
53           ready.
54
55 config DISABLE_CONSOLE
56         bool "Add functionality to disable console completely"
57         help
58                 Disable console (in & out).
59
60 config IDENT_STRING
61         string "Board specific string to be added to uboot version string"
62         help
63           This options adds the board specific name to u-boot version.
64
65 config LOGLEVEL
66         int "loglevel"
67         default 4
68         range 0 10
69         help
70           All Messages with a loglevel smaller than the console loglevel will
71           be compiled in. The loglevels are defined as follows:
72
73             0 - emergency
74             1 - alert
75             2 - critical
76             3 - error
77             4 - warning
78             5 - note
79             6 - info
80             7 - debug
81             8 - debug content
82             9 - debug hardware I/O
83
84 config SPL_LOGLEVEL
85         int
86         default LOGLEVEL
87
88 config TPL_LOGLEVEL
89         int
90         depends on TPL
91         default LOGLEVEL
92
93 config VPL_LOGLEVEL
94         int "loglevel for VPL"
95         default LOGLEVEL
96         help
97           All Messages with a loglevel smaller than the console loglevel will
98           be compiled in to VPL. See LOGLEVEL for a list of available log
99           levels. Setting this to a value above 4 may increase the code size
100           significantly.
101
102 config SILENT_CONSOLE
103         bool "Support a silent console"
104         help
105           This option allows the console to be silenced, meaning that no
106           output will appear on the console devices. This is controlled by
107           setting the environment variable 'silent' to a non-empty value.
108           Note this also silences the console when booting Linux.
109
110           When the console is set up, the variable is checked, and the
111           GD_FLG_SILENT flag is set. Changing the environment variable later
112           will update the flag.
113
114 config SILENT_U_BOOT_ONLY
115         bool "Only silence the U-Boot console"
116         depends on SILENT_CONSOLE
117         help
118           Normally when the U-Boot console is silenced, Linux's console is
119           also silenced (assuming the board boots into Linux). This option
120           allows the linux console to operate normally, even if U-Boot's
121           is silenced.
122
123 config SILENT_CONSOLE_UPDATE_ON_SET
124         bool "Changes to the 'silent' environment variable update immediately"
125         depends on SILENT_CONSOLE
126         default y if SILENT_CONSOLE
127         help
128           When the 'silent' environment variable is changed, update the
129           console silence flag immediately. This allows 'setenv' to be used
130           to silence or un-silence the console.
131
132           The effect is that any change to the variable will affect the
133           GD_FLG_SILENT flag.
134
135 config SILENT_CONSOLE_UPDATE_ON_RELOC
136         bool "Allow flags to take effect on relocation"
137         depends on SILENT_CONSOLE
138         help
139           In some cases the environment is not available until relocation
140           (e.g. NAND). This option makes the value of the 'silent'
141           environment variable take effect at relocation.
142
143 config PRE_CONSOLE_BUFFER
144         bool "Buffer characters before the console is available"
145         help
146           Prior to the console being initialised (i.e. serial UART
147           initialised etc) all console output is silently discarded.
148           Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
149           buffer any console messages prior to the console being
150           initialised to a buffer. The buffer is a circular buffer, so
151           if it overflows, earlier output is discarded.
152
153           Note that this is not currently supported in SPL. It would be
154           useful to be able to share the pre-console buffer with SPL.
155
156 config PRE_CON_BUF_SZ
157         int "Sets the size of the pre-console buffer"
158         depends on PRE_CONSOLE_BUFFER
159         default 4096
160         help
161           The size of the pre-console buffer affects how much console output
162           can be held before it overflows and starts discarding earlier
163           output. Normally there is very little output at this early stage,
164           unless debugging is enabled, so allow enough for ~10 lines of
165           text.
166
167           This is a useful feature if you are using a video console and
168           want to see the full boot output on the console. Without this
169           option only the post-relocation output will be displayed.
170
171 config PRE_CON_BUF_ADDR
172         hex "Address of the pre-console buffer"
173         depends on PRE_CONSOLE_BUFFER
174         default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
175         default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
176         default 0x0f000000 if ROCKCHIP_RK3288
177         default 0x0f200000 if ROCKCHIP_RK3399
178         help
179           This sets the start address of the pre-console buffer. This must
180           be in available memory and is accessed before relocation and
181           possibly before DRAM is set up. Therefore choose an address
182           carefully.
183
184           We should consider removing this option and allocating the memory
185           in board_init_f_init_reserve() instead.
186
187 config CONSOLE_MUX
188         bool "Enable console multiplexing"
189         default y if DM_VIDEO || VIDEO || LCD
190         help
191           This allows multiple devices to be used for each console 'file'.
192           For example, stdout can be set to go to serial and video.
193           Similarly, stdin can be set to come from serial and keyboard.
194           Input can be provided from either source. Console multiplexing
195           adds a small amount of size to U-Boot.  Changes to the environment
196           variables stdout, stdin and stderr will take effect immediately.
197
198 config SYS_CONSOLE_IS_IN_ENV
199         bool "Select console devices from the environment"
200         default y if CONSOLE_MUX
201         help
202           This allows multiple input/output devices to be set at boot time.
203           For example, if stdout is set to "serial,vidconsole" then output
204           will be sent to both the serial and video devices on boot. The
205           environment variables can be updated after boot to change the
206           input/output devices.
207
208 config SYS_CONSOLE_OVERWRITE_ROUTINE
209         bool "Allow board control over console overwriting"
210         help
211           If this is enabled, and the board-specific function
212           overwrite_console() returns 1, the stdin, stderr and stdout are
213           switched to the serial port, else the settings in the environment
214           are used. If this is not enabled, the console will not be switched
215           to serial.
216
217 config SYS_CONSOLE_ENV_OVERWRITE
218         bool "Update environment variables during console init"
219         help
220           The console environment variables (stdout, stdin, stderr) can be
221           used to determine the correct console devices on start-up. This
222           option writes the console devices to these variables on console
223           start-up (after relocation). This causes the environment to be
224           updated to match the console devices actually chosen.
225
226 config SYS_CONSOLE_INFO_QUIET
227         bool "Don't display the console devices on boot"
228         help
229           Normally U-Boot displays the current settings for stdout, stdin
230           and stderr on boot when the post-relocation console is set up.
231           Enable this option to suppress this output. It can be obtained by
232           calling stdio_print_current_devices() from board code.
233
234 config SYS_STDIO_DEREGISTER
235         bool "Allow deregistering stdio devices"
236         default y if USB_KEYBOARD
237         help
238           Generally there is no need to deregister stdio devices since they
239           are never deactivated. But if a stdio device is used which can be
240           removed (for example a USB keyboard) then this option can be
241           enabled to ensure this is handled correctly.
242
243 config SPL_SYS_STDIO_DEREGISTER
244         bool "Allow deregistering stdio devices in SPL"
245         help
246           Generally there is no need to deregister stdio devices since they
247           are never deactivated. But if a stdio device is used which can be
248           removed (for example a USB keyboard) then this option can be
249           enabled to ensure this is handled correctly. This is very rarely
250           needed in SPL.
251
252 config SYS_DEVICE_NULLDEV
253         bool "Enable a null device for stdio"
254         default y if SPLASH_SCREEN || SYS_STDIO_DEREGISTER
255         help
256           Enable creation of a "nulldev" stdio device. This allows silent
257           operation of the console by setting stdout to "nulldev". Enable
258           this to use a serial console under board control.
259
260 endmenu
261
262 menu "Logging"
263
264 config LOG
265         bool "Enable logging support"
266         depends on DM
267         help
268           This enables support for logging of status and debug messages. These
269           can be displayed on the console, recorded in a memory buffer, or
270           discarded if not needed. Logging supports various categories and
271           levels of severity.
272
273 if LOG
274
275 config VPL_LOG
276         bool "Enable logging support in VPL"
277         depends on LOG
278         help
279           This enables support for logging of status and debug messages. These
280           can be displayed on the console, recorded in a memory buffer, or
281           discarded if not needed. Logging supports various categories and
282           levels of severity.
283
284 config LOG_MAX_LEVEL
285         int "Maximum log level to record"
286         default 6
287         range 0 9
288         help
289           This selects the maximum log level that will be recorded. Any value
290           higher than this will be ignored. If possible log statements below
291           this level will be discarded at build time. Levels:
292
293             0 - emergency
294             1 - alert
295             2 - critical
296             3 - error
297             4 - warning
298             5 - note
299             6 - info
300             7 - debug
301             8 - debug content
302             9 - debug hardware I/O
303
304 config LOG_DEFAULT_LEVEL
305         int "Default logging level to display"
306         default LOG_MAX_LEVEL
307         range 0 LOG_MAX_LEVEL
308         help
309           This is the default logging level set when U-Boot starts. It can
310           be adjusted later using the 'log level' command. Note that setting
311           this to a value above LOG_MAX_LEVEL will be ineffective, since the
312           higher levels are not compiled in to U-Boot.
313
314             0 - emergency
315             1 - alert
316             2 - critical
317             3 - error
318             4 - warning
319             5 - note
320             6 - info
321             7 - debug
322             8 - debug content
323             9 - debug hardware I/O
324
325 config LOG_CONSOLE
326         bool "Allow log output to the console"
327         default y
328         help
329           Enables a log driver which writes log records to the console.
330           Generally the console is the serial port or LCD display. Only the
331           log message is shown - other details like level, category, file and
332           line number are omitted.
333
334 config LOGF_FILE
335         bool "Show source file name in log messages by default"
336         help
337           Show the source file name in log messages by default. This value
338           can be overridden using the 'log format' command.
339
340 config LOGF_LINE
341         bool "Show source line number in log messages by default"
342         help
343           Show the source line number in log messages by default. This value
344           can be overridden using the 'log format' command.
345
346 config LOGF_FUNC
347         bool "Show function name in log messages by default"
348         help
349           Show the function name in log messages by default. This value can
350           be overridden using the 'log format' command.
351
352 config LOGF_FUNC_PAD
353         int "Number of characters to use for function"
354         default 20
355         help
356           Sets the field width to use when showing the function. Set this to
357           a larger value if you have lots of long function names, and want
358           things to line up.
359
360 config LOG_SYSLOG
361         bool "Log output to syslog server"
362         depends on NET
363         help
364           Enables a log driver which broadcasts log records via UDP port 514
365           to syslog servers.
366
367 config SPL_LOG
368         bool "Enable logging support in SPL"
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 SPL_LOG
377
378 config SPL_LOG_MAX_LEVEL
379         int "Maximum log level to record in SPL"
380         depends on SPL_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 SPL_LOG_CONSOLE
400         bool "Allow log output to the console in SPL"
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 TPL_LOG
411         bool "Enable logging support in TPL"
412         depends on LOG && TPL
413         help
414           This enables support for logging of status and debug messages. These
415           can be displayed on the console, recorded in a memory buffer, or
416           discarded if not needed. Logging supports various categories and
417           levels of severity.
418
419 if TPL_LOG
420
421 config TPL_LOG_MAX_LEVEL
422         int "Maximum log level to record in TPL"
423         depends on TPL_LOG
424         default 3
425         range 0 9
426         help
427           This selects the maximum log level that will be recorded. Any value
428           higher than this will be ignored. If possible log statements below
429           this level will be discarded at build time. Levels:
430
431             0 - emergency
432             1 - alert
433             2 - critical
434             3 - error
435             4 - warning
436             5 - note
437             6 - info
438             7 - debug
439             8 - debug content
440             9 - debug hardware I/O
441
442 config TPL_LOG_CONSOLE
443         bool "Allow log output to the console in TPL"
444         default y
445         help
446           Enables a log driver which writes log records to the console.
447           Generally the console is the serial port or LCD display. Only the
448           log message is shown - other details like level, category, file and
449           line number are omitted.
450
451 endif
452
453 config VPL_LOG
454         bool "Enable logging support in VPL"
455         depends on LOG
456         help
457           This enables support for logging of status and debug messages. These
458           can be displayed on the console, recorded in a memory buffer, or
459           discarded if not needed. Logging supports various categories and
460           levels of severity.
461
462 if VPL_LOG
463
464 config VPL_LOG_MAX_LEVEL
465         int "Maximum log level to record in VPL"
466         default 3
467         help
468           This selects the maximum log level that will be recorded. Any value
469           higher than this will be ignored. If possible log statements below
470           this level will be discarded at build time. Levels:
471
472             0 - emergency
473             1 - alert
474             2 - critical
475             3 - error
476             4 - warning
477             5 - note
478             6 - info
479             7 - debug
480             8 - debug content
481             9 - debug hardware I/O
482
483 config VPL_LOG_CONSOLE
484         bool "Allow log output to the console in VPL"
485         default y
486         help
487           Enables a log driver which writes log records to the console.
488           Generally the console is the serial port or LCD display. Only the
489           log message is shown - other details like level, category, file and
490           line number are omitted.
491
492 endif
493
494 config LOG_ERROR_RETURN
495         bool "Log all functions which return an error"
496         help
497           When an error is returned in U-Boot it is sometimes difficult to
498           figure out the root cause. For example, reading from SPI flash may
499           fail due to a problem in the SPI controller or due to the flash part
500           not returning the expected information. This option changes
501           log_ret() to log any errors it sees. With this option disabled,
502           log_ret() is a nop.
503
504           You can add log_ret() to all functions which return an error code.
505
506 config LOG_TEST
507         bool "Provide a test for logging"
508         depends on UNIT_TEST
509         default y if SANDBOX
510         help
511           This enables a 'log test' command to test logging. It is normally
512           executed from a pytest and simply outputs logging information
513           in various different ways to test that the logging system works
514           correctly with various settings.
515
516 endif
517
518 endmenu
519
520 menu "Init options"
521
522 config BOARD_TYPES
523         bool "Call get_board_type() to get and display the board type"
524         help
525           If this option is enabled, checkboard() will call get_board_type()
526           to get a string containing the board type and this will be
527           displayed immediately after the model is shown on the console
528           early in boot.
529
530 config DISPLAY_CPUINFO
531         bool "Display information about the CPU during start up"
532         default y if ARC|| ARM || NIOS2 || X86 || XTENSA || M68K
533         help
534           Display information about the CPU that U-Boot is running on
535           when U-Boot starts up. The function print_cpuinfo() is called
536           to do this.
537
538 config DISPLAY_BOARDINFO
539         bool "Display information about the board during early start up"
540         default y if ARC || ARM || M68K || MIPS || PPC || SANDBOX || XTENSA
541         help
542           Display information about the board that U-Boot is running on
543           when U-Boot starts up. The board function checkboard() is called
544           to do this.
545
546 config DISPLAY_BOARDINFO_LATE
547         bool "Display information about the board during late start up"
548         help
549           Display information about the board that U-Boot is running on after
550           the relocation phase. The board function checkboard() is called to do
551           this.
552
553 menu "Start-up hooks"
554
555 config EVENT
556         bool "General-purpose event-handling mechanism"
557         default y if SANDBOX
558         help
559           This enables sending and processing of events, to allow interested
560           parties to be alerted when something happens. This is an attempt to
561           step the flow of weak functions, hooks, functions in board_f.c
562           and board_r.c and the Kconfig options below.
563
564           See doc/develop/event.rst for more information.
565
566 if EVENT
567
568 config EVENT_DYNAMIC
569         bool "Support event registration at runtime"
570         default y if SANDBOX
571         help
572           Enable this to support adding an event spy at runtime, without adding
573           it to the EVENT_SPy() linker list. This increases code size slightly
574           but provides more flexibility for boards and subsystems that need it.
575
576 config EVENT_DEBUG
577         bool "Enable event debugging assistance"
578         default y if SANDBOX
579         help
580           Enable this get usefui features for seeing what is happening with
581           events, such as event-type names. This adds to the code size of
582           U-Boot so can be turned off for production builds.
583
584 endif # EVENT
585
586 config ARCH_EARLY_INIT_R
587         bool "Call arch-specific init soon after relocation"
588         help
589           With this option U-Boot will call arch_early_init_r() soon after
590           relocation. Driver model is running by this point, and the cache
591           is on. Note that board_early_init_r() is called first, if
592           enabled. This can be used to set up architecture-specific devices.
593
594 config ARCH_MISC_INIT
595         bool "Call arch-specific init after relocation, when console is ready"
596         help
597           With this option U-Boot will call arch_misc_init() after
598           relocation to allow miscellaneous arch-dependent initialisation
599           to be performed. This function should be defined by the board
600           and will be called after the console is set up, after relocation.
601
602 config BOARD_EARLY_INIT_F
603         bool "Call board-specific init before relocation"
604         help
605           Some boards need to perform initialisation as soon as possible
606           after boot. With this option, U-Boot calls board_early_init_f()
607           after driver model is ready in the pre-relocation init sequence.
608           Note that the normal serial console is not yet set up, but the
609           debug UART will be available if enabled.
610
611 config BOARD_EARLY_INIT_R
612         bool "Call board-specific init after relocation"
613         help
614           Some boards need to perform initialisation as directly after
615           relocation. With this option, U-Boot calls board_early_init_r()
616           in the post-relocation init sequence.
617
618 config BOARD_POSTCLK_INIT
619         bool "Call board_postclk_init"
620         help
621           Some boards need this to initialize select items, after clocks /
622           timebase and before env / serial.
623
624 config BOARD_LATE_INIT
625         bool "Execute Board late init"
626         help
627           Sometimes board require some initialization code that might
628           require once the actual init done, example saving board specific env,
629           boot-modes etc. which eventually done at late.
630
631           So this config enable the late init code with the help of board_late_init
632           function which should defined on respective boards.
633
634 config CLOCKS
635         bool "Call set_cpu_clk_info"
636         depends on ARM
637
638 config SYS_FSL_CLK
639         bool
640         depends on ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 || \
641                 (FSL_ESDHC_IMX && (ARCH_MX5 || ARCH_MX6 || ARCH_MX7))
642         default y
643         help
644           Enable to call get_clocks() in board_init_f() for platforms other
645           than PowerPC or M68k.  This is a legacy option.  If not TARGET_BRPPT2
646
647 config LAST_STAGE_INIT
648         bool "Call board-specific as last setup step"
649         help
650           Some boards need to perform initialisation immediately before control
651           is passed to the command-line interpreter (e.g. for initializations
652           that depend on later phases in the init sequence). With this option,
653           U-Boot calls last_stage_init() before the command-line interpreter is
654           started.
655
656 config MISC_INIT_R
657         bool "Execute Misc Init"
658         default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
659         default y if ARCH_OMAP2PLUS && !AM33XX
660         help
661           Enabling this option calls 'misc_init_r' function
662
663 config SYS_MALLOC_BOOTPARAMS
664         bool "Malloc a buffer to use for bootparams"
665         help
666           In some cases rather than using a known location to store the
667           bi_boot_params portion of gd we need to allocate it from our malloc pool.
668
669 config SYS_BOOTPARAMS_LEN
670         hex "Size of the bootparam buffer to malloc in bytes"
671         depends on SYS_MALLOC_BOOTPARAMS
672         default 0x20000 if MIPS || RCAR_GEN3
673         default 0x10000
674
675 config ID_EEPROM
676         bool "Enable I2C connected system identifier EEPROM"
677         help
678           A number of different systems and vendors enable a vendor-specified
679           EEPROM that contains various identifying features.
680
681 config PCI_INIT_R
682         bool "Enumerate PCI buses during init"
683         depends on PCI
684         help
685           With this option U-Boot will call pci_init() soon after relocation,
686           which will enumerate PCI buses. This is needed, for instance, in the
687           case of DM PCI-based Ethernet devices, which will not be detected
688           without having the enumeration performed earlier.
689
690 config RESET_PHY_R
691         bool "Reset ethernet PHY during init"
692         help
693           Implement reset_phy() in board code if required to reset the ethernet
694           PHY.
695
696 endmenu
697
698 endmenu         # Init options
699
700 menu "Security support"
701
702 config HASH
703         bool # "Support hashing API (SHA1, SHA256, etc.)"
704         help
705           This provides a way to hash data in memory using various supported
706           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
707           and the algorithms it supports are defined in common/hash.c. See
708           also CMD_HASH for command-line access.
709
710 config AVB_VERIFY
711         bool "Build Android Verified Boot operations"
712         depends on LIBAVB
713         depends on MMC
714         depends on PARTITION_UUIDS
715         help
716           This option enables compilation of bootloader-dependent operations,
717           used by Android Verified Boot 2.0 library (libavb). Includes:
718             * Helpers to process strings in order to build OS bootargs.
719             * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
720             * Helpers to alloc/init/free avb ops.
721
722 if AVB_VERIFY
723
724 config AVB_BUF_ADDR
725         hex "Define AVB buffer address"
726         default FASTBOOT_BUF_ADDR
727         help
728           AVB requires a buffer for memory transactions. This variable defines the
729           buffer address.
730
731 config AVB_BUF_SIZE
732         hex "Define AVB buffer SIZE"
733         default FASTBOOT_BUF_SIZE
734         help
735           AVB requires a buffer for memory transactions. This variable defines the
736           buffer size.
737
738 endif # AVB_VERIFY
739
740 config SCP03
741         bool "Build SCP03 - Secure Channel Protocol O3 - controls"
742         depends on OPTEE || SANDBOX
743         depends on TEE
744         help
745           This option allows U-Boot to enable and or provision SCP03 on an OPTEE
746           controlled Secured Element.
747
748 config SPL_HASH
749         bool # "Support hashing API (SHA1, SHA256, etc.)"
750         help
751           This provides a way to hash data in memory using various supported
752           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
753           and the algorithms it supports are defined in common/hash.c. See
754           also CMD_HASH for command-line access.
755
756 config TPL_HASH
757         bool # "Support hashing API (SHA1, SHA256, etc.)"
758         help
759           This provides a way to hash data in memory using various supported
760           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
761           and the algorithms it supports are defined in common/hash.c. See
762           also CMD_HASH for command-line access.
763
764 config STACKPROTECTOR
765         bool "Stack Protector buffer overflow detection"
766         help
767           Enable stack smash detection through compiler's stack-protector
768           canary logic
769
770 config SPL_STACKPROTECTOR
771         bool "Stack Protector buffer overflow detection for SPL"
772         depends on STACKPROTECTOR && SPL
773
774 config TPL_STACKPROTECTOR
775         bool "Stack Protector buffer overflow detection for TPL"
776         depends on STACKPROTECTOR && TPL
777
778 endmenu
779
780 menu "Update support"
781
782 config UPDATE_COMMON
783         bool
784         select DFU_WRITE_ALT
785
786 config UPDATE_TFTP
787         bool "Auto-update using fitImage via TFTP"
788         depends on FIT
789         select UPDATE_COMMON
790         help
791           This option allows performing update of NOR with data in fitImage
792           sent via TFTP boot.
793
794 config UPDATE_TFTP_CNT_MAX
795         int "The number of connection retries during auto-update"
796         default 0
797         depends on UPDATE_TFTP
798
799 config UPDATE_TFTP_MSEC_MAX
800         int "Delay in mSec to wait for the TFTP server during auto-update"
801         default 100
802         depends on UPDATE_TFTP
803
804 config UPDATE_FIT
805         bool "Firmware update using fitImage"
806         depends on FIT
807         depends on DFU
808         select UPDATE_COMMON
809         help
810           This option allows performing update of DFU-capable storage with
811           data in fitImage.
812
813 config ANDROID_AB
814         bool "Android A/B updates"
815         help
816           If enabled, adds support for the new Android A/B update model. This
817           allows the bootloader to select which slot to boot from based on the
818           information provided by userspace via the Android boot_ctrl HAL. This
819           allows a bootloader to try a new version of the system but roll back
820           to previous version if the new one didn't boot all the way.
821
822 endmenu
823
824 menu "Blob list"
825
826 config BLOBLIST
827         bool "Support for a bloblist"
828         help
829           This enables support for a bloblist in U-Boot, which can be passed
830           from TPL to SPL to U-Boot proper (and potentially to Linux). The
831           blob list supports multiple binary blobs of data, each with a tag,
832           so that different U-Boot components can store data which can survive
833           through to the next phase of the boot.
834
835 config SPL_BLOBLIST
836         bool "Support for a bloblist in SPL"
837         depends on BLOBLIST && SPL_LIBGENERIC_SUPPORT && SPL_LIBCOMMON_SUPPORT
838         default y if SPL
839         help
840           This enables a bloblist in SPL. If this is the first part of U-Boot
841           to run, then the bloblist is set up in SPL and passed to U-Boot
842           proper. If TPL also has a bloblist, then SPL uses the one from there.
843
844 config TPL_BLOBLIST
845         bool "Support for a bloblist in TPL"
846         depends on BLOBLIST && TPL_LIBGENERIC_SUPPORT && TPL_LIBCOMMON_SUPPORT
847         default y if TPL
848         help
849           This enables a bloblist in TPL. The bloblist is set up in TPL and
850           passed to SPL and U-Boot proper.
851
852 config VPL_BLOBLIST
853         bool "Support for a bloblist in VPL"
854         depends on BLOBLIST && VPL_LIBGENERIC_SUPPORT && VPL_LIBCOMMON_SUPPORT
855         default y if VPL
856         help
857           This enables a bloblist in VPL. The bloblist is set up in VPL and
858           passed to SPL and U-Boot proper.
859
860 if BLOBLIST
861
862 choice
863         prompt "Bloblist location"
864         help
865           Select the location of the bloblist, via various means.
866
867 config BLOBLIST_FIXED
868         bool "Place bloblist at a fixed address in memory"
869         help
870           Select this to used a fixed memory address for the bloblist. If the
871           bloblist exists at this address from a previous phase, it used as is.
872           If not it is created at this address in U-Boot.
873
874 config BLOBLIST_ALLOC
875         bool "Allocate bloblist"
876         help
877           Allocate the bloblist using malloc(). This avoids the need to
878           specify a fixed address on systems where this is unknown or can
879           change at runtime.
880
881 endchoice
882
883 config BLOBLIST_ADDR
884         hex "Address of bloblist"
885         default 0xc000 if SANDBOX
886         depends on BLOBLIST_FIXED
887         help
888           Sets the address of the bloblist, set up by the first part of U-Boot
889           which runs. Subsequent U-Boot phases typically use the same address.
890
891           This is not used if BLOBLIST_ALLOC is selected.
892
893 config BLOBLIST_SIZE
894         hex "Size of bloblist"
895         default 0x400
896         help
897           Sets the size of the bloblist in bytes. This must include all
898           overhead (alignment, bloblist header, record header). The bloblist
899           is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
900           proper), and this sane bloblist is used for subsequent phases.
901
902 config BLOBLIST_SIZE_RELOC
903         hex "Size of bloblist after relocation"
904         default BLOBLIST_SIZE if BLOBLIST_FIXED || BLOBLIST_ALLOC
905         default 0 if BLOBLIST_PASSAGE
906         help
907           Sets the size of the bloblist in bytes after relocation. Since U-Boot
908           has a lot more memory available then, it is possible to use a larger
909           size than the one set up by SPL. This bloblist is set up during the
910           relocation process.
911
912 endif # BLOBLIST
913
914 if SPL_BLOBLIST
915
916 choice
917         prompt "Bloblist location in SPL"
918         help
919           Select the location of the bloblist, via various means. Typically
920           you should use the same value for SPL as for U-Boot, since they need
921           to look in the same place. But if BLOBLIST_ALLOC is used, then a
922           fresh bloblist will be created each time, since there is no shared
923           address (between phases) for the bloblist.
924
925 config SPL_BLOBLIST_FIXED
926         bool "Place bloblist at a fixed address in memory"
927         help
928           Select this to used a fixed memory address for the bloblist. If the
929           bloblist exists at this address from a previous phase, it used as is.
930           If not it is created at this address in SPL.
931
932 config SPL_BLOBLIST_ALLOC
933         bool "Allocate bloblist"
934         help
935           Allocate the bloblist using malloc(). This avoids the need to
936           specify a fixed address on systems where this is unknown or can
937           change at runtime.
938
939 endchoice
940
941 endif # SPL_BLOBLIST
942
943 if TPL_BLOBLIST
944
945 choice
946         prompt "Bloblist location in TPL"
947         help
948           Select the location of the bloblist, via various means. Typically
949           you should use the same value for SPL as for U-Boot, since they need
950           to look in the same place. But if BLOBLIST_ALLOC is used, then a
951           fresh bloblist will be created each time, since there is no shared
952           address (between phases) for the bloblist.
953
954 config TPL_BLOBLIST_FIXED
955         bool "Place bloblist at a fixed address in memory"
956         help
957           Select this to used a fixed memory address for the bloblist. If the
958           bloblist exists at this address from a previous phase, it used as is.
959           If not it is created at this address in TPL.
960
961 config TPL_BLOBLIST_ALLOC
962         bool "Allocate bloblist"
963         help
964           Allocate the bloblist using malloc(). This avoids the need to
965           specify a fixed address on systems where this is unknown or can
966           change at runtime.
967
968 endchoice
969
970 endif # TPL_BLOBLIST
971
972 endmenu
973
974 source "common/spl/Kconfig"
975
976 config IMAGE_SIGN_INFO
977         bool
978         select SHA1
979         select SHA256
980         help
981           Enable image_sign_info helper functions.
982
983 if IMAGE_SIGN_INFO
984
985 config SPL_IMAGE_SIGN_INFO
986         bool
987         select SHA1
988         select SHA256
989         help
990           Enable image_sign_info helper functions in SPL.
991
992 endif
993
994 config FDT_SIMPLEFB
995         bool "FDT tools for simplefb support"
996         depends on OF_LIBFDT
997         help
998           Enable the fdt tools to manage the simple fb nodes in device tree.
999           These functions can be used by board to indicate to the OS
1000           the presence of the simple frame buffer with associated reserved
1001           memory
This page took 0.084161 seconds and 4 git commands to generate.