summaryrefslogtreecommitdiff
path: root/common/Kconfig
blob: bacc4e01cda3ffcc4f7b56fb765768f99b8ff5e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
menu "Command line interface"

config HUSH_PARSER
	bool "Use hush shell"
	select SYS_HUSH_PARSER
	help
	  This option enables the "hush" shell (from Busybox) as command line
	  interpreter, thus enabling powerful command line syntax like
	  if...then...else...fi conditionals or `&&' and '||'
	  constructs ("shell scripts").

	  If disabled, you get the old, much simpler behaviour with a somewhat
	  smaller memory footprint.

config SYS_HUSH_PARSER
	bool
	help
	  Backward compatibility.

config SYS_PROMPT
	string "Shell prompt"
	default "=> "
	help
	  This string is displayed in the command line to the left of the
	  cursor.

menu "Autoboot options"

config AUTOBOOT_KEYED
	bool "Stop autobooting via specific input key / string"
	default n
	help
	  This option enables stopping (aborting) of the automatic
	  boot feature only by issuing a specific input key or
	  string. If not enabled, any input key will abort the
	  U-Boot automatic booting process and bring the device
	  to the U-Boot prompt for user input.

config AUTOBOOT_PROMPT
	string "Autoboot stop prompt"
	depends on AUTOBOOT_KEYED
	default "Autoboot in %d seconds\\n"
	help
	  This string is displayed before the boot delay selected by
	  CONFIG_BOOTDELAY starts. If it is not defined	there is no
	  output indicating that autoboot is in progress.

	  Note that this define is used as the (only) argument to a
	  printf() call, so it may contain '%' format specifications,
	  provided that it also includes, sepearated by commas exactly
	  like in a printf statement, the required arguments. It is
	  the responsibility of the user to select only such arguments
	  that are valid in the given context.

config AUTOBOOT_ENCRYPTION
	bool "Enable encryption in autoboot stopping"
	depends on AUTOBOOT_KEYED
	default n

config AUTOBOOT_DELAY_STR
	string "Delay autobooting via specific input key / string"
	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
	help
	  This option delays the automatic boot feature by issuing
	  a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
	  or the environment variable "bootdelaykey" is specified
	  and this string is received from console input before
	  autoboot starts booting, U-Boot gives a command prompt. The
	  U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
	  used, otherwise it never times out.

config AUTOBOOT_STOP_STR
	string "Stop autobooting via specific input key / string"
	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
	help
	  This option enables stopping (aborting) of the automatic
	  boot feature only by issuing a specific input key or
	  string. If CONFIG_AUTOBOOT_STOP_STR or the environment
	  variable "bootstopkey" is specified and this string is
	  received from console input before autoboot starts booting,
	  U-Boot gives a command prompt. The U-Boot prompt never
	  times out, even if CONFIG_BOOT_RETRY_TIME is used.

config AUTOBOOT_KEYED_CTRLC
	bool "Enable Ctrl-C autoboot interruption"
	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
	default n
	help
	  This option allows for the boot sequence to be interrupted
	  by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
	  Setting this variable	provides an escape sequence from the
	  limited "password" strings.

config AUTOBOOT_STOP_STR_SHA256
	string "Stop autobooting via SHA256 encrypted password"
	depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
	help
	  This option adds the feature to only stop the autobooting,
	  and therefore boot into the U-Boot prompt, when the input
	  string / password matches a values that is encypted via
	  a SHA256 hash and saved in the environment.

endmenu

comment "Commands"

menu "Info commands"

config CMD_BDI
	bool "bdinfo"
	default y
	help
	  Print board info

config CMD_CONSOLE
	bool "coninfo"
	default y
	help
	  Print console devices and information.

config CMD_CPU
	bool "cpu"
	help
	  Print information about available CPUs. This normally shows the
	  number of CPUs, type (e.g. manufacturer, architecture, product or
	  internal name) and clock frequency. Other information may be
	  available depending on the CPU driver.

config CMD_LICENSE
	bool "license"
	help
	  Print GPL license text

endmenu

menu "Boot commands"

config CMD_BOOTD
	bool "bootd"
	default y
	help
	  Run the command stored in the environment "bootcmd", i.e.
	  "bootd" does the same thing as "run bootcmd".

config CMD_BOOTM
	bool "bootm"
	default y
	help
	  Boot an application image from the memory.

config CMD_GO
	bool "go"
	default y
	help
	  Start an application at a given address.

config CMD_RUN
	bool "run"
	default y
	help
	  Run the command in the given environment variable.

config CMD_IMI
	bool "iminfo"
	default y
	help
	  Print header information for application image.

config CMD_IMLS
	bool "imls"
	default y
	help
	  List all images found in flash

config CMD_XIMG
	bool "imxtract"
	default y
	help
	  Extract a part of a multi-image.

endmenu

menu "Environment commands"

config CMD_EXPORTENV
	bool "env export"
	default y
	help
	  Export environments.

config CMD_IMPORTENV
	bool "env import"
	default y
	help
	  Import environments.

config CMD_EDITENV
	bool "editenv"
	default y
	help
	  Edit environment variable.

config CMD_SAVEENV
	bool "saveenv"
	default y
	help
	  Save all environment variables into the compiled-in persistent
	  storage.

config CMD_ENV_EXISTS
	bool "env exists"
	default y
	help
	  Check if a variable is defined in the environment for use in
	  shell scripting.

endmenu

menu "Memory commands"

config CMD_MEMORY
	bool "md, mm, nm, mw, cp, cmp, base, loop"
	default y
	help
	  Memeory commands.
	    md - memory display
	    mm - memory modify (auto-incrementing address)
	    nm - memory modify (constant address)
	    mw - memory write (fill)
	    cp - memory copy
	    cmp - memory compare
	    base - print or set address offset
	    loop - initinite loop on address range

config CMD_CRC32
	bool "crc32"
	default y
	help
	  Compute CRC32.

config LOOPW
	bool "loopw"
	help
	  Infinite write loop on address range

config CMD_MEMTEST
	bool "memtest"
	help
	  Simple RAM read/write test.

config CMD_MX_CYCLIC
	bool "mdc, mwc"
	help
	  mdc - memory display cyclic
	  mwc - memory write cyclic

config CMD_MEMINFO
	bool "meminfo"
	help
	  Display memory information.

endmenu

menu "Device access commands"

config CMD_DM
	bool "dm - Access to driver model information"
	depends on DM
	default y
	help
	  Provides access to driver model data structures and information,
	  such as a list of devices, list of uclasses and the state of each
	  device (e.g. activated). This is not required for operation, but
	  can be useful to see the state of driver model for debugging or
	  interest.

config CMD_DEMO
	bool "demo - Demonstration commands for driver model"
	depends on DM
	help
	  Provides a 'demo' command which can be used to play around with
	  driver model. To use this properly you will need to enable one or
	  both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
	  Otherwise you will always get an empty list of devices. The demo
	  devices are defined in the sandbox device tree, so the easiest
	  option is to use sandbox and pass the -d point to sandbox's
	  u-boot.dtb file.

config CMD_LOADB
	bool "loadb"
	default y
	help
	  Load a binary file over serial line.

config CMD_LOADS
	bool "loads"
	default y
	help
	  Load an S-Record file over serial line

config CMD_FLASH
	bool "flinfo, erase, protect"
	default y
	help
	  NOR flash support.
	    flinfo - print FLASH memory information
	    erase - FLASH memory
	    protect - enable or disable FLASH write protection

config CMD_ARMFLASH
	depends on FLASH_CFI_DRIVER
	bool "armflash"
	help
	  ARM Ltd reference designs flash partition access

config CMD_NAND
	bool "nand"
	help
	  NAND support.

config CMD_SF
	bool "sf"
	help
	  SPI Flash support

config CMD_SPI
	bool "sspi"
	help
	  SPI utility command.

config CMD_I2C
	bool "i2c"
	help
	  I2C support.

config CMD_USB
	bool "usb"
	help
	  USB support.

config CMD_FPGA
	bool "fpga"
	default y
	help
	  FPGA support.

endmenu


menu "Shell scripting commands"

config CMD_ECHO
	bool "echo"
	default y
	help
	  Echo args to console

config CMD_ITEST
	bool "itest"
	default y
	help
	  Return true/false on integer compare.

config CMD_SOURCE
	bool "source"
	default y
	help
	  Run script from memory

config CMD_SETEXPR
	bool "setexpr"
	default y
	help
	  Evaluate boolean and math expressions and store the result in an env
	    variable.
	  Also supports loading the value at a memory location into a variable.
	  If CONFIG_REGEX is enabled, setexpr also supports a gsub function.

endmenu

menu "Network commands"

config CMD_NET
	bool "bootp, tftpboot"
        select NET
	default y
	help
	  Network commands.
	  bootp - boot image via network using BOOTP/TFTP protocol
	  tftpboot - boot image via network using TFTP protocol

config CMD_TFTPPUT
	bool "tftp put"
	help
	  TFTP put command, for uploading files to a server

config CMD_TFTPSRV
	bool "tftpsrv"
	help
	  Act as a TFTP server and boot the first received file

config CMD_RARP
	bool "rarpboot"
	help
	  Boot image via network using RARP/TFTP protocol

config CMD_DHCP
	bool "dhcp"
	help
	  Boot image via network using DHCP/TFTP protocol

config CMD_NFS
	bool "nfs"
	default y
	help
	  Boot image via network using NFS protocol.

config CMD_PING
	bool "ping"
	help
	  Send ICMP ECHO_REQUEST to network host

config CMD_CDP
	bool "cdp"
	help
	  Perform CDP network configuration

config CMD_SNTP
	bool "sntp"
	help
	  Synchronize RTC via network

config CMD_DNS
	bool "dns"
	help
	  Lookup the IP of a hostname

config CMD_LINK_LOCAL
	bool "linklocal"
	help
	  Acquire a network IP address using the link-local protocol

endmenu

menu "Misc commands"

config CMD_TIME
	bool "time"
	help
	  Run commands and summarize execution time.

# TODO: rename to CMD_SLEEP
config CMD_MISC
	bool "sleep"
	default y
	help
	  Delay execution for some time

config CMD_TIMER
	bool "timer"
	help
	  Access the system timer.

config CMD_SETGETDCR
	bool "getdcr, setdcr, getidcr, setidcr"
	depends on 4xx
	default y
	help
	  getdcr - Get an AMCC PPC 4xx DCR's value
	  setdcr - Set an AMCC PPC 4xx DCR's value
	  getidcr - Get a register value via indirect DCR addressing
	  setidcr - Set a register value via indirect DCR addressing

config CMD_SOUND
	bool "sound"
	depends on SOUND
	help
	  This provides basic access to the U-Boot's sound support. The main
	  feature is to play a beep.

	     sound init   - set up sound system
	     sound play   - play a sound

endmenu

menu "Boot timing"

config BOOTSTAGE
	bool "Boot timing and reporting"
	help
	  Enable recording of boot time while booting. To use it, insert
	  calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
	  bootstage.h. Only a single entry is recorded for each ID. You can
	  give the entry a name with bootstage_mark_name(). You can also
	  record elapsed time in a particular stage using bootstage_start()
	  before starting and bootstage_accum() when finished. Bootstage will
	  add up all the accumated time and report it.

	  Normally, IDs are defined in bootstage.h but a small number of
	  additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
	  as the ID.

	  Calls to show_boot_progress() wil also result in log entries but
	  these will not have names.

config BOOTSTAGE_REPORT
	bool "Display a detailed boot timing report before booting the OS"
	depends on BOOTSTAGE
	help
	  Enable output of a boot time report just before the OS is booted.
	  This shows how long it took U-Boot to go through each stage of the
	  boot process. The report looks something like this:

		Timer summary in microseconds:
		       Mark    Elapsed  Stage
			  0          0  reset
		  3,575,678  3,575,678  board_init_f start
		  3,575,695         17  arch_cpu_init A9
		  3,575,777         82  arch_cpu_init done
		  3,659,598     83,821  board_init_r start
		  3,910,375    250,777  main_loop
		 29,916,167 26,005,792  bootm_start
		 30,361,327    445,160  start_kernel

config BOOTSTAGE_USER_COUNT
	hex "Number of boot ID numbers available for user use"
	default 20
	help
	  This is the number of available user bootstage records.
	  Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
	  a new ID will be allocated from this stash. If you exceed
	  the limit, recording will stop.

config CMD_BOOTSTAGE
	bool "Enable the 'bootstage' command"
	depends on BOOTSTAGE
	help
	  Add a 'bootstage' command which supports printing a report
	  and un/stashing of bootstage data.

config BOOTSTAGE_FDT
	bool "Store boot timing information in the OS device tree"
	depends on BOOTSTAGE
	help
	  Stash the bootstage information in the FDT. A root 'bootstage'
	  node is created with each bootstage id as a child. Each child
	  has a 'name' property and either 'mark' containing the
	  mark time in microsecond, or 'accum' containing the
	  accumulated time for that bootstage id in microseconds.
	  For example:

		bootstage {
			154 {
				name = "board_init_f";
				mark = <3575678>;
			};
			170 {
				name = "lcd";
				accum = <33482>;
			};
		};

	  Code in the Linux kernel can find this in /proc/devicetree.

config BOOTSTAGE_STASH
	bool "Stash the boot timing information in memory before booting OS"
	depends on BOOTSTAGE
	help
	  Some OSes do not support device tree. Bootstage can instead write
	  the boot timing information in a binary format at a given address.
	  This happens through a call to bootstage_stash(), typically in
	  the CPU's cleanup_before_linux() function. You can use the
	  'bootstage stash' and 'bootstage unstash' commands to do this on
	  the command line.

config BOOTSTAGE_STASH_ADDR
	hex "Address to stash boot timing information"
	default 0
	help
	  Provide an address which will not be overwritten by the OS when it
	  starts, so that it can read this information when ready.

config BOOTSTAGE_STASH_SIZE
	hex "Size of boot timing stash region"
	default 4096
	help
	  This should be large enough to hold the bootstage stash. A value of
	  4096 (4KiB) is normally plenty.

endmenu

menu "Power commands"
config CMD_PMIC
	bool "Enable Driver Model PMIC command"
	depends on DM_PMIC
	help
	  This is the pmic command, based on a driver model pmic's API.
	  Command features are unchanged:
	  - list               - list pmic devices
	  - pmic dev <id>      - show or [set] operating pmic device (NEW)
	  - pmic dump          - dump registers
	  - pmic read address  - read byte of register at address
	  - pmic write address - write byte to register at address
	  The only one change for this command is 'dev' subcommand.

config CMD_REGULATOR
	bool "Enable Driver Model REGULATOR command"
	depends on DM_REGULATOR
	help
	  This command is based on driver model regulator's API.
	  User interface features:
	  - list               - list regulator devices
	  - regulator dev <id> - show or [set] operating regulator device
	  - regulator info     - print constraints info
	  - regulator status   - print operating status
	  - regulator value <val] <-f> - print/[set] voltage value [uV]
	  - regulator current <val>    - print/[set] current value [uA]
	  - regulator mode <id>        - print/[set] operating mode id
	  - regulator enable           - enable the regulator output
	  - regulator disable          - disable the regulator output

	  The '-f' (force) option can be used for set the value which exceeds
	  the limits, which are found in device-tree and are kept in regulator's
	  uclass platdata structure.

endmenu

menu "Security commands"
config CMD_TPM
	bool "Enable the 'tpm' command"
	depends on TPM
	help
	  This provides a means to talk to a TPM from the command line. A wide
	  range of commands if provided - see 'tpm help' for details. The
	  command requires a suitable TPM on your board and the correct driver
	  must be enabled.

endmenu

endmenu