Move setexpr to Kconfig
[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 config CMD_SETEXPR
256         bool "setexpr"
257         help
258           Evaluate boolean and math expressions and store the result in an env
259             variable.
260           Also supports loading the value at a memory location into a variable.
261           If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
262
263 endmenu
264
265 menu "Network commands"
266
267 config CMD_NET
268         bool "bootp, tftpboot"
269         help
270           Network commands.
271           bootp - boot image via network using BOOTP/TFTP protocol
272           tftpboot - boot image via network using TFTP protocol
273
274 config CMD_TFTPPUT
275         bool "tftp put"
276         help
277           TFTP put command, for uploading files to a server
278
279 config CMD_TFTPSRV
280         bool "tftpsrv"
281         help
282           Act as a TFTP server and boot the first received file
283
284 config CMD_RARP
285         bool "rarpboot"
286         help
287           Boot image via network using RARP/TFTP protocol
288
289 config CMD_DHCP
290         bool "dhcp"
291         help
292           Boot image via network using DHCP/TFTP protocol
293
294 config CMD_NFS
295         bool "nfs"
296         help
297           Boot image via network using NFS protocol.
298
299 config CMD_PING
300         bool "ping"
301         help
302           Send ICMP ECHO_REQUEST to network host
303
304 config CMD_CDP
305         bool "cdp"
306         help
307           Perform CDP network configuration
308
309 config CMD_SNTP
310         bool "sntp"
311         help
312           Synchronize RTC via network
313
314 config CMD_DNS
315         bool "dns"
316         help
317           Lookup the IP of a hostname
318
319 config CMD_LINK_LOCAL
320         bool "linklocal"
321         help
322           Acquire a network IP address using the link-local protocol
323
324 endmenu
325
326 menu "Misc commands"
327
328 config CMD_TIME
329         bool "time"
330         help
331           Run commands and summarize execution time.
332
333 # TODO: rename to CMD_SLEEP
334 config CMD_MISC
335         bool "sleep"
336         help
337           Delay execution for some time
338
339 config CMD_TIMER
340         bool "timer"
341         help
342           Access the system timer.
343
344 config CMD_SETGETDCR
345         bool "getdcr, setdcr, getidcr, setidcr"
346         depends on 4xx
347         help
348           getdcr - Get an AMCC PPC 4xx DCR's value
349           setdcr - Set an AMCC PPC 4xx DCR's value
350           getidcr - Get a register value via indirect DCR addressing
351           setidcr - Set a register value via indirect DCR addressing
352
353 config CMD_SOUND
354         bool "sound"
355         depends on SOUND
356         help
357           This provides basic access to the U-Boot's sound support. The main
358           feature is to play a beep.
359
360              sound init   - set up sound system
361              sound play   - play a sound
362
363 endmenu
364
365 menu "Boot timing"
366
367 config BOOTSTAGE
368         bool "Boot timing and reporting"
369         help
370           Enable recording of boot time while booting. To use it, insert
371           calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
372           bootstage.h. Only a single entry is recorded for each ID. You can
373           give the entry a name with bootstage_mark_name(). You can also
374           record elapsed time in a particular stage using bootstage_start()
375           before starting and bootstage_accum() when finished. Bootstage will
376           add up all the accumated time and report it.
377
378           Normally, IDs are defined in bootstage.h but a small number of
379           additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
380           as the ID.
381
382           Calls to show_boot_progress() wil also result in log entries but
383           these will not have names.
384
385 config BOOTSTAGE_REPORT
386         bool "Display a detailed boot timing report before booting the OS"
387         depends on BOOTSTAGE
388         help
389           Enable output of a boot time report just before the OS is booted.
390           This shows how long it took U-Boot to go through each stage of the
391           boot process. The report looks something like this:
392
393                 Timer summary in microseconds:
394                        Mark    Elapsed  Stage
395                           0          0  reset
396                   3,575,678  3,575,678  board_init_f start
397                   3,575,695         17  arch_cpu_init A9
398                   3,575,777         82  arch_cpu_init done
399                   3,659,598     83,821  board_init_r start
400                   3,910,375    250,777  main_loop
401                  29,916,167 26,005,792  bootm_start
402                  30,361,327    445,160  start_kernel
403
404 config BOOTSTAGE_USER_COUNT
405         hex "Number of boot ID numbers available for user use"
406         default 20
407         help
408           This is the number of available user bootstage records.
409           Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
410           a new ID will be allocated from this stash. If you exceed
411           the limit, recording will stop.
412
413 config CMD_BOOTSTAGE
414         bool "Enable the 'bootstage' command"
415         depends on BOOTSTAGE
416         help
417           Add a 'bootstage' command which supports printing a report
418           and un/stashing of bootstage data.
419
420 config BOOTSTAGE_FDT
421         bool "Store boot timing information in the OS device tree"
422         depends on BOOTSTAGE
423         help
424           Stash the bootstage information in the FDT. A root 'bootstage'
425           node is created with each bootstage id as a child. Each child
426           has a 'name' property and either 'mark' containing the
427           mark time in microsecond, or 'accum' containing the
428           accumulated time for that bootstage id in microseconds.
429           For example:
430
431                 bootstage {
432                         154 {
433                                 name = "board_init_f";
434                                 mark = <3575678>;
435                         };
436                         170 {
437                                 name = "lcd";
438                                 accum = <33482>;
439                         };
440                 };
441
442           Code in the Linux kernel can find this in /proc/devicetree.
443
444 config BOOTSTAGE_STASH
445         bool "Stash the boot timing information in memory before booting OS"
446         depends on BOOTSTAGE
447         help
448           Some OSes do not support device tree. Bootstage can instead write
449           the boot timing information in a binary format at a given address.
450           This happens through a call to bootstage_stash(), typically in
451           the CPU's cleanup_before_linux() function. You can use the
452           'bootstage stash' and 'bootstage unstash' commands to do this on
453           the command line.
454
455 config BOOTSTAGE_STASH_ADDR
456         hex "Address to stash boot timing information"
457         default 0
458         help
459           Provide an address which will not be overwritten by the OS when it
460           starts, so that it can read this information when ready.
461
462 config BOOTSTAGE_STASH_SIZE
463         hex "Size of boot timing stash region"
464         default 4096
465         help
466           This should be large enough to hold the bootstage stash. A value of
467           4096 (4KiB) is normally plenty.
468
469 endmenu
470
471 menu "Power commands"
472 config CMD_PMIC
473         bool "Enable Driver Model PMIC command"
474         depends on DM_PMIC
475         help
476           This is the pmic command, based on a driver model pmic's API.
477           Command features are unchanged:
478           - list               - list pmic devices
479           - pmic dev <id>      - show or [set] operating pmic device (NEW)
480           - pmic dump          - dump registers
481           - pmic read address  - read byte of register at address
482           - pmic write address - write byte to register at address
483           The only one change for this command is 'dev' subcommand.
484
485 config CMD_REGULATOR
486         bool "Enable Driver Model REGULATOR command"
487         depends on DM_REGULATOR
488         help
489           This command is based on driver model regulator's API.
490           User interface features:
491           - list               - list regulator devices
492           - regulator dev <id> - show or [set] operating regulator device
493           - regulator info     - print constraints info
494           - regulator status   - print operating status
495           - regulator value <val] <-f> - print/[set] voltage value [uV]
496           - regulator current <val>    - print/[set] current value [uA]
497           - regulator mode <id>        - print/[set] operating mode id
498           - regulator enable           - enable the regulator output
499           - regulator disable          - disable the regulator output
500
501           The '-f' (force) option can be used for set the value which exceeds
502           the limits, which are found in device-tree and are kept in regulator's
503           uclass platdata structure.
504
505 endmenu
506
507 endmenu