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