xref: /rk3399_rockchip-uboot/common/Kconfig (revision c9bb942e2f91d9f8e5f25ed1961eba2d64f65b8d)
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
194config CMD_ENV_EXISTS
195	bool "env exists"
196	help
197	  Check if a variable is defined in the environment for use in
198	  shell scripting.
199
200endmenu
201
202menu "Memory commands"
203
204config CMD_MEMORY
205	bool "md, mm, nm, mw, cp, cmp, base, loop"
206	help
207	  Memeory commands.
208	    md - memory display
209	    mm - memory modify (auto-incrementing address)
210	    nm - memory modify (constant address)
211	    mw - memory write (fill)
212	    cp - memory copy
213	    cmp - memory compare
214	    base - print or set address offset
215	    loop - initinite loop on address range
216
217config CMD_CRC32
218	bool "crc32"
219	default y
220	help
221	  Compute CRC32.
222
223config LOOPW
224	bool "loopw"
225	help
226	  Infinite write loop on address range
227
228config CMD_MEMTEST
229	bool "memtest"
230	help
231	  Simple RAM read/write test.
232
233config CMD_MX_CYCLIC
234	bool "mdc, mwc"
235	help
236	  mdc - memory display cyclic
237	  mwc - memory write cyclic
238
239config CMD_MEMINFO
240	bool "meminfo"
241	help
242	  Display memory information.
243
244endmenu
245
246menu "Device access commands"
247
248config CMD_DM
249	bool "dm - Access to driver model information"
250	depends on DM
251	default y
252	help
253	  Provides access to driver model data structures and information,
254	  such as a list of devices, list of uclasses and the state of each
255	  device (e.g. activated). This is not required for operation, but
256	  can be useful to see the state of driver model for debugging or
257	  interest.
258
259config CMD_DEMO
260	bool "demo - Demonstration commands for driver model"
261	depends on DM
262	help
263	  Provides a 'demo' command which can be used to play around with
264	  driver model. To use this properly you will need to enable one or
265	  both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
266	  Otherwise you will always get an empty list of devices. The demo
267	  devices are defined in the sandbox device tree, so the easiest
268	  option is to use sandbox and pass the -d point to sandbox's
269	  u-boot.dtb file.
270
271config CMD_LOADB
272	bool "loadb"
273	help
274	  Load a binary file over serial line.
275
276config CMD_LOADS
277	bool "loads"
278	help
279	  Load an S-Record file over serial line
280
281config CMD_FLASH
282	bool "flinfo, erase, protect"
283	help
284	  NOR flash support.
285	    flinfo - print FLASH memory information
286	    erase - FLASH memory
287	    protect - enable or disable FLASH write protection
288
289config CMD_ARMFLASH
290	depends on FLASH_CFI_DRIVER
291	bool "armflash"
292	help
293	  ARM Ltd reference designs flash partition access
294
295config CMD_NAND
296	bool "nand"
297	help
298	  NAND support.
299
300config CMD_SPI
301	bool "sspi"
302	help
303	  SPI utility command.
304
305config CMD_I2C
306	bool "i2c"
307	help
308	  I2C support.
309
310config CMD_USB
311	bool "usb"
312	help
313	  USB support.
314
315config CMD_FPGA
316	bool "fpga"
317	help
318	  FPGA support.
319
320endmenu
321
322
323menu "Shell scripting commands"
324
325config CMD_ECHO
326	bool "echo"
327	help
328	  Echo args to console
329
330config CMD_ITEST
331	bool "itest"
332	help
333	  Return true/false on integer compare.
334
335config CMD_SOURCE
336	bool "source"
337	help
338	  Run script from memory
339
340config CMD_SETEXPR
341	bool "setexpr"
342	help
343	  Evaluate boolean and math expressions and store the result in an env
344	    variable.
345	  Also supports loading the value at a memory location into a variable.
346	  If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
347
348endmenu
349
350menu "Network commands"
351
352config CMD_NET
353	bool "bootp, tftpboot"
354        select NET
355	help
356	  Network commands.
357	  bootp - boot image via network using BOOTP/TFTP protocol
358	  tftpboot - boot image via network using TFTP protocol
359
360config CMD_TFTPPUT
361	bool "tftp put"
362	help
363	  TFTP put command, for uploading files to a server
364
365config CMD_TFTPSRV
366	bool "tftpsrv"
367	help
368	  Act as a TFTP server and boot the first received file
369
370config CMD_RARP
371	bool "rarpboot"
372	help
373	  Boot image via network using RARP/TFTP protocol
374
375config CMD_DHCP
376	bool "dhcp"
377	help
378	  Boot image via network using DHCP/TFTP protocol
379
380config CMD_NFS
381	bool "nfs"
382	help
383	  Boot image via network using NFS protocol.
384
385config CMD_PING
386	bool "ping"
387	help
388	  Send ICMP ECHO_REQUEST to network host
389
390config CMD_CDP
391	bool "cdp"
392	help
393	  Perform CDP network configuration
394
395config CMD_SNTP
396	bool "sntp"
397	help
398	  Synchronize RTC via network
399
400config CMD_DNS
401	bool "dns"
402	help
403	  Lookup the IP of a hostname
404
405config CMD_LINK_LOCAL
406	bool "linklocal"
407	help
408	  Acquire a network IP address using the link-local protocol
409
410endmenu
411
412menu "Misc commands"
413
414config CMD_TIME
415	bool "time"
416	help
417	  Run commands and summarize execution time.
418
419# TODO: rename to CMD_SLEEP
420config CMD_MISC
421	bool "sleep"
422	help
423	  Delay execution for some time
424
425config CMD_TIMER
426	bool "timer"
427	help
428	  Access the system timer.
429
430config CMD_SETGETDCR
431	bool "getdcr, setdcr, getidcr, setidcr"
432	depends on 4xx
433	help
434	  getdcr - Get an AMCC PPC 4xx DCR's value
435	  setdcr - Set an AMCC PPC 4xx DCR's value
436	  getidcr - Get a register value via indirect DCR addressing
437	  setidcr - Set a register value via indirect DCR addressing
438
439config CMD_SOUND
440	bool "sound"
441	depends on SOUND
442	help
443	  This provides basic access to the U-Boot's sound support. The main
444	  feature is to play a beep.
445
446	     sound init   - set up sound system
447	     sound play   - play a sound
448
449endmenu
450
451menu "Boot timing"
452
453config BOOTSTAGE
454	bool "Boot timing and reporting"
455	help
456	  Enable recording of boot time while booting. To use it, insert
457	  calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
458	  bootstage.h. Only a single entry is recorded for each ID. You can
459	  give the entry a name with bootstage_mark_name(). You can also
460	  record elapsed time in a particular stage using bootstage_start()
461	  before starting and bootstage_accum() when finished. Bootstage will
462	  add up all the accumated time and report it.
463
464	  Normally, IDs are defined in bootstage.h but a small number of
465	  additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
466	  as the ID.
467
468	  Calls to show_boot_progress() wil also result in log entries but
469	  these will not have names.
470
471config BOOTSTAGE_REPORT
472	bool "Display a detailed boot timing report before booting the OS"
473	depends on BOOTSTAGE
474	help
475	  Enable output of a boot time report just before the OS is booted.
476	  This shows how long it took U-Boot to go through each stage of the
477	  boot process. The report looks something like this:
478
479		Timer summary in microseconds:
480		       Mark    Elapsed  Stage
481			  0          0  reset
482		  3,575,678  3,575,678  board_init_f start
483		  3,575,695         17  arch_cpu_init A9
484		  3,575,777         82  arch_cpu_init done
485		  3,659,598     83,821  board_init_r start
486		  3,910,375    250,777  main_loop
487		 29,916,167 26,005,792  bootm_start
488		 30,361,327    445,160  start_kernel
489
490config BOOTSTAGE_USER_COUNT
491	hex "Number of boot ID numbers available for user use"
492	default 20
493	help
494	  This is the number of available user bootstage records.
495	  Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
496	  a new ID will be allocated from this stash. If you exceed
497	  the limit, recording will stop.
498
499config CMD_BOOTSTAGE
500	bool "Enable the 'bootstage' command"
501	depends on BOOTSTAGE
502	help
503	  Add a 'bootstage' command which supports printing a report
504	  and un/stashing of bootstage data.
505
506config BOOTSTAGE_FDT
507	bool "Store boot timing information in the OS device tree"
508	depends on BOOTSTAGE
509	help
510	  Stash the bootstage information in the FDT. A root 'bootstage'
511	  node is created with each bootstage id as a child. Each child
512	  has a 'name' property and either 'mark' containing the
513	  mark time in microsecond, or 'accum' containing the
514	  accumulated time for that bootstage id in microseconds.
515	  For example:
516
517		bootstage {
518			154 {
519				name = "board_init_f";
520				mark = <3575678>;
521			};
522			170 {
523				name = "lcd";
524				accum = <33482>;
525			};
526		};
527
528	  Code in the Linux kernel can find this in /proc/devicetree.
529
530config BOOTSTAGE_STASH
531	bool "Stash the boot timing information in memory before booting OS"
532	depends on BOOTSTAGE
533	help
534	  Some OSes do not support device tree. Bootstage can instead write
535	  the boot timing information in a binary format at a given address.
536	  This happens through a call to bootstage_stash(), typically in
537	  the CPU's cleanup_before_linux() function. You can use the
538	  'bootstage stash' and 'bootstage unstash' commands to do this on
539	  the command line.
540
541config BOOTSTAGE_STASH_ADDR
542	hex "Address to stash boot timing information"
543	default 0
544	help
545	  Provide an address which will not be overwritten by the OS when it
546	  starts, so that it can read this information when ready.
547
548config BOOTSTAGE_STASH_SIZE
549	hex "Size of boot timing stash region"
550	default 4096
551	help
552	  This should be large enough to hold the bootstage stash. A value of
553	  4096 (4KiB) is normally plenty.
554
555endmenu
556
557menu "Power commands"
558config CMD_PMIC
559	bool "Enable Driver Model PMIC command"
560	depends on DM_PMIC
561	help
562	  This is the pmic command, based on a driver model pmic's API.
563	  Command features are unchanged:
564	  - list               - list pmic devices
565	  - pmic dev <id>      - show or [set] operating pmic device (NEW)
566	  - pmic dump          - dump registers
567	  - pmic read address  - read byte of register at address
568	  - pmic write address - write byte to register at address
569	  The only one change for this command is 'dev' subcommand.
570
571config CMD_REGULATOR
572	bool "Enable Driver Model REGULATOR command"
573	depends on DM_REGULATOR
574	help
575	  This command is based on driver model regulator's API.
576	  User interface features:
577	  - list               - list regulator devices
578	  - regulator dev <id> - show or [set] operating regulator device
579	  - regulator info     - print constraints info
580	  - regulator status   - print operating status
581	  - regulator value <val] <-f> - print/[set] voltage value [uV]
582	  - regulator current <val>    - print/[set] current value [uA]
583	  - regulator mode <id>        - print/[set] operating mode id
584	  - regulator enable           - enable the regulator output
585	  - regulator disable          - disable the regulator output
586
587	  The '-f' (force) option can be used for set the value which exceeds
588	  the limits, which are found in device-tree and are kept in regulator's
589	  uclass platdata structure.
590
591endmenu
592
593endmenu
594