]> Git Repo - J-u-boot.git/blob - common/Kconfig
Merge tag 'dm-pull-2aug23' of https://source.denx.de/u-boot/custodians/u-boot-dm
[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         depends on SPL
87         default LOGLEVEL
88
89 config TPL_LOGLEVEL
90         int
91         depends on TPL
92         default LOGLEVEL
93
94 config VPL_LOGLEVEL
95         int "loglevel for VPL"
96         depends on VPL
97         default LOGLEVEL
98         help
99           All Messages with a loglevel smaller than the console loglevel will
100           be compiled in to VPL. See LOGLEVEL for a list of available log
101           levels. Setting this to a value above 4 may increase the code size
102           significantly.
103
104 config SILENT_CONSOLE
105         bool "Support a silent console"
106         help
107           This option allows the console to be silenced, meaning that no
108           output will appear on the console devices. This is controlled by
109           setting the environment variable 'silent' to a non-empty value.
110           Note this also silences the console when booting Linux.
111
112           When the console is set up, the variable is checked, and the
113           GD_FLG_SILENT flag is set. Changing the environment variable later
114           will update the flag.
115
116 config SPL_SILENT_CONSOLE
117         bool "Use a silent console in SPL"
118         default y if SILENT_CONSOLE && !SANDBOX
119         help
120           This selects a silent console in SPL. When enabled it drops some
121           output messages. The GD_FLG_SILENT flag is not used in SPL so there
122           is no run-time control of console messages in SPL.
123
124           Future work may allow the SPL console to be silenced completely using
125           this option.
126
127 config TPL_SILENT_CONSOLE
128         bool "Use a silent console in TPL"
129         default y if SILENT_CONSOLE && !SANDBOX
130         help
131           This selects a silent console in TPL. When enabled it drops some
132           output messages. The GD_FLG_SILENT flag is not used in TPL so there
133           is no run-time control of console messages in TPL.
134
135           Future work may allow the TPL console to be silenced completely using
136           this option.
137
138 config SILENT_U_BOOT_ONLY
139         bool "Only silence the U-Boot console"
140         depends on SILENT_CONSOLE
141         help
142           Normally when the U-Boot console is silenced, Linux's console is
143           also silenced (assuming the board boots into Linux). This option
144           allows the linux console to operate normally, even if U-Boot's
145           is silenced.
146
147 config SILENT_CONSOLE_UPDATE_ON_SET
148         bool "Changes to the 'silent' environment variable update immediately"
149         depends on SILENT_CONSOLE
150         default y if SILENT_CONSOLE
151         help
152           When the 'silent' environment variable is changed, update the
153           console silence flag immediately. This allows 'setenv' to be used
154           to silence or un-silence the console.
155
156           The effect is that any change to the variable will affect the
157           GD_FLG_SILENT flag.
158
159 config SILENT_CONSOLE_UPDATE_ON_RELOC
160         bool "Allow flags to take effect on relocation"
161         depends on SILENT_CONSOLE
162         help
163           In some cases the environment is not available until relocation
164           (e.g. NAND). This option makes the value of the 'silent'
165           environment variable take effect at relocation.
166
167 config SILENT_CONSOLE_UNTIL_ENV
168         bool "Keep console silent until environment is loaded"
169         depends on SILENT_CONSOLE
170         help
171           This option makes sure U-Boot will never use the console unless the
172           environment from flash does not contain the 'silent' variable.  If
173           set, the console is kept silent until after the environment was
174           loaded.  Use this in combination with PRE_CONSOLE_BUFFER to print out
175           earlier messages after loading the environment when allowed.
176
177 config PRE_CONSOLE_BUFFER
178         bool "Buffer characters before the console is available"
179         help
180           Prior to the console being initialised (i.e. serial UART
181           initialised etc) all console output is silently discarded.
182           Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
183           buffer any console messages prior to the console being
184           initialised to a buffer. The buffer is a circular buffer, so
185           if it overflows, earlier output is discarded.
186
187           Note that this is not currently supported in SPL. It would be
188           useful to be able to share the pre-console buffer with SPL.
189
190 config PRE_CON_BUF_SZ
191         int "Sets the size of the pre-console buffer"
192         depends on PRE_CONSOLE_BUFFER
193         default 4096
194         help
195           The size of the pre-console buffer affects how much console output
196           can be held before it overflows and starts discarding earlier
197           output. Normally there is very little output at this early stage,
198           unless debugging is enabled, so allow enough for ~10 lines of
199           text.
200
201           This is a useful feature if you are using a video console and
202           want to see the full boot output on the console. Without this
203           option only the post-relocation output will be displayed.
204
205 config PRE_CON_BUF_ADDR
206         hex "Address of the pre-console buffer"
207         depends on PRE_CONSOLE_BUFFER
208         default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
209         default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
210         default 0x0f000000 if ROCKCHIP_RK3288
211         default 0x0f200000 if ROCKCHIP_RK3399
212         help
213           This sets the start address of the pre-console buffer. This must
214           be in available memory and is accessed before relocation and
215           possibly before DRAM is set up. Therefore choose an address
216           carefully.
217
218           We should consider removing this option and allocating the memory
219           in board_init_f_init_reserve() instead.
220
221 config CONSOLE_FLUSH_SUPPORT
222         bool "Enable console flush support"
223         default y
224         help
225           This enables compilation of flush() function for console flush support.
226
227 config CONSOLE_MUX
228         bool "Enable console multiplexing"
229         default y if VIDEO || LCD
230         help
231           This allows multiple devices to be used for each console 'file'.
232           For example, stdout can be set to go to serial and video.
233           Similarly, stdin can be set to come from serial and keyboard.
234           Input can be provided from either source. Console multiplexing
235           adds a small amount of size to U-Boot.  Changes to the environment
236           variables stdout, stdin and stderr will take effect immediately.
237
238 config SYS_CONSOLE_IS_IN_ENV
239         bool "Select console devices from the environment"
240         default y if CONSOLE_MUX
241         help
242           This allows multiple input/output devices to be set at boot time.
243           For example, if stdout is set to "serial,vidconsole" then output
244           will be sent to both the serial and video devices on boot. The
245           environment variables can be updated after boot to change the
246           input/output devices.
247
248 config SYS_CONSOLE_OVERWRITE_ROUTINE
249         bool "Allow board control over console overwriting"
250         help
251           If this is enabled, and the board-specific function
252           overwrite_console() returns 1, the stdin, stderr and stdout are
253           switched to the serial port, else the settings in the environment
254           are used. If this is not enabled, the console will not be switched
255           to serial.
256
257 config SYS_CONSOLE_ENV_OVERWRITE
258         bool "Update environment variables during console init"
259         depends on SYS_CONSOLE_IS_IN_ENV
260         help
261           The console environment variables (stdout, stdin, stderr) can be
262           used to determine the correct console devices on start-up. This
263           option writes the console devices to these variables on console
264           start-up (after relocation). This causes the environment to be
265           updated to match the console devices actually chosen.
266
267 config SYS_CONSOLE_INFO_QUIET
268         bool "Don't display the console devices on boot"
269         help
270           Normally U-Boot displays the current settings for stdout, stdin
271           and stderr on boot when the post-relocation console is set up.
272           Enable this option to suppress this output. It can be obtained by
273           calling stdio_print_current_devices() from board code.
274
275 config SYS_STDIO_DEREGISTER
276         bool "Allow deregistering stdio devices"
277         default y if USB_KEYBOARD
278         help
279           Generally there is no need to deregister stdio devices since they
280           are never deactivated. But if a stdio device is used which can be
281           removed (for example a USB keyboard) then this option can be
282           enabled to ensure this is handled correctly.
283
284 config SPL_SYS_STDIO_DEREGISTER
285         bool "Allow deregistering stdio devices in SPL"
286         help
287           Generally there is no need to deregister stdio devices since they
288           are never deactivated. But if a stdio device is used which can be
289           removed (for example a USB keyboard) then this option can be
290           enabled to ensure this is handled correctly. This is very rarely
291           needed in SPL.
292
293 config SYS_DEVICE_NULLDEV
294         bool "Enable a null device for stdio"
295         default y if SPLASH_SCREEN || SYS_STDIO_DEREGISTER
296         help
297           Enable creation of a "nulldev" stdio device. This allows silent
298           operation of the console by setting stdout to "nulldev". Enable
299           this to use a serial console under board control.
300
301 endmenu
302
303 menu "Logging"
304
305 config LOG
306         bool "Enable logging support"
307         depends on DM
308         help
309           This enables support for logging of status and debug messages. These
310           can be displayed on the console, recorded in a memory buffer, or
311           discarded if not needed. Logging supports various categories and
312           levels of severity.
313
314 if LOG
315
316 config LOG_MAX_LEVEL
317         int "Maximum log level to record"
318         default 6
319         range 0 9
320         help
321           This selects the maximum log level that will be recorded. Any value
322           higher than this will be ignored. If possible log statements below
323           this level will be discarded at build time. Levels:
324
325             0 - emergency
326             1 - alert
327             2 - critical
328             3 - error
329             4 - warning
330             5 - note
331             6 - info
332             7 - debug
333             8 - debug content
334             9 - debug hardware I/O
335
336 config LOG_DEFAULT_LEVEL
337         int "Default logging level to display"
338         default LOG_MAX_LEVEL
339         range 0 LOG_MAX_LEVEL
340         help
341           This is the default logging level set when U-Boot starts. It can
342           be adjusted later using the 'log level' command. Note that setting
343           this to a value above LOG_MAX_LEVEL will be ineffective, since the
344           higher levels are not compiled in to U-Boot.
345
346             0 - emergency
347             1 - alert
348             2 - critical
349             3 - error
350             4 - warning
351             5 - note
352             6 - info
353             7 - debug
354             8 - debug content
355             9 - debug hardware I/O
356
357 config LOG_CONSOLE
358         bool "Allow log output to the console"
359         default y
360         help
361           Enables a log driver which writes log records to the console.
362           Generally the console is the serial port or LCD display. Only the
363           log message is shown - other details like level, category, file and
364           line number are omitted.
365
366 config LOGF_FILE
367         bool "Show source file name in log messages by default"
368         help
369           Show the source file name in log messages by default. This value
370           can be overridden using the 'log format' command.
371
372 config LOGF_LINE
373         bool "Show source line number in log messages by default"
374         help
375           Show the source line number in log messages by default. This value
376           can be overridden using the 'log format' command.
377
378 config LOGF_FUNC
379         bool "Show function name in log messages by default"
380         help
381           Show the function name in log messages by default. This value can
382           be overridden using the 'log format' command.
383
384 config LOGF_FUNC_PAD
385         int "Number of characters to use for function"
386         default 20
387         help
388           Sets the field width to use when showing the function. Set this to
389           a larger value if you have lots of long function names, and want
390           things to line up.
391
392 config LOG_SYSLOG
393         bool "Log output to syslog server"
394         depends on NET
395         help
396           Enables a log driver which broadcasts log records via UDP port 514
397           to syslog servers.
398
399 config SPL_LOG
400         bool "Enable logging support in SPL"
401         depends on LOG && SPL
402         help
403           This enables support for logging of status and debug messages. These
404           can be displayed on the console, recorded in a memory buffer, or
405           discarded if not needed. Logging supports various categories and
406           levels of severity.
407
408 if SPL_LOG
409
410 config SPL_LOG_MAX_LEVEL
411         int "Maximum log level to record in SPL"
412         depends on SPL_LOG
413         default 3
414         range 0 9
415         help
416           This selects the maximum log level that will be recorded. Any value
417           higher than this will be ignored. If possible log statements below
418           this level will be discarded at build time. Levels:
419
420             0 - emergency
421             1 - alert
422             2 - critical
423             3 - error
424             4 - warning
425             5 - note
426             6 - info
427             7 - debug
428             8 - debug content
429             9 - debug hardware I/O
430
431 config SPL_LOG_CONSOLE
432         bool "Allow log output to the console in SPL"
433         default y
434         help
435           Enables a log driver which writes log records to the console.
436           Generally the console is the serial port or LCD display. Only the
437           log message is shown - other details like level, category, file and
438           line number are omitted.
439
440 endif
441
442 config TPL_LOG
443         bool "Enable logging support in TPL"
444         depends on LOG && TPL
445         help
446           This enables support for logging of status and debug messages. These
447           can be displayed on the console, recorded in a memory buffer, or
448           discarded if not needed. Logging supports various categories and
449           levels of severity.
450
451 if TPL_LOG
452
453 config TPL_LOG_MAX_LEVEL
454         int "Maximum log level to record in TPL"
455         depends on TPL_LOG
456         default 3
457         range 0 9
458         help
459           This selects the maximum log level that will be recorded. Any value
460           higher than this will be ignored. If possible log statements below
461           this level will be discarded at build time. Levels:
462
463             0 - emergency
464             1 - alert
465             2 - critical
466             3 - error
467             4 - warning
468             5 - note
469             6 - info
470             7 - debug
471             8 - debug content
472             9 - debug hardware I/O
473
474 config TPL_LOG_CONSOLE
475         bool "Allow log output to the console in TPL"
476         default y
477         help
478           Enables a log driver which writes log records to the console.
479           Generally the console is the serial port or LCD display. Only the
480           log message is shown - other details like level, category, file and
481           line number are omitted.
482
483 endif
484
485 config VPL_LOG
486         bool "Enable logging support in VPL"
487         depends on LOG && VPL
488         help
489           This enables support for logging of status and debug messages. These
490           can be displayed on the console, recorded in a memory buffer, or
491           discarded if not needed. Logging supports various categories and
492           levels of severity.
493
494 if VPL_LOG
495
496 config VPL_LOG_MAX_LEVEL
497         int "Maximum log level to record in VPL"
498         default 3
499         help
500           This selects the maximum log level that will be recorded. Any value
501           higher than this will be ignored. If possible log statements below
502           this level will be discarded at build time. Levels:
503
504             0 - emergency
505             1 - alert
506             2 - critical
507             3 - error
508             4 - warning
509             5 - note
510             6 - info
511             7 - debug
512             8 - debug content
513             9 - debug hardware I/O
514
515 config VPL_LOG_CONSOLE
516         bool "Allow log output to the console in VPL"
517         default y
518         help
519           Enables a log driver which writes log records to the console.
520           Generally the console is the serial port or LCD display. Only the
521           log message is shown - other details like level, category, file and
522           line number are omitted.
523
524 endif
525
526 config LOG_ERROR_RETURN
527         bool "Log all functions which return an error"
528         help
529           When an error is returned in U-Boot it is sometimes difficult to
530           figure out the root cause. For example, reading from SPI flash may
531           fail due to a problem in the SPI controller or due to the flash part
532           not returning the expected information. This option changes
533           log_ret() to log any errors it sees. With this option disabled,
534           log_ret() is a nop.
535
536           You can add log_ret() to all functions which return an error code.
537
538 config LOG_TEST
539         bool "Provide a test for logging"
540         depends on UNIT_TEST
541         default y if SANDBOX
542         help
543           This enables a 'log test' command to test logging. It is normally
544           executed from a pytest and simply outputs logging information
545           in various different ways to test that the logging system works
546           correctly with various settings.
547
548 endif
549
550 endmenu
551
552 menu "Init options"
553
554 config BOARD_TYPES
555         bool "Enable board_type entry in global data struct"
556         help
557           If this option is enabled, a field will be added to the global
558           data struct to store an unsigned long value for the type of
559           platform that we have determined we are on, at run-time.
560
561 config DISPLAY_CPUINFO
562         bool "Display information about the CPU during start up"
563         default y if ARC || ARM || NIOS2 || X86 || XTENSA || M68K
564         help
565           Display information about the CPU that U-Boot is running on
566           when U-Boot starts up. The function print_cpuinfo() is called
567           to do this.
568
569 config DISPLAY_BOARDINFO
570         bool "Display information about the board during early start up"
571         default y if ARC || ARM || M68K || MIPS || PPC || SANDBOX || XTENSA
572         help
573           Display information about the board that U-Boot is running on
574           when U-Boot starts up. The board function checkboard() is called
575           to do this.
576
577 config DISPLAY_BOARDINFO_LATE
578         bool "Display information about the board during late start up"
579         help
580           Display information about the board that U-Boot is running on after
581           the relocation phase. The board function checkboard() is called to do
582           this.
583
584 menu "Start-up hooks"
585
586 config CYCLIC
587         bool "General-purpose cyclic execution mechanism"
588         help
589           This enables a general-purpose cyclic execution infrastructure,
590           to allow "small" (run-time wise) functions to be executed at
591           a specified frequency. Things like LED blinking or watchdog
592           triggering are examples for such tasks.
593
594 if CYCLIC
595
596 config CYCLIC_MAX_CPU_TIME_US
597         int "Sets the max allowed time for a cyclic function in us"
598         default 1000
599         help
600           The max allowed time for a cyclic function in us. If a functions
601           takes longer than this duration this function will get unregistered
602           automatically.
603
604 endif # CYCLIC
605
606 config EVENT
607         bool
608         help
609           This adds a framework for general purpose sending and processing of
610           events, to allow interested parties to be alerted when something
611           happens. This is an attempt to stem the flow of weak functions,
612           hooks, functions in board_f.c and board_r.c and the Kconfig options
613           below.
614
615           See doc/develop/event.rst for more information.
616
617 if EVENT
618
619 config EVENT_DYNAMIC
620         bool
621         help
622           Enable this to support adding an event spy at runtime, without adding
623           it to the EVENT_SPY() linker list. This increases code size slightly
624           but provides more flexibility for boards and subsystems that need it.
625
626 config EVENT_DEBUG
627         bool "Enable event debugging assistance"
628         default y if SANDBOX
629         help
630           Enable this to get useful features for seeing what is happening with
631           events, such as event-type names. This adds to the code size of
632           U-Boot so can be turned off for production builds.
633
634 config SPL_EVENT
635         bool  # General-purpose event-handling mechanism in SPL
636         depends on SPL
637         help
638           This adds a framework for general purpose sending and processing of
639           events, to allow interested parties to be alerted when something
640           happens. This is an attempt to stem the flow of weak functions,
641           hooks, functions in board_f.c and board_r.c and the Kconfig options
642           below.
643
644           See doc/develop/event.rst for more information.
645
646 config SPL_EVENT_DYNAMIC
647         bool
648         depends on SPL_EVENT && EVENT_DYNAMIC
649         help
650           Enable this to support adding an event spy at runtime, without adding
651           it to the EVENT_SPY() linker list. This increases code size slightly
652           but provides more flexibility for boards and subsystems that need it.
653
654 endif # EVENT
655
656 config ARCH_EARLY_INIT_R
657         bool
658         help
659           With this option U-Boot will call arch_early_init_r() soon after
660           relocation. Driver model is running by this point, and the cache
661           is on. Note that board_early_init_r() is called first, if
662           enabled. This can be used to set up architecture-specific devices.
663
664 config ARCH_MISC_INIT
665         bool "Call arch-specific init after relocation, when console is ready"
666         help
667           With this option U-Boot will call arch_misc_init() after
668           relocation to allow miscellaneous arch-dependent initialisation
669           to be performed. This function should be defined by the board
670           and will be called after the console is set up, after relocation.
671
672 config BOARD_EARLY_INIT_F
673         bool "Call board-specific init before relocation"
674         help
675           Some boards need to perform initialisation as soon as possible
676           after boot. With this option, U-Boot calls board_early_init_f()
677           after driver model is ready in the pre-relocation init sequence.
678           Note that the normal serial console is not yet set up, but the
679           debug UART will be available if enabled.
680
681 config BOARD_EARLY_INIT_R
682         bool "Call board-specific init after relocation"
683         help
684           Some boards need to perform initialisation as directly after
685           relocation. With this option, U-Boot calls board_early_init_r()
686           in the post-relocation init sequence.
687
688 config BOARD_POSTCLK_INIT
689         bool "Call board_postclk_init"
690         help
691           Some boards need this to initialize select items, after clocks /
692           timebase and before env / serial.
693
694 config BOARD_LATE_INIT
695         bool "Execute Board late init"
696         help
697           Sometimes board require some initialization code that might
698           require once the actual init done, example saving board specific env,
699           boot-modes etc. which eventually done at late.
700
701           So this config enable the late init code with the help of board_late_init
702           function which should defined on respective boards.
703
704 config CLOCKS
705         bool "Call set_cpu_clk_info"
706         depends on ARM
707
708 config HWCONFIG
709         bool "hwconfig infrastructure"
710         default y if PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
711
712 config SYS_FSL_CLK
713         bool
714         depends on ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 || \
715                 (FSL_ESDHC_IMX && (ARCH_MX5 || ARCH_MX6 || ARCH_MX7))
716         default y
717         help
718           Enable to call get_clocks() in board_init_f() for platforms other
719           than PowerPC or M68k.  This is a legacy option.  If not TARGET_BRPPT2
720
721 config LAST_STAGE_INIT
722         bool "Call board-specific as last setup step"
723         help
724           Some boards need to perform initialisation immediately before control
725           is passed to the command-line interpreter (e.g. for initializations
726           that depend on later phases in the init sequence). With this option,
727           U-Boot calls last_stage_init() before the command-line interpreter is
728           started.
729
730 config MISC_INIT_R
731         bool "Execute Misc Init"
732         default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
733         default y if ARCH_OMAP2PLUS && !AM33XX
734         help
735           Enabling this option calls 'misc_init_r' function
736
737 config SYS_MALLOC_BOOTPARAMS
738         bool "Malloc a buffer to use for bootparams"
739         help
740           In some cases rather than using a known location to store the
741           bi_boot_params portion of gd we need to allocate it from our malloc pool.
742
743 config SYS_BOOTPARAMS_LEN
744         hex "Size of the bootparam buffer to malloc in bytes"
745         depends on SYS_MALLOC_BOOTPARAMS
746         default 0x20000 if MIPS || RCAR_64
747         default 0x10000
748
749 config ID_EEPROM
750         bool "Enable I2C connected system identifier EEPROM"
751         help
752           A number of different systems and vendors enable a vendor-specified
753           EEPROM that contains various identifying features.
754
755 config SYS_EEPROM_BUS_NUM
756         int "I2C bus number of the system identifier EEPROM"
757         depends on ID_EEPROM
758         default 0
759
760 choice
761         prompt "EEPROM starts with 'CCID' or 'NXID'"
762         depends on ID_EEPROM && (PPC || ARCH_LS1021A || FSL_LAYERSCAPE)
763         default SYS_I2C_EEPROM_NXID
764         help
765           Specify if the Freescale / NXP ID EEPROM starts with 'CCID' or 'NXID'
766           ASCII literal string.
767
768 config SYS_I2C_EEPROM_CCID
769         bool "EEPROM starts with 'CCID'"
770
771 config SYS_I2C_EEPROM_NXID
772         bool "EEPROM starts with 'NXID'"
773
774 endchoice
775
776 config PCI_INIT_R
777         bool "Enumerate PCI buses during init"
778         depends on PCI
779         help
780           With this option U-Boot will call pci_init() soon after relocation,
781           which will enumerate PCI buses. This is needed, for instance, in the
782           case of DM PCI-based Ethernet devices, which will not be detected
783           without having the enumeration performed earlier.
784
785 config RESET_PHY_R
786         bool "Reset ethernet PHY during init"
787         help
788           Implement reset_phy() in board code if required to reset the ethernet
789           PHY.
790
791 endmenu
792
793 endmenu         # Init options
794
795 menu "Security support"
796
797 config HASH
798         bool # "Support hashing API (SHA1, SHA256, etc.)"
799         help
800           This provides a way to hash data in memory using various supported
801           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
802           and the algorithms it supports are defined in common/hash.c. See
803           also CMD_HASH for command-line access.
804
805 config AVB_VERIFY
806         bool "Build Android Verified Boot operations"
807         depends on LIBAVB
808         depends on MMC
809         depends on PARTITION_UUIDS
810         help
811           This option enables compilation of bootloader-dependent operations,
812           used by Android Verified Boot 2.0 library (libavb). Includes:
813             * Helpers to process strings in order to build OS bootargs.
814             * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
815             * Helpers to alloc/init/free avb ops.
816
817 if AVB_VERIFY
818
819 config AVB_BUF_ADDR
820         hex "Define AVB buffer address"
821         default FASTBOOT_BUF_ADDR
822         help
823           AVB requires a buffer for memory transactions. This variable defines the
824           buffer address.
825
826 config AVB_BUF_SIZE
827         hex "Define AVB buffer SIZE"
828         default FASTBOOT_BUF_SIZE
829         help
830           AVB requires a buffer for memory transactions. This variable defines the
831           buffer size.
832
833 endif # AVB_VERIFY
834
835 config SCP03
836         bool "Build SCP03 - Secure Channel Protocol O3 - controls"
837         depends on OPTEE || SANDBOX
838         depends on TEE
839         help
840           This option allows U-Boot to enable and or provision SCP03 on an OPTEE
841           controlled Secured Element.
842
843 config SPL_HASH
844         bool # "Support hashing API (SHA1, SHA256, etc.)"
845         help
846           This provides a way to hash data in memory using various supported
847           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
848           and the algorithms it supports are defined in common/hash.c. See
849           also CMD_HASH for command-line access.
850
851 config TPL_HASH
852         bool # "Support hashing API (SHA1, SHA256, etc.)"
853         help
854           This provides a way to hash data in memory using various supported
855           algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
856           and the algorithms it supports are defined in common/hash.c. See
857           also CMD_HASH for command-line access.
858
859 config STACKPROTECTOR
860         bool "Stack Protector buffer overflow detection"
861         help
862           Enable stack smash detection through compiler's stack-protector
863           canary logic
864
865 config SPL_STACKPROTECTOR
866         bool "Stack Protector buffer overflow detection for SPL"
867         depends on STACKPROTECTOR && SPL
868
869 config TPL_STACKPROTECTOR
870         bool "Stack Protector buffer overflow detection for TPL"
871         depends on STACKPROTECTOR && TPL
872
873 config BOARD_RNG_SEED
874         bool "Provide /chosen/rng-seed property to the linux kernel"
875         help
876           Selecting this option requires the board to define a
877           board_rng_seed() function, which should return a buffer
878           which will be used to populate the /chosen/rng-seed property
879           in the device tree for the OS being booted.
880
881           It is up to the board code (and more generally the whole
882           BSP) where and how to store (or generate) such a seed, how
883           to ensure a given seed is only used once, how to create a
884           new seed for use on subsequent boots, and whether or not the
885           kernel should account any entropy from the given seed.
886
887 endmenu
888
889 menu "Update support"
890
891 config UPDATE_COMMON
892         bool
893         select DFU_WRITE_ALT
894
895 config UPDATE_TFTP
896         bool "Auto-update using fitImage via TFTP"
897         depends on FIT && OF_LIBFDT && !MTD_NOR_FLASH
898         select UPDATE_COMMON
899         help
900           This option allows performing update of NOR with data in fitImage
901           sent via TFTP boot.
902
903 config UPDATE_TFTP_CNT_MAX
904         int "The number of connection retries during auto-update"
905         default 0
906         depends on UPDATE_TFTP || DFU_TFTP
907
908 config UPDATE_TFTP_MSEC_MAX
909         int "Delay in mSec to wait for the TFTP server during auto-update"
910         default 100
911         depends on UPDATE_TFTP || DFU_TFTP
912
913 config UPDATE_LOAD_ADDR
914         hex "Address in memory to load the update to"
915         depends on UPDATE_TFTP || DFU_TFTP
916         default 0x100000
917         help
918           This option defines the location in memory to be used to load the
919           update to, if 'loadaddr' is not set in the environment.
920
921 config UPDATE_FIT
922         bool "Firmware update using fitImage"
923         depends on FIT && OF_LIBFDT
924         depends on DFU
925         select UPDATE_COMMON
926         help
927           This option allows performing update of DFU-capable storage with
928           data in fitImage.
929
930 config ANDROID_AB
931         bool "Android A/B updates"
932         help
933           If enabled, adds support for the new Android A/B update model. This
934           allows the bootloader to select which slot to boot from based on the
935           information provided by userspace via the Android boot_ctrl HAL. This
936           allows a bootloader to try a new version of the system but roll back
937           to previous version if the new one didn't boot all the way.
938
939 config ANDROID_AB_BACKUP_OFFSET
940         hex "Offset of backup bootloader control"
941         depends on ANDROID_AB
942         default 0x0
943         help
944           If non-zero, a backup bootloader message starting at this offset in
945           the partition will tried in the event that the primary one (starting
946           at offset 0) fails its checksum.
947
948 endmenu
949
950 menu "Blob list"
951
952 config BLOBLIST
953         bool "Support for a bloblist"
954         help
955           This enables support for a bloblist in U-Boot, which can be passed
956           from TPL to SPL to U-Boot proper (and potentially to Linux). The
957           blob list supports multiple binary blobs of data, each with a tag,
958           so that different U-Boot components can store data which can survive
959           through to the next phase of the boot.
960
961 config SPL_BLOBLIST
962         bool "Support for a bloblist in SPL"
963         depends on BLOBLIST && SPL_LIBGENERIC_SUPPORT && SPL_LIBCOMMON_SUPPORT
964         default y if SPL
965         help
966           This enables a bloblist in SPL. If this is the first part of U-Boot
967           to run, then the bloblist is set up in SPL and passed to U-Boot
968           proper. If TPL also has a bloblist, then SPL uses the one from there.
969
970 config TPL_BLOBLIST
971         bool "Support for a bloblist in TPL"
972         depends on BLOBLIST && TPL_LIBGENERIC_SUPPORT && TPL_LIBCOMMON_SUPPORT
973         default y if TPL
974         help
975           This enables a bloblist in TPL. The bloblist is set up in TPL and
976           passed to SPL and U-Boot proper.
977
978 config VPL_BLOBLIST
979         bool "Support for a bloblist in VPL"
980         depends on BLOBLIST && VPL_LIBGENERIC_SUPPORT && VPL_LIBCOMMON_SUPPORT
981         default y if VPL
982         help
983           This enables a bloblist in VPL. The bloblist is set up in VPL and
984           passed to SPL and U-Boot proper.
985
986 if BLOBLIST
987
988 choice
989         prompt "Bloblist location"
990         help
991           Select the location of the bloblist, via various means.
992
993 config BLOBLIST_FIXED
994         bool "Place bloblist at a fixed address in memory"
995         help
996           Select this to used a fixed memory address for the bloblist. If the
997           bloblist exists at this address from a previous phase, it used as is.
998           If not it is created at this address in U-Boot.
999
1000 config BLOBLIST_ALLOC
1001         bool "Allocate bloblist"
1002         help
1003           Allocate the bloblist using malloc(). This avoids the need to
1004           specify a fixed address on systems where this is unknown or can
1005           change at runtime.
1006
1007 endchoice
1008
1009 config BLOBLIST_ADDR
1010         hex "Address of bloblist"
1011         default 0xc000 if SANDBOX
1012         depends on BLOBLIST_FIXED
1013         help
1014           Sets the address of the bloblist, set up by the first part of U-Boot
1015           which runs. Subsequent U-Boot phases typically use the same address.
1016
1017           This is not used if BLOBLIST_ALLOC is selected.
1018
1019 config BLOBLIST_SIZE
1020         hex "Size of bloblist"
1021         default 0x400
1022         help
1023           Sets the size of the bloblist in bytes. This must include all
1024           overhead (alignment, bloblist header, record header). The bloblist
1025           is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
1026           proper), and this sane bloblist is used for subsequent phases.
1027
1028 config BLOBLIST_SIZE_RELOC
1029         hex "Size of bloblist after relocation"
1030         default BLOBLIST_SIZE if BLOBLIST_FIXED || BLOBLIST_ALLOC
1031         default 0 if BLOBLIST_PASSAGE
1032         help
1033           Sets the size of the bloblist in bytes after relocation. Since U-Boot
1034           has a lot more memory available then, it is possible to use a larger
1035           size than the one set up by SPL. This bloblist is set up during the
1036           relocation process.
1037
1038 endif # BLOBLIST
1039
1040 if SPL_BLOBLIST
1041
1042 choice
1043         prompt "Bloblist location in SPL"
1044         help
1045           Select the location of the bloblist, via various means. Typically
1046           you should use the same value for SPL as for U-Boot, since they need
1047           to look in the same place. But if BLOBLIST_ALLOC is used, then a
1048           fresh bloblist will be created each time, since there is no shared
1049           address (between phases) for the bloblist.
1050
1051 config SPL_BLOBLIST_FIXED
1052         bool "Place bloblist at a fixed address in memory"
1053         help
1054           Select this to used a fixed memory address for the bloblist. If the
1055           bloblist exists at this address from a previous phase, it used as is.
1056           If not it is created at this address in SPL.
1057
1058 config SPL_BLOBLIST_ALLOC
1059         bool "Allocate bloblist"
1060         help
1061           Allocate the bloblist using malloc(). This avoids the need to
1062           specify a fixed address on systems where this is unknown or can
1063           change at runtime.
1064
1065 endchoice
1066
1067 endif # SPL_BLOBLIST
1068
1069 if TPL_BLOBLIST
1070
1071 choice
1072         prompt "Bloblist location in TPL"
1073         help
1074           Select the location of the bloblist, via various means. Typically
1075           you should use the same value for TPL as for U-Boot, since they need
1076           to look in the same place. But if BLOBLIST_ALLOC is used, then a
1077           fresh bloblist will be created each time, since there is no shared
1078           address (between phases) for the bloblist.
1079
1080 config TPL_BLOBLIST_FIXED
1081         bool "Place bloblist at a fixed address in memory"
1082         help
1083           Select this to used a fixed memory address for the bloblist. If the
1084           bloblist exists at this address from a previous phase, it used as is.
1085           If not it is created at this address in TPL.
1086
1087 config TPL_BLOBLIST_ALLOC
1088         bool "Allocate bloblist"
1089         help
1090           Allocate the bloblist using malloc(). This avoids the need to
1091           specify a fixed address on systems where this is unknown or can
1092           change at runtime.
1093
1094 endchoice
1095
1096 endif # TPL_BLOBLIST
1097
1098 if VPL_BLOBLIST
1099
1100 choice
1101         prompt "Bloblist location in VPL"
1102         help
1103           Select the location of the bloblist, via various means. Typically
1104           you should use the same value for VPL as for U-Boot, since they need
1105           to look in the same place. But if BLOBLIST_ALLOC is used, then a
1106           fresh bloblist will be created each time, since there is no shared
1107           address (between phases) for the bloblist.
1108
1109 config VPL_BLOBLIST_FIXED
1110         bool "Place bloblist at a fixed address in memory"
1111         help
1112           Select this to used a fixed memory address for the bloblist. If the
1113           bloblist exists at this address from a previous phase, it used as is.
1114           If not it is created at this address in VPL.
1115
1116 config VPL_BLOBLIST_ALLOC
1117         bool "Allocate bloblist"
1118         help
1119           Allocate the bloblist using malloc(). This avoids the need to
1120           specify a fixed address on systems where this is unknown or can
1121           change at runtime.
1122
1123 endchoice
1124
1125 endif # VPL_BLOBLIST
1126
1127 endmenu
1128
1129 source "common/spl/Kconfig"
1130
1131 config IMAGE_SIGN_INFO
1132         bool
1133         select SHA1
1134         select SHA256
1135         help
1136           Enable image_sign_info helper functions.
1137
1138 if IMAGE_SIGN_INFO
1139
1140 config SPL_IMAGE_SIGN_INFO
1141         bool
1142         select SHA1
1143         select SHA256
1144         help
1145           Enable image_sign_info helper functions in SPL.
1146
1147 config VPL_IMAGE_SIGN_INFO
1148         bool
1149         select SHA1
1150         select SHA256
1151         help
1152           Enable image_sign_info helper functions in SPL.
1153
1154 endif
1155
1156 config FDT_SIMPLEFB
1157         bool "FDT tools for simplefb support"
1158         depends on OF_LIBFDT
1159         help
1160           Enable the fdt tools to manage the simple fb nodes in device tree.
1161           These functions can be used by board to indicate to the OS
1162           the presence of the simple frame buffer with associated reserved
1163           memory
1164
1165 config IO_TRACE
1166         bool
1167
1168 config BMP
1169         bool "Enable bmp image display"
1170         help
1171           Enable bmp functions to display bmp image and get bmp info.
1172
1173 config SPL_BMP
1174         bool "Enable bmp image display at  SPL"
1175         depends on SPL_VIDEO
1176         help
1177           Enable bmp functions to display bmp image and get bmp info at SPL.
This page took 0.097232 seconds and 4 git commands to generate.