xref: /rk3399_rockchip-uboot/common/Kconfig (revision 9efaca3e847696ed40fca1dbbc621fcc35b8d94c)
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
20comment "Commands"
21
22menu "Info commands"
23
24config CMD_BDI
25	bool "bdinfo"
26	help
27	  Print board info
28
29config CMD_CONSOLE
30	bool "coninfo"
31	help
32	  Print console devices and information.
33
34config CMD_LICENSE
35	bool "license"
36	help
37	  Print GPL license text
38
39endmenu
40
41menu "Boot commands"
42
43config CMD_BOOTD
44	bool "bootd"
45	help
46	  Run the command stored in the environment "bootcmd", i.e.
47	  "bootd" does the same thing as "run bootcmd".
48
49config CMD_BOOTM
50	bool "bootm"
51	default y
52	help
53	  Boot an application image from the memory.
54
55config CMD_GO
56	bool "go"
57	default y
58	help
59	  Start an application at a given address.
60
61config CMD_RUN
62	bool "run"
63	help
64	  Run the command in the given environment variable.
65
66config CMD_IMI
67	bool "iminfo"
68	help
69	  Print header information for application image.
70
71config CMD_IMLS
72	bool "imls"
73	help
74	  List all images found in flash
75
76config CMD_XIMG
77	bool "imxtract"
78	help
79	  Extract a part of a multi-image.
80
81endmenu
82
83menu "Environment commands"
84
85config CMD_EXPORTENV
86	bool "env export"
87	default y
88	help
89	  Export environments.
90
91config CMD_IMPORTENV
92	bool "env import"
93	default y
94	help
95	  Import environments.
96
97config CMD_EDITENV
98	bool "editenv"
99	help
100	  Edit environment variable.
101
102config CMD_SAVEENV
103	bool "saveenv"
104	help
105	  Run the command in the given environment variable.
106
107endmenu
108
109menu "Memory commands"
110
111config CMD_MEMORY
112	bool "md, mm, nm, mw, cp, cmp, base, loop"
113	help
114	  Memeory commands.
115	    md - memory display
116	    mm - memory modify (auto-incrementing address)
117	    nm - memory modify (constant address)
118	    mw - memory write (fill)
119	    cp - memory copy
120	    cmp - memory compare
121	    base - print or set address offset
122	    loop - initinite loop on address range
123
124config CMD_CRC32
125	bool "crc32"
126	default y
127	help
128	  Compute CRC32.
129
130config LOOPW
131	bool "loopw"
132	help
133	  Infinite write loop on address range
134
135config CMD_MEMTEST
136	bool "memtest"
137	help
138	  Simple RAM read/write test.
139
140config CMD_MX_CYCLIC
141	bool "mdc, mwc"
142	help
143	  mdc - memory display cyclic
144	  mwc - memory write cyclic
145
146config CMD_MEMINFO
147	bool "meminfo"
148	help
149	  Display memory information.
150
151endmenu
152
153menu "Device access commands"
154
155config CMD_DM
156	bool "dm - Access to driver model information"
157	depends on DM
158	default y
159	help
160	  Provides access to driver model data structures and information,
161	  such as a list of devices, list of uclasses and the state of each
162	  device (e.g. activated). This is not required for operation, but
163	  can be useful to see the state of driver model for debugging or
164	  interest.
165
166config CMD_DEMO
167	bool "demo - Demonstration commands for driver model"
168	depends on DM
169	help
170	  Provides a 'demo' command which can be used to play around with
171	  driver model. To use this properly you will need to enable one or
172	  both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
173	  Otherwise you will always get an empty list of devices. The demo
174	  devices are defined in the sandbox device tree, so the easiest
175	  option is to use sandbox and pass the -d point to sandbox's
176	  u-boot.dtb file.
177
178config CMD_LOADB
179	bool "loadb"
180	help
181	  Load a binary file over serial line.
182
183config CMD_LOADS
184	bool "loads"
185	help
186	  Load an S-Record file over serial line
187
188config CMD_FLASH
189	bool "flinfo, erase, protect"
190	help
191	  NOR flash support.
192	    flinfo - print FLASH memory information
193	    erase - FLASH memory
194	    protect - enable or disable FLASH write protection
195
196config CMD_ARMFLASH
197	depends on FLASH_CFI_DRIVER
198	bool "armflash"
199	help
200	  ARM Ltd reference designs flash partition access
201
202config CMD_NAND
203	bool "nand"
204	help
205	  NAND support.
206
207config CMD_SPI
208	bool "sspi"
209	help
210	  SPI utility command.
211
212config CMD_I2C
213	bool "i2c"
214	help
215	  I2C support.
216
217config CMD_USB
218	bool "usb"
219	help
220	  USB support.
221
222config CMD_FPGA
223	bool "fpga"
224	help
225	  FPGA support.
226
227endmenu
228
229
230menu "Shell scripting commands"
231
232config CMD_ECHO
233	bool "echo"
234	help
235	  Echo args to console
236
237config CMD_ITEST
238	bool "itest"
239	help
240	  Return true/false on integer compare.
241
242config CMD_SOURCE
243	bool "source"
244	help
245	  Run script from memory
246
247endmenu
248
249menu "Network commands"
250
251config CMD_NET
252	bool "bootp, tftpboot"
253	help
254	  Network commands.
255	  bootp - boot image via network using BOOTP/TFTP protocol
256	  tftpboot - boot image via network using TFTP protocol
257
258config CMD_TFTPPUT
259	bool "tftp put"
260	help
261	  TFTP put command, for uploading files to a server
262
263config CMD_TFTPSRV
264	bool "tftpsrv"
265	help
266	  Act as a TFTP server and boot the first received file
267
268config CMD_RARP
269	bool "rarpboot"
270	help
271	  Boot image via network using RARP/TFTP protocol
272
273config CMD_DHCP
274	bool "dhcp"
275	help
276	  Boot image via network using DHCP/TFTP protocol
277
278config CMD_NFS
279	bool "nfs"
280	help
281	  Boot image via network using NFS protocol.
282
283config CMD_PING
284	bool "ping"
285	help
286	  Send ICMP ECHO_REQUEST to network host
287
288config CMD_CDP
289	bool "cdp"
290	help
291	  Perform CDP network configuration
292
293config CMD_SNTP
294	bool "sntp"
295	help
296	  Synchronize RTC via network
297
298config CMD_DNS
299	bool "dns"
300	help
301	  Lookup the IP of a hostname
302
303config CMD_DNS
304	bool "dns"
305	help
306	  Lookup the IP of a hostname
307
308config CMD_LINK_LOCAL
309	bool "linklocal"
310	help
311	  Acquire a network IP address using the link-local protocol
312
313endmenu
314
315menu "Misc commands"
316
317config CMD_TIME
318	bool "time"
319	help
320	  Run commands and summarize execution time.
321
322# TODO: rename to CMD_SLEEP
323config CMD_MISC
324	bool "sleep"
325	help
326	  Delay execution for some time
327
328config CMD_TIMER
329	bool "timer"
330	help
331	  Access the system timer.
332
333config CMD_SETGETDCR
334	bool "getdcr, setdcr, getidcr, setidcr"
335	depends on 4xx
336	help
337	  getdcr - Get an AMCC PPC 4xx DCR's value
338	  setdcr - Set an AMCC PPC 4xx DCR's value
339	  getidcr - Get a register value via indirect DCR addressing
340	  setidcr - Set a register value via indirect DCR addressing
341
342config CMD_SOUND
343	bool "sound"
344	depends on SOUND
345	help
346	  This provides basic access to the U-Boot's sound support. The main
347	  feature is to play a beep.
348
349	     sound init   - set up sound system
350	     sound play   - play a sound
351
352endmenu
353
354menu "Boot timing"
355
356config BOOTSTAGE
357	bool "Boot timing and reporting"
358	help
359	  Enable recording of boot time while booting. To use it, insert
360	  calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
361	  bootstage.h. Only a single entry is recorded for each ID. You can
362	  give the entry a name with bootstage_mark_name(). You can also
363	  record elapsed time in a particular stage using bootstage_start()
364	  before starting and bootstage_accum() when finished. Bootstage will
365	  add up all the accumated time and report it.
366
367	  Normally, IDs are defined in bootstage.h but a small number of
368	  additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
369	  as the ID.
370
371	  Calls to show_boot_progress() wil also result in log entries but
372	  these will not have names.
373
374config BOOTSTAGE_REPORT
375	bool "Display a detailed boot timing report before booting the OS"
376	depends on BOOTSTAGE
377	help
378	  Enable output of a boot time report just before the OS is booted.
379	  This shows how long it took U-Boot to go through each stage of the
380	  boot process. The report looks something like this:
381
382		Timer summary in microseconds:
383		       Mark    Elapsed  Stage
384			  0          0  reset
385		  3,575,678  3,575,678  board_init_f start
386		  3,575,695         17  arch_cpu_init A9
387		  3,575,777         82  arch_cpu_init done
388		  3,659,598     83,821  board_init_r start
389		  3,910,375    250,777  main_loop
390		 29,916,167 26,005,792  bootm_start
391		 30,361,327    445,160  start_kernel
392
393config BOOTSTAGE_USER_COUNT
394	hex "Number of boot ID numbers available for user use"
395	default 20
396	help
397	  This is the number of available user bootstage records.
398	  Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
399	  a new ID will be allocated from this stash. If you exceed
400	  the limit, recording will stop.
401
402config CMD_BOOTSTAGE
403	bool "Enable the 'bootstage' command"
404	depends on BOOTSTAGE
405	help
406	  Add a 'bootstage' command which supports printing a report
407	  and un/stashing of bootstage data.
408
409config BOOTSTAGE_FDT
410	bool "Store boot timing information in the OS device tree"
411	depends on BOOTSTAGE
412	help
413	  Stash the bootstage information in the FDT. A root 'bootstage'
414	  node is created with each bootstage id as a child. Each child
415	  has a 'name' property and either 'mark' containing the
416	  mark time in microsecond, or 'accum' containing the
417	  accumulated time for that bootstage id in microseconds.
418	  For example:
419
420		bootstage {
421			154 {
422				name = "board_init_f";
423				mark = <3575678>;
424			};
425			170 {
426				name = "lcd";
427				accum = <33482>;
428			};
429		};
430
431	  Code in the Linux kernel can find this in /proc/devicetree.
432
433config BOOTSTAGE_STASH
434	bool "Stash the boot timing information in memory before booting OS"
435	depends on BOOTSTAGE
436	help
437	  Some OSes do not support device tree. Bootstage can instead write
438	  the boot timing information in a binary format at a given address.
439	  This happens through a call to bootstage_stash(), typically in
440	  the CPU's cleanup_before_linux() function. You can use the
441	  'bootstage stash' and 'bootstage unstash' commands to do this on
442	  the command line.
443
444config BOOTSTAGE_STASH_ADDR
445	hex "Address to stash boot timing information"
446	default 0
447	help
448	  Provide an address which will not be overwritten by the OS when it
449	  starts, so that it can read this information when ready.
450
451config BOOTSTAGE_STASH_SIZE
452	hex "Size of boot timing stash region"
453	default 4096
454	help
455	  This should be large enough to hold the bootstage stash. A value of
456	  4096 (4KiB) is normally plenty.
457
458endmenu
459
460endmenu
461