]> git.ipfire.org Git - people/ms/u-boot.git/blob - common/Kconfig
dm: tpm: Add a 'tpmtest' command
[people/ms/u-boot.git] / common / Kconfig
1 menu "Command line interface"
2
3 config HUSH_PARSER
4 bool "Use hush shell"
5 select SYS_HUSH_PARSER
6 help
7 This option enables the "hush" shell (from Busybox) as command line
8 interpreter, thus enabling powerful command line syntax like
9 if...then...else...fi conditionals or `&&' and '||'
10 constructs ("shell scripts").
11
12 If disabled, you get the old, much simpler behaviour with a somewhat
13 smaller memory footprint.
14
15 config SYS_HUSH_PARSER
16 bool
17 help
18 Backward compatibility.
19
20 config SYS_PROMPT
21 string "Shell prompt"
22 default "=> "
23 help
24 This string is displayed in the command line to the left of the
25 cursor.
26
27 menu "Autoboot options"
28
29 config AUTOBOOT_KEYED
30 bool "Stop autobooting via specific input key / string"
31 default n
32 help
33 This option enables stopping (aborting) of the automatic
34 boot feature only by issuing a specific input key or
35 string. If not enabled, any input key will abort the
36 U-Boot automatic booting process and bring the device
37 to the U-Boot prompt for user input.
38
39 config AUTOBOOT_PROMPT
40 string "Autoboot stop prompt"
41 depends on AUTOBOOT_KEYED
42 default "Autoboot in %d seconds\\n"
43 help
44 This string is displayed before the boot delay selected by
45 CONFIG_BOOTDELAY starts. If it is not defined there is no
46 output indicating that autoboot is in progress.
47
48 Note that this define is used as the (only) argument to a
49 printf() call, so it may contain '%' format specifications,
50 provided that it also includes, sepearated by commas exactly
51 like in a printf statement, the required arguments. It is
52 the responsibility of the user to select only such arguments
53 that are valid in the given context.
54
55 config AUTOBOOT_ENCRYPTION
56 bool "Enable encryption in autoboot stopping"
57 depends on AUTOBOOT_KEYED
58 default n
59
60 config AUTOBOOT_DELAY_STR
61 string "Delay autobooting via specific input key / string"
62 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
63 help
64 This option delays the automatic boot feature by issuing
65 a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
66 or the environment variable "bootdelaykey" is specified
67 and this string is received from console input before
68 autoboot starts booting, U-Boot gives a command prompt. The
69 U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
70 used, otherwise it never times out.
71
72 config AUTOBOOT_STOP_STR
73 string "Stop autobooting via specific input key / string"
74 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
75 help
76 This option enables stopping (aborting) of the automatic
77 boot feature only by issuing a specific input key or
78 string. If CONFIG_AUTOBOOT_STOP_STR or the environment
79 variable "bootstopkey" is specified and this string is
80 received from console input before autoboot starts booting,
81 U-Boot gives a command prompt. The U-Boot prompt never
82 times out, even if CONFIG_BOOT_RETRY_TIME is used.
83
84 config AUTOBOOT_KEYED_CTRLC
85 bool "Enable Ctrl-C autoboot interruption"
86 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
87 default n
88 help
89 This option allows for the boot sequence to be interrupted
90 by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
91 Setting this variable provides an escape sequence from the
92 limited "password" strings.
93
94 config AUTOBOOT_STOP_STR_SHA256
95 string "Stop autobooting via SHA256 encrypted password"
96 depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
97 help
98 This option adds the feature to only stop the autobooting,
99 and therefore boot into the U-Boot prompt, when the input
100 string / password matches a values that is encypted via
101 a SHA256 hash and saved in the environment.
102
103 endmenu
104
105 comment "Commands"
106
107 menu "Info commands"
108
109 config CMD_BDI
110 bool "bdinfo"
111 default y
112 help
113 Print board info
114
115 config CMD_CONSOLE
116 bool "coninfo"
117 default y
118 help
119 Print console devices and information.
120
121 config CMD_CPU
122 bool "cpu"
123 help
124 Print information about available CPUs. This normally shows the
125 number of CPUs, type (e.g. manufacturer, architecture, product or
126 internal name) and clock frequency. Other information may be
127 available depending on the CPU driver.
128
129 config CMD_LICENSE
130 bool "license"
131 help
132 Print GPL license text
133
134 endmenu
135
136 menu "Boot commands"
137
138 config CMD_BOOTD
139 bool "bootd"
140 default y
141 help
142 Run the command stored in the environment "bootcmd", i.e.
143 "bootd" does the same thing as "run bootcmd".
144
145 config CMD_BOOTM
146 bool "bootm"
147 default y
148 help
149 Boot an application image from the memory.
150
151 config CMD_GO
152 bool "go"
153 default y
154 help
155 Start an application at a given address.
156
157 config CMD_RUN
158 bool "run"
159 default y
160 help
161 Run the command in the given environment variable.
162
163 config CMD_IMI
164 bool "iminfo"
165 default y
166 help
167 Print header information for application image.
168
169 config CMD_IMLS
170 bool "imls"
171 default y
172 help
173 List all images found in flash
174
175 config CMD_XIMG
176 bool "imxtract"
177 default y
178 help
179 Extract a part of a multi-image.
180
181 endmenu
182
183 menu "Environment commands"
184
185 config CMD_EXPORTENV
186 bool "env export"
187 default y
188 help
189 Export environments.
190
191 config CMD_IMPORTENV
192 bool "env import"
193 default y
194 help
195 Import environments.
196
197 config CMD_EDITENV
198 bool "editenv"
199 default y
200 help
201 Edit environment variable.
202
203 config CMD_SAVEENV
204 bool "saveenv"
205 default y
206 help
207 Save all environment variables into the compiled-in persistent
208 storage.
209
210 config CMD_ENV_EXISTS
211 bool "env exists"
212 default y
213 help
214 Check if a variable is defined in the environment for use in
215 shell scripting.
216
217 endmenu
218
219 menu "Memory commands"
220
221 config CMD_MEMORY
222 bool "md, mm, nm, mw, cp, cmp, base, loop"
223 default y
224 help
225 Memeory commands.
226 md - memory display
227 mm - memory modify (auto-incrementing address)
228 nm - memory modify (constant address)
229 mw - memory write (fill)
230 cp - memory copy
231 cmp - memory compare
232 base - print or set address offset
233 loop - initinite loop on address range
234
235 config CMD_CRC32
236 bool "crc32"
237 default y
238 help
239 Compute CRC32.
240
241 config LOOPW
242 bool "loopw"
243 help
244 Infinite write loop on address range
245
246 config CMD_MEMTEST
247 bool "memtest"
248 help
249 Simple RAM read/write test.
250
251 config CMD_MX_CYCLIC
252 bool "mdc, mwc"
253 help
254 mdc - memory display cyclic
255 mwc - memory write cyclic
256
257 config CMD_MEMINFO
258 bool "meminfo"
259 help
260 Display memory information.
261
262 endmenu
263
264 menu "Device access commands"
265
266 config CMD_DM
267 bool "dm - Access to driver model information"
268 depends on DM
269 default y
270 help
271 Provides access to driver model data structures and information,
272 such as a list of devices, list of uclasses and the state of each
273 device (e.g. activated). This is not required for operation, but
274 can be useful to see the state of driver model for debugging or
275 interest.
276
277 config CMD_DEMO
278 bool "demo - Demonstration commands for driver model"
279 depends on DM
280 help
281 Provides a 'demo' command which can be used to play around with
282 driver model. To use this properly you will need to enable one or
283 both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
284 Otherwise you will always get an empty list of devices. The demo
285 devices are defined in the sandbox device tree, so the easiest
286 option is to use sandbox and pass the -d point to sandbox's
287 u-boot.dtb file.
288
289 config CMD_LOADB
290 bool "loadb"
291 default y
292 help
293 Load a binary file over serial line.
294
295 config CMD_LOADS
296 bool "loads"
297 default y
298 help
299 Load an S-Record file over serial line
300
301 config CMD_FLASH
302 bool "flinfo, erase, protect"
303 default y
304 help
305 NOR flash support.
306 flinfo - print FLASH memory information
307 erase - FLASH memory
308 protect - enable or disable FLASH write protection
309
310 config CMD_ARMFLASH
311 depends on FLASH_CFI_DRIVER
312 bool "armflash"
313 help
314 ARM Ltd reference designs flash partition access
315
316 config CMD_NAND
317 bool "nand"
318 help
319 NAND support.
320
321 config CMD_SF
322 bool "sf"
323 help
324 SPI Flash support
325
326 config CMD_SPI
327 bool "sspi"
328 help
329 SPI utility command.
330
331 config CMD_I2C
332 bool "i2c"
333 help
334 I2C support.
335
336 config CMD_USB
337 bool "usb"
338 help
339 USB support.
340
341 config CMD_FPGA
342 bool "fpga"
343 default y
344 help
345 FPGA support.
346
347 endmenu
348
349
350 menu "Shell scripting commands"
351
352 config CMD_ECHO
353 bool "echo"
354 default y
355 help
356 Echo args to console
357
358 config CMD_ITEST
359 bool "itest"
360 default y
361 help
362 Return true/false on integer compare.
363
364 config CMD_SOURCE
365 bool "source"
366 default y
367 help
368 Run script from memory
369
370 config CMD_SETEXPR
371 bool "setexpr"
372 default y
373 help
374 Evaluate boolean and math expressions and store the result in an env
375 variable.
376 Also supports loading the value at a memory location into a variable.
377 If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
378
379 endmenu
380
381 menu "Network commands"
382
383 config CMD_NET
384 bool "bootp, tftpboot"
385 select NET
386 default y
387 help
388 Network commands.
389 bootp - boot image via network using BOOTP/TFTP protocol
390 tftpboot - boot image via network using TFTP protocol
391
392 config CMD_TFTPPUT
393 bool "tftp put"
394 help
395 TFTP put command, for uploading files to a server
396
397 config CMD_TFTPSRV
398 bool "tftpsrv"
399 help
400 Act as a TFTP server and boot the first received file
401
402 config CMD_RARP
403 bool "rarpboot"
404 help
405 Boot image via network using RARP/TFTP protocol
406
407 config CMD_DHCP
408 bool "dhcp"
409 help
410 Boot image via network using DHCP/TFTP protocol
411
412 config CMD_NFS
413 bool "nfs"
414 default y
415 help
416 Boot image via network using NFS protocol.
417
418 config CMD_PING
419 bool "ping"
420 help
421 Send ICMP ECHO_REQUEST to network host
422
423 config CMD_CDP
424 bool "cdp"
425 help
426 Perform CDP network configuration
427
428 config CMD_SNTP
429 bool "sntp"
430 help
431 Synchronize RTC via network
432
433 config CMD_DNS
434 bool "dns"
435 help
436 Lookup the IP of a hostname
437
438 config CMD_LINK_LOCAL
439 bool "linklocal"
440 help
441 Acquire a network IP address using the link-local protocol
442
443 endmenu
444
445 menu "Misc commands"
446
447 config CMD_TIME
448 bool "time"
449 help
450 Run commands and summarize execution time.
451
452 # TODO: rename to CMD_SLEEP
453 config CMD_MISC
454 bool "sleep"
455 default y
456 help
457 Delay execution for some time
458
459 config CMD_TIMER
460 bool "timer"
461 help
462 Access the system timer.
463
464 config CMD_SETGETDCR
465 bool "getdcr, setdcr, getidcr, setidcr"
466 depends on 4xx
467 default y
468 help
469 getdcr - Get an AMCC PPC 4xx DCR's value
470 setdcr - Set an AMCC PPC 4xx DCR's value
471 getidcr - Get a register value via indirect DCR addressing
472 setidcr - Set a register value via indirect DCR addressing
473
474 config CMD_SOUND
475 bool "sound"
476 depends on SOUND
477 help
478 This provides basic access to the U-Boot's sound support. The main
479 feature is to play a beep.
480
481 sound init - set up sound system
482 sound play - play a sound
483
484 endmenu
485
486 menu "Boot timing"
487
488 config BOOTSTAGE
489 bool "Boot timing and reporting"
490 help
491 Enable recording of boot time while booting. To use it, insert
492 calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
493 bootstage.h. Only a single entry is recorded for each ID. You can
494 give the entry a name with bootstage_mark_name(). You can also
495 record elapsed time in a particular stage using bootstage_start()
496 before starting and bootstage_accum() when finished. Bootstage will
497 add up all the accumated time and report it.
498
499 Normally, IDs are defined in bootstage.h but a small number of
500 additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
501 as the ID.
502
503 Calls to show_boot_progress() wil also result in log entries but
504 these will not have names.
505
506 config BOOTSTAGE_REPORT
507 bool "Display a detailed boot timing report before booting the OS"
508 depends on BOOTSTAGE
509 help
510 Enable output of a boot time report just before the OS is booted.
511 This shows how long it took U-Boot to go through each stage of the
512 boot process. The report looks something like this:
513
514 Timer summary in microseconds:
515 Mark Elapsed Stage
516 0 0 reset
517 3,575,678 3,575,678 board_init_f start
518 3,575,695 17 arch_cpu_init A9
519 3,575,777 82 arch_cpu_init done
520 3,659,598 83,821 board_init_r start
521 3,910,375 250,777 main_loop
522 29,916,167 26,005,792 bootm_start
523 30,361,327 445,160 start_kernel
524
525 config BOOTSTAGE_USER_COUNT
526 hex "Number of boot ID numbers available for user use"
527 default 20
528 help
529 This is the number of available user bootstage records.
530 Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
531 a new ID will be allocated from this stash. If you exceed
532 the limit, recording will stop.
533
534 config CMD_BOOTSTAGE
535 bool "Enable the 'bootstage' command"
536 depends on BOOTSTAGE
537 help
538 Add a 'bootstage' command which supports printing a report
539 and un/stashing of bootstage data.
540
541 config BOOTSTAGE_FDT
542 bool "Store boot timing information in the OS device tree"
543 depends on BOOTSTAGE
544 help
545 Stash the bootstage information in the FDT. A root 'bootstage'
546 node is created with each bootstage id as a child. Each child
547 has a 'name' property and either 'mark' containing the
548 mark time in microsecond, or 'accum' containing the
549 accumulated time for that bootstage id in microseconds.
550 For example:
551
552 bootstage {
553 154 {
554 name = "board_init_f";
555 mark = <3575678>;
556 };
557 170 {
558 name = "lcd";
559 accum = <33482>;
560 };
561 };
562
563 Code in the Linux kernel can find this in /proc/devicetree.
564
565 config BOOTSTAGE_STASH
566 bool "Stash the boot timing information in memory before booting OS"
567 depends on BOOTSTAGE
568 help
569 Some OSes do not support device tree. Bootstage can instead write
570 the boot timing information in a binary format at a given address.
571 This happens through a call to bootstage_stash(), typically in
572 the CPU's cleanup_before_linux() function. You can use the
573 'bootstage stash' and 'bootstage unstash' commands to do this on
574 the command line.
575
576 config BOOTSTAGE_STASH_ADDR
577 hex "Address to stash boot timing information"
578 default 0
579 help
580 Provide an address which will not be overwritten by the OS when it
581 starts, so that it can read this information when ready.
582
583 config BOOTSTAGE_STASH_SIZE
584 hex "Size of boot timing stash region"
585 default 4096
586 help
587 This should be large enough to hold the bootstage stash. A value of
588 4096 (4KiB) is normally plenty.
589
590 endmenu
591
592 menu "Power commands"
593 config CMD_PMIC
594 bool "Enable Driver Model PMIC command"
595 depends on DM_PMIC
596 help
597 This is the pmic command, based on a driver model pmic's API.
598 Command features are unchanged:
599 - list - list pmic devices
600 - pmic dev <id> - show or [set] operating pmic device (NEW)
601 - pmic dump - dump registers
602 - pmic read address - read byte of register at address
603 - pmic write address - write byte to register at address
604 The only one change for this command is 'dev' subcommand.
605
606 config CMD_REGULATOR
607 bool "Enable Driver Model REGULATOR command"
608 depends on DM_REGULATOR
609 help
610 This command is based on driver model regulator's API.
611 User interface features:
612 - list - list regulator devices
613 - regulator dev <id> - show or [set] operating regulator device
614 - regulator info - print constraints info
615 - regulator status - print operating status
616 - regulator value <val] <-f> - print/[set] voltage value [uV]
617 - regulator current <val> - print/[set] current value [uA]
618 - regulator mode <id> - print/[set] operating mode id
619 - regulator enable - enable the regulator output
620 - regulator disable - disable the regulator output
621
622 The '-f' (force) option can be used for set the value which exceeds
623 the limits, which are found in device-tree and are kept in regulator's
624 uclass platdata structure.
625
626 endmenu
627
628 menu "Security commands"
629 config CMD_TPM
630 bool "Enable the 'tpm' command"
631 depends on TPM
632 help
633 This provides a means to talk to a TPM from the command line. A wide
634 range of commands if provided - see 'tpm help' for details. The
635 command requires a suitable TPM on your board and the correct driver
636 must be enabled.
637
638 config CMD_TPM_TEST
639 bool "Enable the 'tpm test' command"
640 depends on CMD_TPM
641 help
642 This provides a a series of tests to confirm that the TPM is working
643 correctly. The tests cover initialisation, non-volatile RAM, extend,
644 global lock and checking that timing is within expectations. The
645 tests pass correctly on Infineon TPMs but may need to be adjusted
646 for other devices.
647
648 endmenu
649
650 endmenu