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