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