xref: /rk3399_rockchip-uboot/common/Kconfig (revision 7453cb595cc17898a8227777b410b3e34a689c37)
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
255config 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
263endmenu
264
265menu "Network commands"
266
267config 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
274config CMD_TFTPPUT
275	bool "tftp put"
276	help
277	  TFTP put command, for uploading files to a server
278
279config CMD_TFTPSRV
280	bool "tftpsrv"
281	help
282	  Act as a TFTP server and boot the first received file
283
284config CMD_RARP
285	bool "rarpboot"
286	help
287	  Boot image via network using RARP/TFTP protocol
288
289config CMD_DHCP
290	bool "dhcp"
291	help
292	  Boot image via network using DHCP/TFTP protocol
293
294config CMD_NFS
295	bool "nfs"
296	help
297	  Boot image via network using NFS protocol.
298
299config CMD_PING
300	bool "ping"
301	help
302	  Send ICMP ECHO_REQUEST to network host
303
304config CMD_CDP
305	bool "cdp"
306	help
307	  Perform CDP network configuration
308
309config CMD_SNTP
310	bool "sntp"
311	help
312	  Synchronize RTC via network
313
314config CMD_DNS
315	bool "dns"
316	help
317	  Lookup the IP of a hostname
318
319config CMD_LINK_LOCAL
320	bool "linklocal"
321	help
322	  Acquire a network IP address using the link-local protocol
323
324endmenu
325
326menu "Misc commands"
327
328config CMD_TIME
329	bool "time"
330	help
331	  Run commands and summarize execution time.
332
333# TODO: rename to CMD_SLEEP
334config CMD_MISC
335	bool "sleep"
336	help
337	  Delay execution for some time
338
339config CMD_TIMER
340	bool "timer"
341	help
342	  Access the system timer.
343
344config 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
353config 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
363endmenu
364
365menu "Boot timing"
366
367config 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
385config 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
404config 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
413config 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
420config 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
444config 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
455config 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
462config 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
469endmenu
470
471menu "Power commands"
472config 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
485config 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
505endmenu
506
507endmenu
508