xref: /openbmc/u-boot/common/Kconfig (revision 8cb78722)
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_LINK_LOCAL
304	bool "linklocal"
305	help
306	  Acquire a network IP address using the link-local protocol
307
308endmenu
309
310menu "Misc commands"
311
312config CMD_TIME
313	bool "time"
314	help
315	  Run commands and summarize execution time.
316
317# TODO: rename to CMD_SLEEP
318config CMD_MISC
319	bool "sleep"
320	help
321	  Delay execution for some time
322
323config CMD_TIMER
324	bool "timer"
325	help
326	  Access the system timer.
327
328config CMD_SETGETDCR
329	bool "getdcr, setdcr, getidcr, setidcr"
330	depends on 4xx
331	help
332	  getdcr - Get an AMCC PPC 4xx DCR's value
333	  setdcr - Set an AMCC PPC 4xx DCR's value
334	  getidcr - Get a register value via indirect DCR addressing
335	  setidcr - Set a register value via indirect DCR addressing
336
337config CMD_SOUND
338	bool "sound"
339	depends on SOUND
340	help
341	  This provides basic access to the U-Boot's sound support. The main
342	  feature is to play a beep.
343
344	     sound init   - set up sound system
345	     sound play   - play a sound
346
347endmenu
348
349menu "Boot timing"
350
351config BOOTSTAGE
352	bool "Boot timing and reporting"
353	help
354	  Enable recording of boot time while booting. To use it, insert
355	  calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
356	  bootstage.h. Only a single entry is recorded for each ID. You can
357	  give the entry a name with bootstage_mark_name(). You can also
358	  record elapsed time in a particular stage using bootstage_start()
359	  before starting and bootstage_accum() when finished. Bootstage will
360	  add up all the accumated time and report it.
361
362	  Normally, IDs are defined in bootstage.h but a small number of
363	  additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
364	  as the ID.
365
366	  Calls to show_boot_progress() wil also result in log entries but
367	  these will not have names.
368
369config BOOTSTAGE_REPORT
370	bool "Display a detailed boot timing report before booting the OS"
371	depends on BOOTSTAGE
372	help
373	  Enable output of a boot time report just before the OS is booted.
374	  This shows how long it took U-Boot to go through each stage of the
375	  boot process. The report looks something like this:
376
377		Timer summary in microseconds:
378		       Mark    Elapsed  Stage
379			  0          0  reset
380		  3,575,678  3,575,678  board_init_f start
381		  3,575,695         17  arch_cpu_init A9
382		  3,575,777         82  arch_cpu_init done
383		  3,659,598     83,821  board_init_r start
384		  3,910,375    250,777  main_loop
385		 29,916,167 26,005,792  bootm_start
386		 30,361,327    445,160  start_kernel
387
388config BOOTSTAGE_USER_COUNT
389	hex "Number of boot ID numbers available for user use"
390	default 20
391	help
392	  This is the number of available user bootstage records.
393	  Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
394	  a new ID will be allocated from this stash. If you exceed
395	  the limit, recording will stop.
396
397config CMD_BOOTSTAGE
398	bool "Enable the 'bootstage' command"
399	depends on BOOTSTAGE
400	help
401	  Add a 'bootstage' command which supports printing a report
402	  and un/stashing of bootstage data.
403
404config BOOTSTAGE_FDT
405	bool "Store boot timing information in the OS device tree"
406	depends on BOOTSTAGE
407	help
408	  Stash the bootstage information in the FDT. A root 'bootstage'
409	  node is created with each bootstage id as a child. Each child
410	  has a 'name' property and either 'mark' containing the
411	  mark time in microsecond, or 'accum' containing the
412	  accumulated time for that bootstage id in microseconds.
413	  For example:
414
415		bootstage {
416			154 {
417				name = "board_init_f";
418				mark = <3575678>;
419			};
420			170 {
421				name = "lcd";
422				accum = <33482>;
423			};
424		};
425
426	  Code in the Linux kernel can find this in /proc/devicetree.
427
428config BOOTSTAGE_STASH
429	bool "Stash the boot timing information in memory before booting OS"
430	depends on BOOTSTAGE
431	help
432	  Some OSes do not support device tree. Bootstage can instead write
433	  the boot timing information in a binary format at a given address.
434	  This happens through a call to bootstage_stash(), typically in
435	  the CPU's cleanup_before_linux() function. You can use the
436	  'bootstage stash' and 'bootstage unstash' commands to do this on
437	  the command line.
438
439config BOOTSTAGE_STASH_ADDR
440	hex "Address to stash boot timing information"
441	default 0
442	help
443	  Provide an address which will not be overwritten by the OS when it
444	  starts, so that it can read this information when ready.
445
446config BOOTSTAGE_STASH_SIZE
447	hex "Size of boot timing stash region"
448	default 4096
449	help
450	  This should be large enough to hold the bootstage stash. A value of
451	  4096 (4KiB) is normally plenty.
452
453endmenu
454
455endmenu
456