Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[platform/kernel/u-boot.git] / common / Kconfig
1 menu "Command line interface"
2
3 config 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
15 config SYS_HUSH_PARSER
16         bool
17         help
18           Backward compatibility.
19
20 comment "Commands"
21
22 menu "Info commands"
23
24 config CMD_BDI
25         bool "bdinfo"
26         help
27           Print board info
28
29 config CMD_CONSOLE
30         bool "coninfo"
31         help
32           Print console devices and information.
33
34 config 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
42 config CMD_LICENSE
43         bool "license"
44         help
45           Print GPL license text
46
47 endmenu
48
49 menu "Boot commands"
50
51 config 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
57 config CMD_BOOTM
58         bool "bootm"
59         default y
60         help
61           Boot an application image from the memory.
62
63 config CMD_GO
64         bool "go"
65         default y
66         help
67           Start an application at a given address.
68
69 config CMD_RUN
70         bool "run"
71         help
72           Run the command in the given environment variable.
73
74 config CMD_IMI
75         bool "iminfo"
76         help
77           Print header information for application image.
78
79 config CMD_IMLS
80         bool "imls"
81         help
82           List all images found in flash
83
84 config CMD_XIMG
85         bool "imxtract"
86         help
87           Extract a part of a multi-image.
88
89 endmenu
90
91 menu "Environment commands"
92
93 config CMD_EXPORTENV
94         bool "env export"
95         default y
96         help
97           Export environments.
98
99 config CMD_IMPORTENV
100         bool "env import"
101         default y
102         help
103           Import environments.
104
105 config CMD_EDITENV
106         bool "editenv"
107         help
108           Edit environment variable.
109
110 config CMD_SAVEENV
111         bool "saveenv"
112         help
113           Run the command in the given environment variable.
114
115 endmenu
116
117 menu "Memory commands"
118
119 config 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
132 config CMD_CRC32
133         bool "crc32"
134         default y
135         help
136           Compute CRC32.
137
138 config LOOPW
139         bool "loopw"
140         help
141           Infinite write loop on address range
142
143 config CMD_MEMTEST
144         bool "memtest"
145         help
146           Simple RAM read/write test.
147
148 config CMD_MX_CYCLIC
149         bool "mdc, mwc"
150         help
151           mdc - memory display cyclic
152           mwc - memory write cyclic
153
154 config CMD_MEMINFO
155         bool "meminfo"
156         help
157           Display memory information.
158
159 endmenu
160
161 menu "Device access commands"
162
163 config 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
174 config 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
186 config CMD_LOADB
187         bool "loadb"
188         help
189           Load a binary file over serial line.
190
191 config CMD_LOADS
192         bool "loads"
193         help
194           Load an S-Record file over serial line
195
196 config 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
204 config CMD_ARMFLASH
205         depends on FLASH_CFI_DRIVER
206         bool "armflash"
207         help
208           ARM Ltd reference designs flash partition access
209
210 config CMD_NAND
211         bool "nand"
212         help
213           NAND support.
214
215 config CMD_SPI
216         bool "sspi"
217         help
218           SPI utility command.
219
220 config CMD_I2C
221         bool "i2c"
222         help
223           I2C support.
224
225 config CMD_USB
226         bool "usb"
227         help
228           USB support.
229
230 config CMD_FPGA
231         bool "fpga"
232         help
233           FPGA support.
234
235 endmenu
236
237
238 menu "Shell scripting commands"
239
240 config CMD_ECHO
241         bool "echo"
242         help
243           Echo args to console
244
245 config CMD_ITEST
246         bool "itest"
247         help
248           Return true/false on integer compare.
249
250 config CMD_SOURCE
251         bool "source"
252         help
253           Run script from memory
254
255 endmenu
256
257 menu "Network commands"
258
259 config 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
266 config CMD_TFTPPUT
267         bool "tftp put"
268         help
269           TFTP put command, for uploading files to a server
270
271 config CMD_TFTPSRV
272         bool "tftpsrv"
273         help
274           Act as a TFTP server and boot the first received file
275
276 config CMD_RARP
277         bool "rarpboot"
278         help
279           Boot image via network using RARP/TFTP protocol
280
281 config CMD_DHCP
282         bool "dhcp"
283         help
284           Boot image via network using DHCP/TFTP protocol
285
286 config CMD_NFS
287         bool "nfs"
288         help
289           Boot image via network using NFS protocol.
290
291 config CMD_PING
292         bool "ping"
293         help
294           Send ICMP ECHO_REQUEST to network host
295
296 config CMD_CDP
297         bool "cdp"
298         help
299           Perform CDP network configuration
300
301 config CMD_SNTP
302         bool "sntp"
303         help
304           Synchronize RTC via network
305
306 config CMD_DNS
307         bool "dns"
308         help
309           Lookup the IP of a hostname
310
311 config CMD_LINK_LOCAL
312         bool "linklocal"
313         help
314           Acquire a network IP address using the link-local protocol
315
316 endmenu
317
318 menu "Misc commands"
319
320 config CMD_TIME
321         bool "time"
322         help
323           Run commands and summarize execution time.
324
325 # TODO: rename to CMD_SLEEP
326 config CMD_MISC
327         bool "sleep"
328         help
329           Delay execution for some time
330
331 config CMD_TIMER
332         bool "timer"
333         help
334           Access the system timer.
335
336 config 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
345 config 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
355 endmenu
356
357 menu "Boot timing"
358
359 config 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
377 config 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
396 config 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
405 config 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
412 config 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
436 config 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
447 config 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
454 config 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
461 endmenu
462
463 endmenu