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