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