Commit 2f4da7efe84fbf60cc8e372077d9509cba341553

Authored by Aymen Sghaier
Committed by Ye Li
1 parent e32039db95

MLK-18044-3: crypto: Add blob command support for i.MX8M platforms

This patch enable blob command for mScale platforms.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
(cherry picked from commit 895669394f6aae633abf6ea3f327d6093562edde)
(cherry picked from commit bac8ed98778c93ef43ce9093efa3b9999d650576)
(cherry picked from commit 2542f195b484dcd09bbf72406c7951bee06b52a5)

Showing 2 changed files with 4 additions and 4 deletions Inline Diff

1 menu "Command line interface" 1 menu "Command line interface"
2 2
3 config CMDLINE 3 config CMDLINE
4 bool "Support U-Boot commands" 4 bool "Support U-Boot commands"
5 default y 5 default y
6 help 6 help
7 Enable U-Boot's command-line functions. This provides a means 7 Enable U-Boot's command-line functions. This provides a means
8 to enter commands into U-Boot for a wide variety of purposes. It 8 to enter commands into U-Boot for a wide variety of purposes. It
9 also allows scripts (containing commands) to be executed. 9 also allows scripts (containing commands) to be executed.
10 Various commands and command categorys can be indivdually enabled. 10 Various commands and command categorys can be indivdually enabled.
11 Depending on the number of commands enabled, this can add 11 Depending on the number of commands enabled, this can add
12 substantially to the size of U-Boot. 12 substantially to the size of U-Boot.
13 13
14 config HUSH_PARSER 14 config HUSH_PARSER
15 bool "Use hush shell" 15 bool "Use hush shell"
16 depends on CMDLINE 16 depends on CMDLINE
17 help 17 help
18 This option enables the "hush" shell (from Busybox) as command line 18 This option enables the "hush" shell (from Busybox) as command line
19 interpreter, thus enabling powerful command line syntax like 19 interpreter, thus enabling powerful command line syntax like
20 if...then...else...fi conditionals or `&&' and '||' 20 if...then...else...fi conditionals or `&&' and '||'
21 constructs ("shell scripts"). 21 constructs ("shell scripts").
22 22
23 If disabled, you get the old, much simpler behaviour with a somewhat 23 If disabled, you get the old, much simpler behaviour with a somewhat
24 smaller memory footprint. 24 smaller memory footprint.
25 25
26 config CMDLINE_EDITING 26 config CMDLINE_EDITING
27 bool "Enable command line editing" 27 bool "Enable command line editing"
28 depends on CMDLINE 28 depends on CMDLINE
29 default y 29 default y
30 help 30 help
31 Enable editing and History functions for interactive command line 31 Enable editing and History functions for interactive command line
32 input operations 32 input operations
33 33
34 config AUTO_COMPLETE 34 config AUTO_COMPLETE
35 bool "Enable auto complete using TAB" 35 bool "Enable auto complete using TAB"
36 depends on CMDLINE 36 depends on CMDLINE
37 default y 37 default y
38 help 38 help
39 Enable auto completion of commands using TAB. 39 Enable auto completion of commands using TAB.
40 40
41 config SYS_LONGHELP 41 config SYS_LONGHELP
42 bool "Enable long help messages" 42 bool "Enable long help messages"
43 depends on CMDLINE 43 depends on CMDLINE
44 default y if CMDLINE 44 default y if CMDLINE
45 help 45 help
46 Defined when you want long help messages included 46 Defined when you want long help messages included
47 Do not set this option when short of memory. 47 Do not set this option when short of memory.
48 48
49 config SYS_PROMPT 49 config SYS_PROMPT
50 string "Shell prompt" 50 string "Shell prompt"
51 default "Zynq> " if ARCH_ZYNQ 51 default "Zynq> " if ARCH_ZYNQ
52 default "ZynqMP> " if ARCH_ZYNQMP 52 default "ZynqMP> " if ARCH_ZYNQMP
53 default "=> " 53 default "=> "
54 help 54 help
55 This string is displayed in the command line to the left of the 55 This string is displayed in the command line to the left of the
56 cursor. 56 cursor.
57 57
58 config SYS_XTRACE 58 config SYS_XTRACE
59 string "Command execution tracer" 59 string "Command execution tracer"
60 depends on CMDLINE 60 depends on CMDLINE
61 default y if CMDLINE 61 default y if CMDLINE
62 help 62 help
63 This option enables the possiblity to print all commands before 63 This option enables the possiblity to print all commands before
64 executing them and after all variables are evaluated (similar 64 executing them and after all variables are evaluated (similar
65 to Bash's xtrace/'set -x' feature). 65 to Bash's xtrace/'set -x' feature).
66 To enable the tracer a variable "xtrace" needs to be defined in 66 To enable the tracer a variable "xtrace" needs to be defined in
67 the environment. 67 the environment.
68 68
69 menu "Autoboot options" 69 menu "Autoboot options"
70 70
71 config AUTOBOOT 71 config AUTOBOOT
72 bool "Autoboot" 72 bool "Autoboot"
73 default y 73 default y
74 help 74 help
75 This enables the autoboot. See doc/README.autoboot for detail. 75 This enables the autoboot. See doc/README.autoboot for detail.
76 76
77 config AUTOBOOT_KEYED 77 config AUTOBOOT_KEYED
78 bool "Stop autobooting via specific input key / string" 78 bool "Stop autobooting via specific input key / string"
79 default n 79 default n
80 help 80 help
81 This option enables stopping (aborting) of the automatic 81 This option enables stopping (aborting) of the automatic
82 boot feature only by issuing a specific input key or 82 boot feature only by issuing a specific input key or
83 string. If not enabled, any input key will abort the 83 string. If not enabled, any input key will abort the
84 U-Boot automatic booting process and bring the device 84 U-Boot automatic booting process and bring the device
85 to the U-Boot prompt for user input. 85 to the U-Boot prompt for user input.
86 86
87 config AUTOBOOT_PROMPT 87 config AUTOBOOT_PROMPT
88 string "Autoboot stop prompt" 88 string "Autoboot stop prompt"
89 depends on AUTOBOOT_KEYED 89 depends on AUTOBOOT_KEYED
90 default "Autoboot in %d seconds\\n" 90 default "Autoboot in %d seconds\\n"
91 help 91 help
92 This string is displayed before the boot delay selected by 92 This string is displayed before the boot delay selected by
93 CONFIG_BOOTDELAY starts. If it is not defined there is no 93 CONFIG_BOOTDELAY starts. If it is not defined there is no
94 output indicating that autoboot is in progress. 94 output indicating that autoboot is in progress.
95 95
96 Note that this define is used as the (only) argument to a 96 Note that this define is used as the (only) argument to a
97 printf() call, so it may contain '%' format specifications, 97 printf() call, so it may contain '%' format specifications,
98 provided that it also includes, sepearated by commas exactly 98 provided that it also includes, sepearated by commas exactly
99 like in a printf statement, the required arguments. It is 99 like in a printf statement, the required arguments. It is
100 the responsibility of the user to select only such arguments 100 the responsibility of the user to select only such arguments
101 that are valid in the given context. 101 that are valid in the given context.
102 102
103 config AUTOBOOT_ENCRYPTION 103 config AUTOBOOT_ENCRYPTION
104 bool "Enable encryption in autoboot stopping" 104 bool "Enable encryption in autoboot stopping"
105 depends on AUTOBOOT_KEYED 105 depends on AUTOBOOT_KEYED
106 help 106 help
107 This option allows a string to be entered into U-Boot to stop the 107 This option allows a string to be entered into U-Boot to stop the
108 autoboot. The string itself is hashed and compared against the hash 108 autoboot. The string itself is hashed and compared against the hash
109 in the environment variable 'bootstopkeysha256'. If it matches then 109 in the environment variable 'bootstopkeysha256'. If it matches then
110 boot stops and a command-line prompt is presented. 110 boot stops and a command-line prompt is presented.
111 111
112 This provides a way to ship a secure production device which can also 112 This provides a way to ship a secure production device which can also
113 be accessed at the U-Boot command line. 113 be accessed at the U-Boot command line.
114 114
115 config AUTOBOOT_DELAY_STR 115 config AUTOBOOT_DELAY_STR
116 string "Delay autobooting via specific input key / string" 116 string "Delay autobooting via specific input key / string"
117 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION 117 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
118 help 118 help
119 This option delays the automatic boot feature by issuing 119 This option delays the automatic boot feature by issuing
120 a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR 120 a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
121 or the environment variable "bootdelaykey" is specified 121 or the environment variable "bootdelaykey" is specified
122 and this string is received from console input before 122 and this string is received from console input before
123 autoboot starts booting, U-Boot gives a command prompt. The 123 autoboot starts booting, U-Boot gives a command prompt. The
124 U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is 124 U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
125 used, otherwise it never times out. 125 used, otherwise it never times out.
126 126
127 config AUTOBOOT_STOP_STR 127 config AUTOBOOT_STOP_STR
128 string "Stop autobooting via specific input key / string" 128 string "Stop autobooting via specific input key / string"
129 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION 129 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
130 help 130 help
131 This option enables stopping (aborting) of the automatic 131 This option enables stopping (aborting) of the automatic
132 boot feature only by issuing a specific input key or 132 boot feature only by issuing a specific input key or
133 string. If CONFIG_AUTOBOOT_STOP_STR or the environment 133 string. If CONFIG_AUTOBOOT_STOP_STR or the environment
134 variable "bootstopkey" is specified and this string is 134 variable "bootstopkey" is specified and this string is
135 received from console input before autoboot starts booting, 135 received from console input before autoboot starts booting,
136 U-Boot gives a command prompt. The U-Boot prompt never 136 U-Boot gives a command prompt. The U-Boot prompt never
137 times out, even if CONFIG_BOOT_RETRY_TIME is used. 137 times out, even if CONFIG_BOOT_RETRY_TIME is used.
138 138
139 config AUTOBOOT_KEYED_CTRLC 139 config AUTOBOOT_KEYED_CTRLC
140 bool "Enable Ctrl-C autoboot interruption" 140 bool "Enable Ctrl-C autoboot interruption"
141 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION 141 depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
142 default n 142 default n
143 help 143 help
144 This option allows for the boot sequence to be interrupted 144 This option allows for the boot sequence to be interrupted
145 by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey". 145 by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
146 Setting this variable provides an escape sequence from the 146 Setting this variable provides an escape sequence from the
147 limited "password" strings. 147 limited "password" strings.
148 148
149 config AUTOBOOT_STOP_STR_SHA256 149 config AUTOBOOT_STOP_STR_SHA256
150 string "Stop autobooting via SHA256 encrypted password" 150 string "Stop autobooting via SHA256 encrypted password"
151 depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION 151 depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
152 help 152 help
153 This option adds the feature to only stop the autobooting, 153 This option adds the feature to only stop the autobooting,
154 and therefore boot into the U-Boot prompt, when the input 154 and therefore boot into the U-Boot prompt, when the input
155 string / password matches a values that is encypted via 155 string / password matches a values that is encypted via
156 a SHA256 hash and saved in the environment. 156 a SHA256 hash and saved in the environment.
157 157
158 config AUTOBOOT_USE_MENUKEY 158 config AUTOBOOT_USE_MENUKEY
159 bool "Allow a specify key to run a menu from the environment" 159 bool "Allow a specify key to run a menu from the environment"
160 depends on !AUTOBOOT_KEYED 160 depends on !AUTOBOOT_KEYED
161 help 161 help
162 If a specific key is pressed to stop autoboot, then the commands in 162 If a specific key is pressed to stop autoboot, then the commands in
163 the environment variable 'menucmd' are executed before boot starts. 163 the environment variable 'menucmd' are executed before boot starts.
164 164
165 config AUTOBOOT_MENUKEY 165 config AUTOBOOT_MENUKEY
166 int "ASCII value of boot key to show a menu" 166 int "ASCII value of boot key to show a menu"
167 default 0 167 default 0
168 depends on AUTOBOOT_USE_MENUKEY 168 depends on AUTOBOOT_USE_MENUKEY
169 help 169 help
170 If this key is pressed to stop autoboot, then the commands in the 170 If this key is pressed to stop autoboot, then the commands in the
171 environment variable 'menucmd' will be executed before boot starts. 171 environment variable 'menucmd' will be executed before boot starts.
172 For example, 33 means "!" in ASCII, so pressing ! at boot would take 172 For example, 33 means "!" in ASCII, so pressing ! at boot would take
173 this action. 173 this action.
174 174
175 config AUTOBOOT_MENU_SHOW 175 config AUTOBOOT_MENU_SHOW
176 bool "Show a menu on boot" 176 bool "Show a menu on boot"
177 depends on CMD_BOOTMENU 177 depends on CMD_BOOTMENU
178 help 178 help
179 This enables the boot menu, controlled by environment variables 179 This enables the boot menu, controlled by environment variables
180 defined by the board. The menu starts after running the 'preboot' 180 defined by the board. The menu starts after running the 'preboot'
181 environmnent variable (if enabled) and before handling the boot delay. 181 environmnent variable (if enabled) and before handling the boot delay.
182 See README.bootmenu for more details. 182 See README.bootmenu for more details.
183 183
184 endmenu 184 endmenu
185 185
186 config BUILD_BIN2C 186 config BUILD_BIN2C
187 bool 187 bool
188 188
189 comment "Commands" 189 comment "Commands"
190 190
191 menu "Info commands" 191 menu "Info commands"
192 192
193 config CMD_BDI 193 config CMD_BDI
194 bool "bdinfo" 194 bool "bdinfo"
195 default y 195 default y
196 help 196 help
197 Print board info 197 Print board info
198 198
199 config CMD_CONFIG 199 config CMD_CONFIG
200 bool "config" 200 bool "config"
201 default SANDBOX 201 default SANDBOX
202 select BUILD_BIN2C 202 select BUILD_BIN2C
203 help 203 help
204 Print ".config" contents. 204 Print ".config" contents.
205 205
206 If this option is enabled, the ".config" file contents are embedded 206 If this option is enabled, the ".config" file contents are embedded
207 in the U-Boot image and can be printed on the console by the "config" 207 in the U-Boot image and can be printed on the console by the "config"
208 command. This provides information of which options are enabled on 208 command. This provides information of which options are enabled on
209 the running U-Boot. 209 the running U-Boot.
210 210
211 config CMD_CONSOLE 211 config CMD_CONSOLE
212 bool "coninfo" 212 bool "coninfo"
213 default y 213 default y
214 help 214 help
215 Print console devices and information. 215 Print console devices and information.
216 216
217 config CMD_CPU 217 config CMD_CPU
218 bool "cpu" 218 bool "cpu"
219 help 219 help
220 Print information about available CPUs. This normally shows the 220 Print information about available CPUs. This normally shows the
221 number of CPUs, type (e.g. manufacturer, architecture, product or 221 number of CPUs, type (e.g. manufacturer, architecture, product or
222 internal name) and clock frequency. Other information may be 222 internal name) and clock frequency. Other information may be
223 available depending on the CPU driver. 223 available depending on the CPU driver.
224 224
225 config CMD_LICENSE 225 config CMD_LICENSE
226 bool "license" 226 bool "license"
227 select BUILD_BIN2C 227 select BUILD_BIN2C
228 help 228 help
229 Print GPL license text 229 Print GPL license text
230 230
231 config CMD_PMC 231 config CMD_PMC
232 bool "pmc" 232 bool "pmc"
233 help 233 help
234 Provides access to the Intel Power-Management Controller (PMC) so 234 Provides access to the Intel Power-Management Controller (PMC) so
235 that its state can be examined. This does not currently support 235 that its state can be examined. This does not currently support
236 changing the state but it is still useful for debugging and seeing 236 changing the state but it is still useful for debugging and seeing
237 what is going on. 237 what is going on.
238 238
239 config CMD_REGINFO 239 config CMD_REGINFO
240 bool "reginfo" 240 bool "reginfo"
241 depends on PPC 241 depends on PPC
242 help 242 help
243 Register dump 243 Register dump
244 244
245 config CMD_TLV_EEPROM 245 config CMD_TLV_EEPROM
246 bool "tlv_eeprom" 246 bool "tlv_eeprom"
247 depends on I2C_EEPROM 247 depends on I2C_EEPROM
248 help 248 help
249 Display and program the system EEPROM data block in ONIE Tlvinfo 249 Display and program the system EEPROM data block in ONIE Tlvinfo
250 format. TLV stands for Type-Length-Value. 250 format. TLV stands for Type-Length-Value.
251 251
252 config SPL_CMD_TLV_EEPROM 252 config SPL_CMD_TLV_EEPROM
253 bool "tlv_eeprom for SPL" 253 bool "tlv_eeprom for SPL"
254 depends on SPL_I2C_EEPROM 254 depends on SPL_I2C_EEPROM
255 select SPL_DRIVERS_MISC_SUPPORT 255 select SPL_DRIVERS_MISC_SUPPORT
256 help 256 help
257 Read system EEPROM data block in ONIE Tlvinfo format from SPL. 257 Read system EEPROM data block in ONIE Tlvinfo format from SPL.
258 258
259 endmenu 259 endmenu
260 260
261 menu "Boot commands" 261 menu "Boot commands"
262 262
263 config CMD_BOOTD 263 config CMD_BOOTD
264 bool "bootd" 264 bool "bootd"
265 default y 265 default y
266 help 266 help
267 Run the command stored in the environment "bootcmd", i.e. 267 Run the command stored in the environment "bootcmd", i.e.
268 "bootd" does the same thing as "run bootcmd". 268 "bootd" does the same thing as "run bootcmd".
269 269
270 config CMD_BOOTM 270 config CMD_BOOTM
271 bool "bootm" 271 bool "bootm"
272 default y 272 default y
273 help 273 help
274 Boot an application image from the memory. 274 Boot an application image from the memory.
275 275
276 config BOOTM_EFI 276 config BOOTM_EFI
277 bool "Support booting UEFI FIT images" 277 bool "Support booting UEFI FIT images"
278 depends on CMD_BOOTEFI && CMD_BOOTM && FIT 278 depends on CMD_BOOTEFI && CMD_BOOTM && FIT
279 default y 279 default y
280 help 280 help
281 Support booting UEFI FIT images via the bootm command. 281 Support booting UEFI FIT images via the bootm command.
282 282
283 config CMD_BOOTZ 283 config CMD_BOOTZ
284 bool "bootz" 284 bool "bootz"
285 help 285 help
286 Boot the Linux zImage 286 Boot the Linux zImage
287 287
288 config CMD_BOOTI 288 config CMD_BOOTI
289 bool "booti" 289 bool "booti"
290 depends on ARM64 || RISCV 290 depends on ARM64 || RISCV
291 default y 291 default y
292 help 292 help
293 Boot an AArch64 Linux Kernel image from memory. 293 Boot an AArch64 Linux Kernel image from memory.
294 294
295 config BOOTM_LINUX 295 config BOOTM_LINUX
296 bool "Support booting Linux OS images" 296 bool "Support booting Linux OS images"
297 depends on CMD_BOOTM || CMD_BOOTZ || CMD_BOOTI 297 depends on CMD_BOOTM || CMD_BOOTZ || CMD_BOOTI
298 default y 298 default y
299 help 299 help
300 Support booting the Linux kernel directly via a command such as bootm 300 Support booting the Linux kernel directly via a command such as bootm
301 or booti or bootz. 301 or booti or bootz.
302 302
303 config BOOTM_NETBSD 303 config BOOTM_NETBSD
304 bool "Support booting NetBSD (non-EFI) loader images" 304 bool "Support booting NetBSD (non-EFI) loader images"
305 depends on CMD_BOOTM 305 depends on CMD_BOOTM
306 default y 306 default y
307 help 307 help
308 Support booting NetBSD via the bootm command. 308 Support booting NetBSD via the bootm command.
309 309
310 config BOOTM_OPENRTOS 310 config BOOTM_OPENRTOS
311 bool "Support booting OPENRTOS / FreeRTOS images" 311 bool "Support booting OPENRTOS / FreeRTOS images"
312 depends on CMD_BOOTM 312 depends on CMD_BOOTM
313 help 313 help
314 Support booting OPENRTOS / FreeRTOS via the bootm command. 314 Support booting OPENRTOS / FreeRTOS via the bootm command.
315 315
316 config BOOTM_OSE 316 config BOOTM_OSE
317 bool "Support booting Enea OSE images" 317 bool "Support booting Enea OSE images"
318 depends on (ARM && (ARM64 || CPU_V7A || CPU_V7R) || SANDBOX || PPC || X86) 318 depends on (ARM && (ARM64 || CPU_V7A || CPU_V7R) || SANDBOX || PPC || X86)
319 depends on CMD_BOOTM 319 depends on CMD_BOOTM
320 help 320 help
321 Support booting Enea OSE images via the bootm command. 321 Support booting Enea OSE images via the bootm command.
322 322
323 config BOOTM_PLAN9 323 config BOOTM_PLAN9
324 bool "Support booting Plan9 OS images" 324 bool "Support booting Plan9 OS images"
325 depends on CMD_BOOTM 325 depends on CMD_BOOTM
326 default y 326 default y
327 help 327 help
328 Support booting Plan9 images via the bootm command. 328 Support booting Plan9 images via the bootm command.
329 329
330 config BOOTM_RTEMS 330 config BOOTM_RTEMS
331 bool "Support booting RTEMS OS images" 331 bool "Support booting RTEMS OS images"
332 depends on CMD_BOOTM 332 depends on CMD_BOOTM
333 default y 333 default y
334 help 334 help
335 Support booting RTEMS images via the bootm command. 335 Support booting RTEMS images via the bootm command.
336 336
337 config BOOTM_VXWORKS 337 config BOOTM_VXWORKS
338 bool "Support booting VxWorks OS images" 338 bool "Support booting VxWorks OS images"
339 depends on CMD_BOOTM 339 depends on CMD_BOOTM
340 default y 340 default y
341 help 341 help
342 Support booting VxWorks images via the bootm command. 342 Support booting VxWorks images via the bootm command.
343 343
344 config CMD_BOOTEFI 344 config CMD_BOOTEFI
345 bool "bootefi" 345 bool "bootefi"
346 depends on EFI_LOADER 346 depends on EFI_LOADER
347 default y 347 default y
348 help 348 help
349 Boot an EFI image from memory. 349 Boot an EFI image from memory.
350 350
351 config CMD_BOOTEFI_HELLO_COMPILE 351 config CMD_BOOTEFI_HELLO_COMPILE
352 bool "Compile a standard EFI hello world binary for testing" 352 bool "Compile a standard EFI hello world binary for testing"
353 depends on CMD_BOOTEFI && !CPU_V7M 353 depends on CMD_BOOTEFI && !CPU_V7M
354 default y 354 default y
355 help 355 help
356 This compiles a standard EFI hello world application with U-Boot so 356 This compiles a standard EFI hello world application with U-Boot so
357 that it can be used with the test/py testing framework. This is useful 357 that it can be used with the test/py testing framework. This is useful
358 for testing that EFI is working at a basic level, and for bringing 358 for testing that EFI is working at a basic level, and for bringing
359 up EFI support on a new architecture. 359 up EFI support on a new architecture.
360 360
361 No additional space will be required in the resulting U-Boot binary 361 No additional space will be required in the resulting U-Boot binary
362 when this option is enabled. 362 when this option is enabled.
363 363
364 config CMD_BOOTEFI_HELLO 364 config CMD_BOOTEFI_HELLO
365 bool "Allow booting a standard EFI hello world for testing" 365 bool "Allow booting a standard EFI hello world for testing"
366 depends on CMD_BOOTEFI_HELLO_COMPILE 366 depends on CMD_BOOTEFI_HELLO_COMPILE
367 help 367 help
368 This adds a standard EFI hello world application to U-Boot so that 368 This adds a standard EFI hello world application to U-Boot so that
369 it can be used with the 'bootefi hello' command. This is useful 369 it can be used with the 'bootefi hello' command. This is useful
370 for testing that EFI is working at a basic level, and for bringing 370 for testing that EFI is working at a basic level, and for bringing
371 up EFI support on a new architecture. 371 up EFI support on a new architecture.
372 372
373 source lib/efi_selftest/Kconfig 373 source lib/efi_selftest/Kconfig
374 374
375 config CMD_BOOTMENU 375 config CMD_BOOTMENU
376 bool "bootmenu" 376 bool "bootmenu"
377 select MENU 377 select MENU
378 help 378 help
379 Add an ANSI terminal boot menu command. 379 Add an ANSI terminal boot menu command.
380 380
381 config CMD_ADTIMG 381 config CMD_ADTIMG
382 bool "adtimg" 382 bool "adtimg"
383 help 383 help
384 Android DTB/DTBO image manipulation commands. Read dtb/dtbo files from 384 Android DTB/DTBO image manipulation commands. Read dtb/dtbo files from
385 image into RAM, dump image structure information, etc. Those dtb/dtbo 385 image into RAM, dump image structure information, etc. Those dtb/dtbo
386 files should be merged in one dtb further, which needs to be passed to 386 files should be merged in one dtb further, which needs to be passed to
387 the kernel, as part of a boot process. 387 the kernel, as part of a boot process.
388 388
389 config CMD_ABOOTIMG 389 config CMD_ABOOTIMG
390 bool "abootimg" 390 bool "abootimg"
391 depends on ANDROID_BOOT_IMAGE 391 depends on ANDROID_BOOT_IMAGE
392 help 392 help
393 Android Boot Image manipulation commands. Allows one to extract 393 Android Boot Image manipulation commands. Allows one to extract
394 images contained in boot.img, like kernel, ramdisk, dtb, etc, and 394 images contained in boot.img, like kernel, ramdisk, dtb, etc, and
395 obtain corresponding meta-information from boot.img. 395 obtain corresponding meta-information from boot.img.
396 396
397 See doc/android/boot-image.rst for details. 397 See doc/android/boot-image.rst for details.
398 398
399 config CMD_ELF 399 config CMD_ELF
400 bool "bootelf, bootvx" 400 bool "bootelf, bootvx"
401 default y 401 default y
402 help 402 help
403 Boot an ELF/vxWorks image from the memory. 403 Boot an ELF/vxWorks image from the memory.
404 404
405 config CMD_FDT 405 config CMD_FDT
406 bool "Flattened Device Tree utility commands" 406 bool "Flattened Device Tree utility commands"
407 default y 407 default y
408 depends on OF_LIBFDT 408 depends on OF_LIBFDT
409 help 409 help
410 Do FDT related setup before booting into the Operating System. 410 Do FDT related setup before booting into the Operating System.
411 411
412 config CMD_GO 412 config CMD_GO
413 bool "go" 413 bool "go"
414 default y 414 default y
415 help 415 help
416 Start an application at a given address. 416 Start an application at a given address.
417 417
418 config CMD_RUN 418 config CMD_RUN
419 bool "run" 419 bool "run"
420 default y 420 default y
421 help 421 help
422 Run the command in the given environment variable. 422 Run the command in the given environment variable.
423 423
424 config CMD_IMI 424 config CMD_IMI
425 bool "iminfo" 425 bool "iminfo"
426 default y 426 default y
427 help 427 help
428 Print header information for application image. 428 Print header information for application image.
429 429
430 config CMD_IMLS 430 config CMD_IMLS
431 bool "imls" 431 bool "imls"
432 help 432 help
433 List all images found in flash 433 List all images found in flash
434 434
435 config CMD_XIMG 435 config CMD_XIMG
436 bool "imxtract" 436 bool "imxtract"
437 default y 437 default y
438 help 438 help
439 Extract a part of a multi-image. 439 Extract a part of a multi-image.
440 440
441 config CMD_SPL 441 config CMD_SPL
442 bool "spl export - Export boot information for Falcon boot" 442 bool "spl export - Export boot information for Falcon boot"
443 depends on SPL 443 depends on SPL
444 help 444 help
445 Falcon mode allows booting directly from SPL into an Operating 445 Falcon mode allows booting directly from SPL into an Operating
446 System such as Linux, thus skipping U-Boot proper. See 446 System such as Linux, thus skipping U-Boot proper. See
447 doc/README.falcon for full information about how to use this 447 doc/README.falcon for full information about how to use this
448 command. 448 command.
449 449
450 config CMD_SPL_NAND_OFS 450 config CMD_SPL_NAND_OFS
451 hex "Offset of OS args or dtb for Falcon-mode NAND boot" 451 hex "Offset of OS args or dtb for Falcon-mode NAND boot"
452 depends on CMD_SPL && (TPL_NAND_SUPPORT || SPL_NAND_SUPPORT) 452 depends on CMD_SPL && (TPL_NAND_SUPPORT || SPL_NAND_SUPPORT)
453 default 0 453 default 0
454 help 454 help
455 This provides the offset of the command line arguments for Linux 455 This provides the offset of the command line arguments for Linux
456 when booting from NAND in Falcon mode. See doc/README.falcon 456 when booting from NAND in Falcon mode. See doc/README.falcon
457 for full information about how to use this option (and also see 457 for full information about how to use this option (and also see
458 board/gateworks/gw_ventana/README for an example). 458 board/gateworks/gw_ventana/README for an example).
459 459
460 config CMD_SPL_NOR_OFS 460 config CMD_SPL_NOR_OFS
461 hex "Offset of OS args or dtb for Falcon-mode NOR boot" 461 hex "Offset of OS args or dtb for Falcon-mode NOR boot"
462 depends on CMD_SPL && SPL_NOR_SUPPORT 462 depends on CMD_SPL && SPL_NOR_SUPPORT
463 default 0 463 default 0
464 help 464 help
465 This provides the offset of the command line arguments or dtb for 465 This provides the offset of the command line arguments or dtb for
466 Linux when booting from NOR in Falcon mode. 466 Linux when booting from NOR in Falcon mode.
467 467
468 config CMD_SPL_WRITE_SIZE 468 config CMD_SPL_WRITE_SIZE
469 hex "Size of argument area" 469 hex "Size of argument area"
470 depends on CMD_SPL 470 depends on CMD_SPL
471 default 0x2000 471 default 0x2000
472 help 472 help
473 This provides the size of the command-line argument area in NAND 473 This provides the size of the command-line argument area in NAND
474 flash used by Falcon-mode boot. See the documentation until CMD_SPL 474 flash used by Falcon-mode boot. See the documentation until CMD_SPL
475 for detail. 475 for detail.
476 476
477 config CMD_FITUPD 477 config CMD_FITUPD
478 bool "fitImage update command" 478 bool "fitImage update command"
479 help 479 help
480 Implements the 'fitupd' command, which allows to automatically 480 Implements the 'fitupd' command, which allows to automatically
481 store software updates present on a TFTP server in NOR Flash 481 store software updates present on a TFTP server in NOR Flash
482 482
483 config CMD_THOR_DOWNLOAD 483 config CMD_THOR_DOWNLOAD
484 bool "thor - TIZEN 'thor' download" 484 bool "thor - TIZEN 'thor' download"
485 select DFU 485 select DFU
486 help 486 help
487 Implements the 'thor' download protocol. This is a way of 487 Implements the 'thor' download protocol. This is a way of
488 downloading a software update over USB from an attached host. 488 downloading a software update over USB from an attached host.
489 There is no documentation about this within the U-Boot source code 489 There is no documentation about this within the U-Boot source code
490 but you should be able to find something on the interwebs. 490 but you should be able to find something on the interwebs.
491 491
492 config CMD_ZBOOT 492 config CMD_ZBOOT
493 bool "zboot - x86 boot command" 493 bool "zboot - x86 boot command"
494 help 494 help
495 With x86 machines it is common to boot a bzImage file which 495 With x86 machines it is common to boot a bzImage file which
496 contains both a kernel and a setup.bin file. The latter includes 496 contains both a kernel and a setup.bin file. The latter includes
497 configuration information from the dark ages which x86 boards still 497 configuration information from the dark ages which x86 boards still
498 need to pick things out of. 498 need to pick things out of.
499 499
500 Consider using FIT in preference to this since it supports directly 500 Consider using FIT in preference to this since it supports directly
501 booting both 32- and 64-bit kernels, as well as secure boot. 501 booting both 32- and 64-bit kernels, as well as secure boot.
502 Documentation is available in doc/uImage.FIT/x86-fit-boot.txt 502 Documentation is available in doc/uImage.FIT/x86-fit-boot.txt
503 503
504 endmenu 504 endmenu
505 505
506 menu "Environment commands" 506 menu "Environment commands"
507 507
508 config CMD_ASKENV 508 config CMD_ASKENV
509 bool "ask for env variable" 509 bool "ask for env variable"
510 help 510 help
511 Ask for environment variable 511 Ask for environment variable
512 512
513 config CMD_EXPORTENV 513 config CMD_EXPORTENV
514 bool "env export" 514 bool "env export"
515 default y 515 default y
516 help 516 help
517 Export environments. 517 Export environments.
518 518
519 config CMD_IMPORTENV 519 config CMD_IMPORTENV
520 bool "env import" 520 bool "env import"
521 default y 521 default y
522 help 522 help
523 Import environments. 523 Import environments.
524 524
525 config CMD_EDITENV 525 config CMD_EDITENV
526 bool "editenv" 526 bool "editenv"
527 default y 527 default y
528 help 528 help
529 Edit environment variable. 529 Edit environment variable.
530 530
531 config CMD_GREPENV 531 config CMD_GREPENV
532 bool "search env" 532 bool "search env"
533 help 533 help
534 Allow for searching environment variables 534 Allow for searching environment variables
535 535
536 config CMD_SAVEENV 536 config CMD_SAVEENV
537 bool "saveenv" 537 bool "saveenv"
538 default y 538 default y
539 help 539 help
540 Save all environment variables into the compiled-in persistent 540 Save all environment variables into the compiled-in persistent
541 storage. 541 storage.
542 542
543 config CMD_ERASEENV 543 config CMD_ERASEENV
544 bool "eraseenv" 544 bool "eraseenv"
545 default n 545 default n
546 depends on CMD_SAVEENV 546 depends on CMD_SAVEENV
547 help 547 help
548 Erase environment variables from the compiled-in persistent 548 Erase environment variables from the compiled-in persistent
549 storage. 549 storage.
550 550
551 config CMD_ENV_EXISTS 551 config CMD_ENV_EXISTS
552 bool "env exists" 552 bool "env exists"
553 default y 553 default y
554 help 554 help
555 Check if a variable is defined in the environment for use in 555 Check if a variable is defined in the environment for use in
556 shell scripting. 556 shell scripting.
557 557
558 config CMD_ENV_CALLBACK 558 config CMD_ENV_CALLBACK
559 bool "env callbacks - print callbacks and their associated variables" 559 bool "env callbacks - print callbacks and their associated variables"
560 help 560 help
561 Some environment variable have callbacks defined by 561 Some environment variable have callbacks defined by
562 U_BOOT_ENV_CALLBACK. These are called when the variable changes. 562 U_BOOT_ENV_CALLBACK. These are called when the variable changes.
563 For example changing "baudrate" adjust the serial baud rate. This 563 For example changing "baudrate" adjust the serial baud rate. This
564 command lists the currently defined callbacks. 564 command lists the currently defined callbacks.
565 565
566 config CMD_ENV_FLAGS 566 config CMD_ENV_FLAGS
567 bool "env flags -print variables that have non-default flags" 567 bool "env flags -print variables that have non-default flags"
568 help 568 help
569 Some environment variables have special flags that control their 569 Some environment variables have special flags that control their
570 behaviour. For example, serial# can only be written once and cannot 570 behaviour. For example, serial# can only be written once and cannot
571 be deleted. This command shows the variables that have special 571 be deleted. This command shows the variables that have special
572 flags. 572 flags.
573 573
574 config CMD_NVEDIT_EFI 574 config CMD_NVEDIT_EFI
575 bool "env [set|print] -e - set/print UEFI variables" 575 bool "env [set|print] -e - set/print UEFI variables"
576 depends on EFI_LOADER 576 depends on EFI_LOADER
577 imply HEXDUMP 577 imply HEXDUMP
578 help 578 help
579 UEFI variables are encoded as some form of U-Boot variables. 579 UEFI variables are encoded as some form of U-Boot variables.
580 If enabled, we are allowed to set/print UEFI variables using 580 If enabled, we are allowed to set/print UEFI variables using
581 "env" command with "-e" option without knowing details. 581 "env" command with "-e" option without knowing details.
582 582
583 config CMD_NVEDIT_INFO 583 config CMD_NVEDIT_INFO
584 bool "env info - print or evaluate environment information" 584 bool "env info - print or evaluate environment information"
585 help 585 help
586 Print environment information: 586 Print environment information:
587 - env_valid : is environment valid 587 - env_valid : is environment valid
588 - env_ready : is environment imported into hash table 588 - env_ready : is environment imported into hash table
589 - env_use_default : is default environment used 589 - env_use_default : is default environment used
590 590
591 This command can be optionally used for evaluation in scripts: 591 This command can be optionally used for evaluation in scripts:
592 [-d] : evaluate whether default environment is used 592 [-d] : evaluate whether default environment is used
593 [-p] : evaluate whether environment can be persisted 593 [-p] : evaluate whether environment can be persisted
594 The result of multiple evaluations will be combined with AND. 594 The result of multiple evaluations will be combined with AND.
595 595
596 endmenu 596 endmenu
597 597
598 menu "Memory commands" 598 menu "Memory commands"
599 599
600 config CMD_BINOP 600 config CMD_BINOP
601 bool "binop" 601 bool "binop"
602 help 602 help
603 Compute binary operations (xor, or, and) of byte arrays of arbitrary 603 Compute binary operations (xor, or, and) of byte arrays of arbitrary
604 size from memory and store the result in memory or the environment. 604 size from memory and store the result in memory or the environment.
605 605
606 config CMD_CRC32 606 config CMD_CRC32
607 bool "crc32" 607 bool "crc32"
608 default y 608 default y
609 select HASH 609 select HASH
610 help 610 help
611 Compute CRC32. 611 Compute CRC32.
612 612
613 config CRC32_VERIFY 613 config CRC32_VERIFY
614 bool "crc32 -v" 614 bool "crc32 -v"
615 depends on CMD_CRC32 615 depends on CMD_CRC32
616 help 616 help
617 Add -v option to verify data against a crc32 checksum. 617 Add -v option to verify data against a crc32 checksum.
618 618
619 config CMD_EEPROM 619 config CMD_EEPROM
620 bool "eeprom - EEPROM subsystem" 620 bool "eeprom - EEPROM subsystem"
621 help 621 help
622 (deprecated, needs conversion to driver model) 622 (deprecated, needs conversion to driver model)
623 Provides commands to read and write EEPROM (Electrically Erasable 623 Provides commands to read and write EEPROM (Electrically Erasable
624 Programmable Read Only Memory) chips that are connected over an 624 Programmable Read Only Memory) chips that are connected over an
625 I2C bus. 625 I2C bus.
626 626
627 config CMD_EEPROM_LAYOUT 627 config CMD_EEPROM_LAYOUT
628 bool "Enable layout-aware eeprom commands" 628 bool "Enable layout-aware eeprom commands"
629 depends on CMD_EEPROM 629 depends on CMD_EEPROM
630 help 630 help
631 (deprecated, needs conversion to driver model) 631 (deprecated, needs conversion to driver model)
632 When enabled, additional eeprom sub-commands become available. 632 When enabled, additional eeprom sub-commands become available.
633 633
634 eeprom print - prints the contents of the eeprom in a human-readable 634 eeprom print - prints the contents of the eeprom in a human-readable
635 way (eeprom layout fields, and data formatted to be fit for human 635 way (eeprom layout fields, and data formatted to be fit for human
636 consumption). 636 consumption).
637 637
638 eeprom update - allows user to update eeprom fields by specifying 638 eeprom update - allows user to update eeprom fields by specifying
639 the field name, and providing the new data in a human readable format 639 the field name, and providing the new data in a human readable format
640 (same format as displayed by the eeprom print command). 640 (same format as displayed by the eeprom print command).
641 641
642 Both commands can either auto detect the layout, or be told which 642 Both commands can either auto detect the layout, or be told which
643 layout to use. 643 layout to use.
644 644
645 Feature API: 645 Feature API:
646 __weak int parse_layout_version(char *str) 646 __weak int parse_layout_version(char *str)
647 - override to provide your own layout name parsing 647 - override to provide your own layout name parsing
648 __weak void __eeprom_layout_assign(struct eeprom_layout *layout, 648 __weak void __eeprom_layout_assign(struct eeprom_layout *layout,
649 int layout_version); 649 int layout_version);
650 - override to setup the layout metadata based on the version 650 - override to setup the layout metadata based on the version
651 __weak int eeprom_layout_detect(unsigned char *data) 651 __weak int eeprom_layout_detect(unsigned char *data)
652 - override to provide your own algorithm for detecting layout 652 - override to provide your own algorithm for detecting layout
653 version 653 version
654 eeprom_field.c 654 eeprom_field.c
655 - contains various printing and updating functions for common 655 - contains various printing and updating functions for common
656 types of eeprom fields. Can be used for defining 656 types of eeprom fields. Can be used for defining
657 custom layouts. 657 custom layouts.
658 658
659 config EEPROM_LAYOUT_HELP_STRING 659 config EEPROM_LAYOUT_HELP_STRING
660 string "Tells user what layout names are supported" 660 string "Tells user what layout names are supported"
661 depends on CMD_EEPROM_LAYOUT 661 depends on CMD_EEPROM_LAYOUT
662 default "<not defined>" 662 default "<not defined>"
663 help 663 help
664 Help printed with the LAYOUT VERSIONS part of the 'eeprom' 664 Help printed with the LAYOUT VERSIONS part of the 'eeprom'
665 command's help. 665 command's help.
666 666
667 config LOOPW 667 config LOOPW
668 bool "loopw" 668 bool "loopw"
669 help 669 help
670 Infinite write loop on address range 670 Infinite write loop on address range
671 671
672 config CMD_MD5SUM 672 config CMD_MD5SUM
673 bool "md5sum" 673 bool "md5sum"
674 default n 674 default n
675 select MD5 675 select MD5
676 help 676 help
677 Compute MD5 checksum. 677 Compute MD5 checksum.
678 678
679 config MD5SUM_VERIFY 679 config MD5SUM_VERIFY
680 bool "md5sum -v" 680 bool "md5sum -v"
681 default n 681 default n
682 depends on CMD_MD5SUM 682 depends on CMD_MD5SUM
683 help 683 help
684 Add -v option to verify data against an MD5 checksum. 684 Add -v option to verify data against an MD5 checksum.
685 685
686 config CMD_MEMINFO 686 config CMD_MEMINFO
687 bool "meminfo" 687 bool "meminfo"
688 help 688 help
689 Display memory information. 689 Display memory information.
690 690
691 config CMD_MEMORY 691 config CMD_MEMORY
692 bool "md, mm, nm, mw, cp, cmp, base, loop" 692 bool "md, mm, nm, mw, cp, cmp, base, loop"
693 default y 693 default y
694 help 694 help
695 Memory commands. 695 Memory commands.
696 md - memory display 696 md - memory display
697 mm - memory modify (auto-incrementing address) 697 mm - memory modify (auto-incrementing address)
698 nm - memory modify (constant address) 698 nm - memory modify (constant address)
699 mw - memory write (fill) 699 mw - memory write (fill)
700 cp - memory copy 700 cp - memory copy
701 cmp - memory compare 701 cmp - memory compare
702 base - print or set address offset 702 base - print or set address offset
703 loop - initialize loop on address range 703 loop - initialize loop on address range
704 704
705 config CMD_MX_CYCLIC 705 config CMD_MX_CYCLIC
706 bool "Enable cyclic md/mw commands" 706 bool "Enable cyclic md/mw commands"
707 depends on CMD_MEMORY 707 depends on CMD_MEMORY
708 help 708 help
709 Add the "mdc" and "mwc" memory commands. These are cyclic 709 Add the "mdc" and "mwc" memory commands. These are cyclic
710 "md/mw" commands. 710 "md/mw" commands.
711 Examples: 711 Examples:
712 712
713 => mdc.b 10 4 500 713 => mdc.b 10 4 500
714 This command will print 4 bytes (10,11,12,13) each 500 ms. 714 This command will print 4 bytes (10,11,12,13) each 500 ms.
715 715
716 => mwc.l 100 12345678 10 716 => mwc.l 100 12345678 10
717 This command will write 12345678 to address 100 all 10 ms. 717 This command will write 12345678 to address 100 all 10 ms.
718 718
719 config CMD_RANDOM 719 config CMD_RANDOM
720 bool "random" 720 bool "random"
721 default y 721 default y
722 depends on CMD_MEMORY && (LIB_RAND || LIB_HW_RAND) 722 depends on CMD_MEMORY && (LIB_RAND || LIB_HW_RAND)
723 help 723 help
724 random - fill memory with random data 724 random - fill memory with random data
725 725
726 config CMD_MEMTEST 726 config CMD_MEMTEST
727 bool "memtest" 727 bool "memtest"
728 help 728 help
729 Simple RAM read/write test. 729 Simple RAM read/write test.
730 730
731 if CMD_MEMTEST 731 if CMD_MEMTEST
732 732
733 config SYS_ALT_MEMTEST 733 config SYS_ALT_MEMTEST
734 bool "Alternative test" 734 bool "Alternative test"
735 help 735 help
736 Use a more complete alternative memory test. 736 Use a more complete alternative memory test.
737 737
738 endif 738 endif
739 739
740 config CMD_SHA1SUM 740 config CMD_SHA1SUM
741 bool "sha1sum" 741 bool "sha1sum"
742 select SHA1 742 select SHA1
743 help 743 help
744 Compute SHA1 checksum. 744 Compute SHA1 checksum.
745 745
746 config SHA1SUM_VERIFY 746 config SHA1SUM_VERIFY
747 bool "sha1sum -v" 747 bool "sha1sum -v"
748 depends on CMD_SHA1SUM 748 depends on CMD_SHA1SUM
749 help 749 help
750 Add -v option to verify data against a SHA1 checksum. 750 Add -v option to verify data against a SHA1 checksum.
751 751
752 config CMD_STRINGS 752 config CMD_STRINGS
753 bool "strings - display strings in memory" 753 bool "strings - display strings in memory"
754 help 754 help
755 This works similarly to the Unix 'strings' command except that it 755 This works similarly to the Unix 'strings' command except that it
756 works with a memory range. String of printable characters found 756 works with a memory range. String of printable characters found
757 within the range are displayed. The minimum number of characters 757 within the range are displayed. The minimum number of characters
758 for a sequence to be considered a string can be provided. 758 for a sequence to be considered a string can be provided.
759 759
760 endmenu 760 endmenu
761 761
762 menu "Compression commands" 762 menu "Compression commands"
763 763
764 config CMD_LZMADEC 764 config CMD_LZMADEC
765 bool "lzmadec" 765 bool "lzmadec"
766 default y if CMD_BOOTI 766 default y if CMD_BOOTI
767 select LZMA 767 select LZMA
768 help 768 help
769 Support decompressing an LZMA (Lempel-Ziv-Markov chain algorithm) 769 Support decompressing an LZMA (Lempel-Ziv-Markov chain algorithm)
770 image from memory. 770 image from memory.
771 771
772 config CMD_UNZIP 772 config CMD_UNZIP
773 bool "unzip" 773 bool "unzip"
774 default y if CMD_BOOTI 774 default y if CMD_BOOTI
775 help 775 help
776 Uncompress a zip-compressed memory region. 776 Uncompress a zip-compressed memory region.
777 777
778 config CMD_ZIP 778 config CMD_ZIP
779 bool "zip" 779 bool "zip"
780 help 780 help
781 Compress a memory region with zlib deflate method. 781 Compress a memory region with zlib deflate method.
782 782
783 endmenu 783 endmenu
784 784
785 menu "Device access commands" 785 menu "Device access commands"
786 786
787 config CMD_ARMFLASH 787 config CMD_ARMFLASH
788 #depends on FLASH_CFI_DRIVER 788 #depends on FLASH_CFI_DRIVER
789 bool "armflash" 789 bool "armflash"
790 help 790 help
791 ARM Ltd reference designs flash partition access 791 ARM Ltd reference designs flash partition access
792 792
793 config CMD_ADC 793 config CMD_ADC
794 bool "adc - Access Analog to Digital Converters info and data" 794 bool "adc - Access Analog to Digital Converters info and data"
795 select ADC 795 select ADC
796 select DM_REGULATOR 796 select DM_REGULATOR
797 help 797 help
798 Shows ADC device info and permit printing one-shot analog converted 798 Shows ADC device info and permit printing one-shot analog converted
799 data from a named Analog to Digital Converter. 799 data from a named Analog to Digital Converter.
800 800
801 config CMD_BCB 801 config CMD_BCB
802 bool "bcb" 802 bool "bcb"
803 depends on MMC 803 depends on MMC
804 depends on PARTITIONS 804 depends on PARTITIONS
805 help 805 help
806 Read/modify/write the fields of Bootloader Control Block, usually 806 Read/modify/write the fields of Bootloader Control Block, usually
807 stored on the flash "misc" partition with its structure defined in: 807 stored on the flash "misc" partition with its structure defined in:
808 https://android.googlesource.com/platform/bootable/recovery/+/master/ 808 https://android.googlesource.com/platform/bootable/recovery/+/master/
809 bootloader_message/include/bootloader_message/bootloader_message.h 809 bootloader_message/include/bootloader_message/bootloader_message.h
810 810
811 Some real-life use-cases include (but are not limited to): 811 Some real-life use-cases include (but are not limited to):
812 - Determine the "boot reason" (and act accordingly): 812 - Determine the "boot reason" (and act accordingly):
813 https://source.android.com/devices/bootloader/boot-reason 813 https://source.android.com/devices/bootloader/boot-reason
814 - Get/pass a list of commands from/to recovery: 814 - Get/pass a list of commands from/to recovery:
815 https://android.googlesource.com/platform/bootable/recovery 815 https://android.googlesource.com/platform/bootable/recovery
816 - Inspect/dump the contents of the BCB fields 816 - Inspect/dump the contents of the BCB fields
817 817
818 config CMD_BIND 818 config CMD_BIND
819 bool "bind/unbind - Bind or unbind a device to/from a driver" 819 bool "bind/unbind - Bind or unbind a device to/from a driver"
820 depends on DM 820 depends on DM
821 help 821 help
822 Bind or unbind a device to/from a driver from the command line. 822 Bind or unbind a device to/from a driver from the command line.
823 This is useful in situations where a device may be handled by several 823 This is useful in situations where a device may be handled by several
824 drivers. For example, this can be used to bind a UDC to the usb ether 824 drivers. For example, this can be used to bind a UDC to the usb ether
825 gadget driver from the command line. 825 gadget driver from the command line.
826 826
827 config CMD_CLK 827 config CMD_CLK
828 bool "clk - Show clock frequencies" 828 bool "clk - Show clock frequencies"
829 help 829 help
830 (deprecated) 830 (deprecated)
831 Shows clock frequences by calling a sock_clk_dump() hook function. 831 Shows clock frequences by calling a sock_clk_dump() hook function.
832 This is depreated in favour of using the CLK uclass and accessing 832 This is depreated in favour of using the CLK uclass and accessing
833 clock values from associated drivers. However currently no command 833 clock values from associated drivers. However currently no command
834 exists for this. 834 exists for this.
835 835
836 config CMD_DEMO 836 config CMD_DEMO
837 bool "demo - Demonstration commands for driver model" 837 bool "demo - Demonstration commands for driver model"
838 depends on DM 838 depends on DM
839 help 839 help
840 Provides a 'demo' command which can be used to play around with 840 Provides a 'demo' command which can be used to play around with
841 driver model. To use this properly you will need to enable one or 841 driver model. To use this properly you will need to enable one or
842 both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE). 842 both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
843 Otherwise you will always get an empty list of devices. The demo 843 Otherwise you will always get an empty list of devices. The demo
844 devices are defined in the sandbox device tree, so the easiest 844 devices are defined in the sandbox device tree, so the easiest
845 option is to use sandbox and pass the -d point to sandbox's 845 option is to use sandbox and pass the -d point to sandbox's
846 u-boot.dtb file. 846 u-boot.dtb file.
847 847
848 config CMD_DFU 848 config CMD_DFU
849 bool "dfu" 849 bool "dfu"
850 select DFU 850 select DFU
851 help 851 help
852 Enables the command "dfu" which is used to have U-Boot create a DFU 852 Enables the command "dfu" which is used to have U-Boot create a DFU
853 class device via USB. This command requires that the "dfu_alt_info" 853 class device via USB. This command requires that the "dfu_alt_info"
854 environment variable be set and define the alt settings to expose to 854 environment variable be set and define the alt settings to expose to
855 the host. 855 the host.
856 856
857 config CMD_DM 857 config CMD_DM
858 bool "dm - Access to driver model information" 858 bool "dm - Access to driver model information"
859 depends on DM 859 depends on DM
860 help 860 help
861 Provides access to driver model data structures and information, 861 Provides access to driver model data structures and information,
862 such as a list of devices, list of uclasses and the state of each 862 such as a list of devices, list of uclasses and the state of each
863 device (e.g. activated). This is not required for operation, but 863 device (e.g. activated). This is not required for operation, but
864 can be useful to see the state of driver model for debugging or 864 can be useful to see the state of driver model for debugging or
865 interest. 865 interest.
866 866
867 config CMD_FASTBOOT 867 config CMD_FASTBOOT
868 bool "fastboot - Android fastboot support" 868 bool "fastboot - Android fastboot support"
869 depends on FASTBOOT 869 depends on FASTBOOT
870 help 870 help
871 This enables the command "fastboot" which enables the Android 871 This enables the command "fastboot" which enables the Android
872 fastboot mode for the platform. Fastboot is a protocol for 872 fastboot mode for the platform. Fastboot is a protocol for
873 downloading images, flashing and device control used on 873 downloading images, flashing and device control used on
874 Android devices. Fastboot requires either the network stack 874 Android devices. Fastboot requires either the network stack
875 enabled or support for acting as a USB device. 875 enabled or support for acting as a USB device.
876 876
877 See doc/android/fastboot.rst for more information. 877 See doc/android/fastboot.rst for more information.
878 878
879 config CMD_FLASH 879 config CMD_FLASH
880 bool "flinfo, erase, protect" 880 bool "flinfo, erase, protect"
881 default y 881 default y
882 depends on MTD || FLASH_CFI_DRIVER || MTD_NOR_FLASH 882 depends on MTD || FLASH_CFI_DRIVER || MTD_NOR_FLASH
883 help 883 help
884 NOR flash support. 884 NOR flash support.
885 flinfo - print FLASH memory information 885 flinfo - print FLASH memory information
886 erase - FLASH memory 886 erase - FLASH memory
887 protect - enable or disable FLASH write protection 887 protect - enable or disable FLASH write protection
888 888
889 config CMD_FPGA 889 config CMD_FPGA
890 bool "fpga" 890 bool "fpga"
891 depends on FPGA 891 depends on FPGA
892 default y 892 default y
893 help 893 help
894 FPGA support. 894 FPGA support.
895 895
896 config CMD_FPGA_LOADBP 896 config CMD_FPGA_LOADBP
897 bool "fpga loadbp - load partial bitstream (Xilinx only)" 897 bool "fpga loadbp - load partial bitstream (Xilinx only)"
898 depends on CMD_FPGA 898 depends on CMD_FPGA
899 help 899 help
900 Supports loading an FPGA device from a bitstream buffer containing 900 Supports loading an FPGA device from a bitstream buffer containing
901 a partial bitstream. 901 a partial bitstream.
902 902
903 config CMD_FPGA_LOADFS 903 config CMD_FPGA_LOADFS
904 bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)" 904 bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)"
905 depends on CMD_FPGA 905 depends on CMD_FPGA
906 help 906 help
907 Supports loading an FPGA device from a FAT filesystem. 907 Supports loading an FPGA device from a FAT filesystem.
908 908
909 config CMD_FPGA_LOADMK 909 config CMD_FPGA_LOADMK
910 bool "fpga loadmk - load bitstream from image" 910 bool "fpga loadmk - load bitstream from image"
911 depends on CMD_FPGA 911 depends on CMD_FPGA
912 help 912 help
913 Supports loading an FPGA device from a image generated by mkimage. 913 Supports loading an FPGA device from a image generated by mkimage.
914 914
915 config CMD_FPGA_LOADP 915 config CMD_FPGA_LOADP
916 bool "fpga loadp - load partial bitstream" 916 bool "fpga loadp - load partial bitstream"
917 depends on CMD_FPGA 917 depends on CMD_FPGA
918 help 918 help
919 Supports loading an FPGA device from a bitstream buffer containing 919 Supports loading an FPGA device from a bitstream buffer containing
920 a partial bitstream. 920 a partial bitstream.
921 921
922 config CMD_FPGA_LOAD_SECURE 922 config CMD_FPGA_LOAD_SECURE
923 bool "fpga loads - loads secure bitstreams (Xilinx only)" 923 bool "fpga loads - loads secure bitstreams (Xilinx only)"
924 depends on CMD_FPGA 924 depends on CMD_FPGA
925 help 925 help
926 Enables the fpga loads command which is used to load secure 926 Enables the fpga loads command which is used to load secure
927 (authenticated or encrypted or both) bitstreams on to FPGA. 927 (authenticated or encrypted or both) bitstreams on to FPGA.
928 928
929 config CMD_FPGAD 929 config CMD_FPGAD
930 bool "fpgad - dump FPGA registers" 930 bool "fpgad - dump FPGA registers"
931 help 931 help
932 (legacy, needs conversion to driver model) 932 (legacy, needs conversion to driver model)
933 Provides a way to dump FPGA registers by calling the board-specific 933 Provides a way to dump FPGA registers by calling the board-specific
934 fpga_get_reg() function. This functions similarly to the 'md' 934 fpga_get_reg() function. This functions similarly to the 'md'
935 command. 935 command.
936 936
937 config CMD_FUSE 937 config CMD_FUSE
938 bool "fuse - support for the fuse subssystem" 938 bool "fuse - support for the fuse subssystem"
939 help 939 help
940 (deprecated - needs conversion to driver model) 940 (deprecated - needs conversion to driver model)
941 This allows reading, sensing, programming or overriding fuses 941 This allows reading, sensing, programming or overriding fuses
942 which control the behaviour of the device. The command uses the 942 which control the behaviour of the device. The command uses the
943 fuse_...() API. 943 fuse_...() API.
944 944
945 config CMD_GPIO 945 config CMD_GPIO
946 bool "gpio" 946 bool "gpio"
947 help 947 help
948 GPIO support. 948 GPIO support.
949 949
950 config CMD_GPT 950 config CMD_GPT
951 bool "GPT (GUID Partition Table) command" 951 bool "GPT (GUID Partition Table) command"
952 select EFI_PARTITION 952 select EFI_PARTITION
953 select HAVE_BLOCK_DEVICE 953 select HAVE_BLOCK_DEVICE
954 select PARTITION_UUIDS 954 select PARTITION_UUIDS
955 imply RANDOM_UUID 955 imply RANDOM_UUID
956 help 956 help
957 Enable the 'gpt' command to ready and write GPT style partition 957 Enable the 'gpt' command to ready and write GPT style partition
958 tables. 958 tables.
959 959
960 config RANDOM_UUID 960 config RANDOM_UUID
961 bool "GPT Random UUID generation" 961 bool "GPT Random UUID generation"
962 select LIB_UUID 962 select LIB_UUID
963 help 963 help
964 Enable the generation of partitions with random UUIDs if none 964 Enable the generation of partitions with random UUIDs if none
965 are provided. 965 are provided.
966 966
967 config CMD_GPT_RENAME 967 config CMD_GPT_RENAME
968 bool "GPT partition renaming commands" 968 bool "GPT partition renaming commands"
969 depends on CMD_GPT 969 depends on CMD_GPT
970 help 970 help
971 Enables the 'gpt' command to interchange names on two GPT 971 Enables the 'gpt' command to interchange names on two GPT
972 partitions via the 'gpt swap' command or to rename single 972 partitions via the 'gpt swap' command or to rename single
973 partitions via the 'rename' command. 973 partitions via the 'rename' command.
974 974
975 config CMD_IDE 975 config CMD_IDE
976 bool "ide - Support for IDE drivers" 976 bool "ide - Support for IDE drivers"
977 select IDE 977 select IDE
978 help 978 help
979 Provides an 'ide' command which allows accessing the IDE drive, 979 Provides an 'ide' command which allows accessing the IDE drive,
980 reseting the IDE interface, printing the partition table and 980 reseting the IDE interface, printing the partition table and
981 geting device info. It also enables the 'diskboot' command which 981 geting device info. It also enables the 'diskboot' command which
982 permits booting from an IDE drive. 982 permits booting from an IDE drive.
983 983
984 config CMD_IO 984 config CMD_IO
985 bool "io - Support for performing I/O accesses" 985 bool "io - Support for performing I/O accesses"
986 help 986 help
987 Provides an 'iod' command to display I/O space and an 'iow' command 987 Provides an 'iod' command to display I/O space and an 'iow' command
988 to write values to the I/O space. This can be useful for manually 988 to write values to the I/O space. This can be useful for manually
989 checking the state of devices during boot when debugging device 989 checking the state of devices during boot when debugging device
990 drivers, etc. 990 drivers, etc.
991 991
992 config CMD_IOTRACE 992 config CMD_IOTRACE
993 bool "iotrace - Support for tracing I/O activity" 993 bool "iotrace - Support for tracing I/O activity"
994 help 994 help
995 Provides an 'iotrace' command which supports recording I/O reads and 995 Provides an 'iotrace' command which supports recording I/O reads and
996 writes in a trace buffer in memory . It also maintains a checksum 996 writes in a trace buffer in memory . It also maintains a checksum
997 of the trace records (even if space is exhausted) so that the 997 of the trace records (even if space is exhausted) so that the
998 sequence of I/O accesses can be verified. 998 sequence of I/O accesses can be verified.
999 999
1000 When debugging drivers it is useful to see what I/O accesses were 1000 When debugging drivers it is useful to see what I/O accesses were
1001 done and in what order. 1001 done and in what order.
1002 1002
1003 Even if the individual accesses are of little interest it can be 1003 Even if the individual accesses are of little interest it can be
1004 useful to verify that the access pattern is consistent each time 1004 useful to verify that the access pattern is consistent each time
1005 an operation is performed. In this case a checksum can be used to 1005 an operation is performed. In this case a checksum can be used to
1006 characterise the operation of a driver. The checksum can be compared 1006 characterise the operation of a driver. The checksum can be compared
1007 across different runs of the operation to verify that the driver is 1007 across different runs of the operation to verify that the driver is
1008 working properly. 1008 working properly.
1009 1009
1010 In particular, when performing major refactoring of the driver, where 1010 In particular, when performing major refactoring of the driver, where
1011 the access pattern should not change, the checksum provides assurance 1011 the access pattern should not change, the checksum provides assurance
1012 that the refactoring work has not broken the driver. 1012 that the refactoring work has not broken the driver.
1013 1013
1014 This works by sneaking into the io.h heder for an architecture and 1014 This works by sneaking into the io.h heder for an architecture and
1015 redirecting I/O accesses through iotrace's tracing mechanism. 1015 redirecting I/O accesses through iotrace's tracing mechanism.
1016 1016
1017 For now no commands are provided to examine the trace buffer. The 1017 For now no commands are provided to examine the trace buffer. The
1018 format is fairly simple, so 'md' is a reasonable substitute. 1018 format is fairly simple, so 'md' is a reasonable substitute.
1019 1019
1020 Note: The checksum feature is only useful for I/O regions where the 1020 Note: The checksum feature is only useful for I/O regions where the
1021 contents do not change outside of software control. Where this is not 1021 contents do not change outside of software control. Where this is not
1022 suitable you can fall back to manually comparing the addresses. It 1022 suitable you can fall back to manually comparing the addresses. It
1023 might be useful to enhance tracing to only checksum the accesses and 1023 might be useful to enhance tracing to only checksum the accesses and
1024 not the data read/written. 1024 not the data read/written.
1025 1025
1026 config CMD_I2C 1026 config CMD_I2C
1027 bool "i2c" 1027 bool "i2c"
1028 help 1028 help
1029 I2C support. 1029 I2C support.
1030 1030
1031 config CMD_W1 1031 config CMD_W1
1032 depends on W1 1032 depends on W1
1033 default y if W1 1033 default y if W1
1034 bool "w1 - Support for Dallas 1-Wire protocol" 1034 bool "w1 - Support for Dallas 1-Wire protocol"
1035 help 1035 help
1036 Dallas 1-wire protocol support 1036 Dallas 1-wire protocol support
1037 1037
1038 config CMD_LOADB 1038 config CMD_LOADB
1039 bool "loadb" 1039 bool "loadb"
1040 default y 1040 default y
1041 help 1041 help
1042 Load a binary file over serial line. 1042 Load a binary file over serial line.
1043 1043
1044 config CMD_LOADS 1044 config CMD_LOADS
1045 bool "loads" 1045 bool "loads"
1046 default y 1046 default y
1047 help 1047 help
1048 Load an S-Record file over serial line 1048 Load an S-Record file over serial line
1049 1049
1050 config CMD_MMC 1050 config CMD_MMC
1051 bool "mmc" 1051 bool "mmc"
1052 help 1052 help
1053 MMC memory mapped support. 1053 MMC memory mapped support.
1054 1054
1055 config CMD_MMC_RPMB 1055 config CMD_MMC_RPMB
1056 bool "Enable support for RPMB in the mmc command" 1056 bool "Enable support for RPMB in the mmc command"
1057 depends on CMD_MMC 1057 depends on CMD_MMC
1058 help 1058 help
1059 Enable the commands for reading, writing and programming the 1059 Enable the commands for reading, writing and programming the
1060 key for the Replay Protection Memory Block partition in eMMC. 1060 key for the Replay Protection Memory Block partition in eMMC.
1061 1061
1062 config CMD_MMC_SWRITE 1062 config CMD_MMC_SWRITE
1063 bool "mmc swrite" 1063 bool "mmc swrite"
1064 depends on CMD_MMC && MMC_WRITE 1064 depends on CMD_MMC && MMC_WRITE
1065 select IMAGE_SPARSE 1065 select IMAGE_SPARSE
1066 help 1066 help
1067 Enable support for the "mmc swrite" command to write Android sparse 1067 Enable support for the "mmc swrite" command to write Android sparse
1068 images to eMMC. 1068 images to eMMC.
1069 1069
1070 config CMD_MTD 1070 config CMD_MTD
1071 bool "mtd" 1071 bool "mtd"
1072 depends on MTD 1072 depends on MTD
1073 select MTD_PARTITIONS 1073 select MTD_PARTITIONS
1074 help 1074 help
1075 MTD commands support. 1075 MTD commands support.
1076 1076
1077 config CMD_NAND 1077 config CMD_NAND
1078 bool "nand" 1078 bool "nand"
1079 default y if NAND_SUNXI 1079 default y if NAND_SUNXI
1080 depends on MTD_RAW_NAND 1080 depends on MTD_RAW_NAND
1081 help 1081 help
1082 NAND support. 1082 NAND support.
1083 1083
1084 if CMD_NAND 1084 if CMD_NAND
1085 config CMD_NAND_TRIMFFS 1085 config CMD_NAND_TRIMFFS
1086 bool "nand write.trimffs" 1086 bool "nand write.trimffs"
1087 default y if ARCH_SUNXI 1087 default y if ARCH_SUNXI
1088 help 1088 help
1089 Allows one to skip empty pages when flashing something on a NAND. 1089 Allows one to skip empty pages when flashing something on a NAND.
1090 1090
1091 config CMD_NAND_LOCK_UNLOCK 1091 config CMD_NAND_LOCK_UNLOCK
1092 bool "nand lock/unlock" 1092 bool "nand lock/unlock"
1093 help 1093 help
1094 NAND locking support. 1094 NAND locking support.
1095 1095
1096 config CMD_NAND_TORTURE 1096 config CMD_NAND_TORTURE
1097 bool "nand torture" 1097 bool "nand torture"
1098 help 1098 help
1099 NAND torture support. 1099 NAND torture support.
1100 1100
1101 endif # CMD_NAND 1101 endif # CMD_NAND
1102 1102
1103 config CMD_NVME 1103 config CMD_NVME
1104 bool "nvme" 1104 bool "nvme"
1105 depends on NVME 1105 depends on NVME
1106 default y if NVME 1106 default y if NVME
1107 help 1107 help
1108 NVM Express device support 1108 NVM Express device support
1109 1109
1110 config CMD_ONENAND 1110 config CMD_ONENAND
1111 bool "onenand - access to onenand device" 1111 bool "onenand - access to onenand device"
1112 depends on MTD 1112 depends on MTD
1113 help 1113 help
1114 OneNAND is a brand of NAND ('Not AND' gate) flash which provides 1114 OneNAND is a brand of NAND ('Not AND' gate) flash which provides
1115 various useful features. This command allows reading, writing, 1115 various useful features. This command allows reading, writing,
1116 and erasing blocks. It allso provides a way to show and change 1116 and erasing blocks. It allso provides a way to show and change
1117 bad blocks, and test the device. 1117 bad blocks, and test the device.
1118 1118
1119 config CMD_OSD 1119 config CMD_OSD
1120 bool "osd" 1120 bool "osd"
1121 help 1121 help
1122 Enable the 'osd' command which allows to query information from and 1122 Enable the 'osd' command which allows to query information from and
1123 write text data to a on-screen display (OSD) device; a virtual device 1123 write text data to a on-screen display (OSD) device; a virtual device
1124 associated with a display capable of displaying a text overlay on the 1124 associated with a display capable of displaying a text overlay on the
1125 display it's associated with.. 1125 display it's associated with..
1126 1126
1127 config CMD_PART 1127 config CMD_PART
1128 bool "part" 1128 bool "part"
1129 select HAVE_BLOCK_DEVICE 1129 select HAVE_BLOCK_DEVICE
1130 select PARTITION_UUIDS 1130 select PARTITION_UUIDS
1131 help 1131 help
1132 Read and display information about the partition table on 1132 Read and display information about the partition table on
1133 various media. 1133 various media.
1134 1134
1135 config CMD_PCI 1135 config CMD_PCI
1136 bool "pci - Access PCI devices" 1136 bool "pci - Access PCI devices"
1137 help 1137 help
1138 Provide access to PCI (Peripheral Interconnect Bus), a type of bus 1138 Provide access to PCI (Peripheral Interconnect Bus), a type of bus
1139 used on some devices to allow the CPU to communicate with its 1139 used on some devices to allow the CPU to communicate with its
1140 peripherals. Sub-commands allow bus enumeration, displaying and 1140 peripherals. Sub-commands allow bus enumeration, displaying and
1141 changing configuration space and a few other features. 1141 changing configuration space and a few other features.
1142 1142
1143 config CMD_PINMUX 1143 config CMD_PINMUX
1144 bool "pinmux - show pins muxing" 1144 bool "pinmux - show pins muxing"
1145 default y if PINCTRL 1145 default y if PINCTRL
1146 help 1146 help
1147 Parse all available pin-controllers and show pins muxing. This 1147 Parse all available pin-controllers and show pins muxing. This
1148 is useful for debug purpoer to check the pin muxing and to know if 1148 is useful for debug purpoer to check the pin muxing and to know if
1149 a pin is configured as a GPIO or as an alternate function. 1149 a pin is configured as a GPIO or as an alternate function.
1150 1150
1151 config CMD_POWEROFF 1151 config CMD_POWEROFF
1152 bool "poweroff" 1152 bool "poweroff"
1153 help 1153 help
1154 Poweroff/Shutdown the system 1154 Poweroff/Shutdown the system
1155 1155
1156 config CMD_READ 1156 config CMD_READ
1157 bool "read - Read binary data from a partition" 1157 bool "read - Read binary data from a partition"
1158 help 1158 help
1159 Provides low-level access to the data in a partition. 1159 Provides low-level access to the data in a partition.
1160 1160
1161 config CMD_REMOTEPROC 1161 config CMD_REMOTEPROC
1162 bool "remoteproc" 1162 bool "remoteproc"
1163 depends on REMOTEPROC 1163 depends on REMOTEPROC
1164 help 1164 help
1165 Support for Remote Processor control 1165 Support for Remote Processor control
1166 1166
1167 config CMD_SATA 1167 config CMD_SATA
1168 bool "sata - Access SATA subsystem" 1168 bool "sata - Access SATA subsystem"
1169 select SATA 1169 select SATA
1170 help 1170 help
1171 SATA (Serial Advanced Technology Attachment) is a serial bus 1171 SATA (Serial Advanced Technology Attachment) is a serial bus
1172 standard for connecting to hard drives and other storage devices. 1172 standard for connecting to hard drives and other storage devices.
1173 This command provides information about attached devices and allows 1173 This command provides information about attached devices and allows
1174 reading, writing and other operations. 1174 reading, writing and other operations.
1175 1175
1176 SATA replaces PATA (originally just ATA), which stands for Parallel AT 1176 SATA replaces PATA (originally just ATA), which stands for Parallel AT
1177 Attachment, where AT refers to an IBM AT (Advanced Technology) 1177 Attachment, where AT refers to an IBM AT (Advanced Technology)
1178 computer released in 1984. 1178 computer released in 1984.
1179 1179
1180 config CMD_SAVES 1180 config CMD_SAVES
1181 bool "saves - Save a file over serial in S-Record format" 1181 bool "saves - Save a file over serial in S-Record format"
1182 help 1182 help
1183 Provides a way to save a binary file using the Motorola S-Record 1183 Provides a way to save a binary file using the Motorola S-Record
1184 format over the serial line. 1184 format over the serial line.
1185 1185
1186 config CMD_SCSI 1186 config CMD_SCSI
1187 bool "scsi - Access to SCSI devices" 1187 bool "scsi - Access to SCSI devices"
1188 default y if SCSI 1188 default y if SCSI
1189 help 1189 help
1190 This provides a 'scsi' command which provides access to SCSI (Small 1190 This provides a 'scsi' command which provides access to SCSI (Small
1191 Computer System Interface) devices. The command provides a way to 1191 Computer System Interface) devices. The command provides a way to
1192 scan the bus, reset the bus, read and write data and get information 1192 scan the bus, reset the bus, read and write data and get information
1193 about devices. 1193 about devices.
1194 1194
1195 config CMD_SDRAM 1195 config CMD_SDRAM
1196 bool "sdram - Print SDRAM configuration information" 1196 bool "sdram - Print SDRAM configuration information"
1197 help 1197 help
1198 Provides information about attached SDRAM. This assumed that the 1198 Provides information about attached SDRAM. This assumed that the
1199 SDRAM has an EEPROM with information that can be read using the 1199 SDRAM has an EEPROM with information that can be read using the
1200 I2C bus. This is only available on some boards. 1200 I2C bus. This is only available on some boards.
1201 1201
1202 config CMD_SF 1202 config CMD_SF
1203 bool "sf" 1203 bool "sf"
1204 depends on DM_SPI_FLASH || SPI_FLASH 1204 depends on DM_SPI_FLASH || SPI_FLASH
1205 default y if DM_SPI_FLASH 1205 default y if DM_SPI_FLASH
1206 help 1206 help
1207 SPI Flash support 1207 SPI Flash support
1208 1208
1209 config CMD_SF_TEST 1209 config CMD_SF_TEST
1210 bool "sf test - Allow testing of SPI flash" 1210 bool "sf test - Allow testing of SPI flash"
1211 depends on CMD_SF 1211 depends on CMD_SF
1212 help 1212 help
1213 Provides a way to test that SPI flash is working correctly. The 1213 Provides a way to test that SPI flash is working correctly. The
1214 test is destructive, in that an area of SPI flash must be provided 1214 test is destructive, in that an area of SPI flash must be provided
1215 for the test to use. Performance information is also provided, 1215 for the test to use. Performance information is also provided,
1216 measuring the performance of reading, writing and erasing in 1216 measuring the performance of reading, writing and erasing in
1217 Mbps (Million Bits Per Second). This value should approximately 1217 Mbps (Million Bits Per Second). This value should approximately
1218 equal the SPI bus speed for a single-bit-wide SPI bus, assuming 1218 equal the SPI bus speed for a single-bit-wide SPI bus, assuming
1219 everything is working properly. 1219 everything is working properly.
1220 1220
1221 config CMD_SPI 1221 config CMD_SPI
1222 bool "sspi - Command to access spi device" 1222 bool "sspi - Command to access spi device"
1223 depends on SPI 1223 depends on SPI
1224 help 1224 help
1225 SPI utility command. 1225 SPI utility command.
1226 1226
1227 config DEFAULT_SPI_BUS 1227 config DEFAULT_SPI_BUS
1228 int "default spi bus used by sspi command" 1228 int "default spi bus used by sspi command"
1229 depends on CMD_SPI 1229 depends on CMD_SPI
1230 default 0 1230 default 0
1231 1231
1232 config DEFAULT_SPI_MODE 1232 config DEFAULT_SPI_MODE
1233 hex "default spi mode used by sspi command (see include/spi.h)" 1233 hex "default spi mode used by sspi command (see include/spi.h)"
1234 depends on CMD_SPI 1234 depends on CMD_SPI
1235 default 0 1235 default 0
1236 1236
1237 config CMD_TSI148 1237 config CMD_TSI148
1238 bool "tsi148 - Command to access tsi148 device" 1238 bool "tsi148 - Command to access tsi148 device"
1239 help 1239 help
1240 This provides various sub-commands to initialise and configure the 1240 This provides various sub-commands to initialise and configure the
1241 Turndra tsi148 device. See the command help for full details. 1241 Turndra tsi148 device. See the command help for full details.
1242 1242
1243 config CMD_UFS 1243 config CMD_UFS
1244 bool "Enable UFS - Universal Flash Subsystem commands" 1244 bool "Enable UFS - Universal Flash Subsystem commands"
1245 depends on UFS 1245 depends on UFS
1246 help 1246 help
1247 "This provides commands to initialise and configure universal flash 1247 "This provides commands to initialise and configure universal flash
1248 subsystem devices" 1248 subsystem devices"
1249 1249
1250 config CMD_UNIVERSE 1250 config CMD_UNIVERSE
1251 bool "universe - Command to set up the Turndra Universe controller" 1251 bool "universe - Command to set up the Turndra Universe controller"
1252 help 1252 help
1253 This allows setting up the VMEbus provided by this controller. 1253 This allows setting up the VMEbus provided by this controller.
1254 See the command help for full details. 1254 See the command help for full details.
1255 1255
1256 config CMD_USB 1256 config CMD_USB
1257 bool "usb" 1257 bool "usb"
1258 select HAVE_BLOCK_DEVICE 1258 select HAVE_BLOCK_DEVICE
1259 help 1259 help
1260 USB support. 1260 USB support.
1261 1261
1262 config CMD_USB_SDP 1262 config CMD_USB_SDP
1263 bool "sdp" 1263 bool "sdp"
1264 select USB_FUNCTION_SDP 1264 select USB_FUNCTION_SDP
1265 help 1265 help
1266 Enables the command "sdp" which is used to have U-Boot emulating the 1266 Enables the command "sdp" which is used to have U-Boot emulating the
1267 Serial Download Protocol (SDP) via USB. 1267 Serial Download Protocol (SDP) via USB.
1268 1268
1269 config CMD_ROCKUSB 1269 config CMD_ROCKUSB
1270 bool "rockusb" 1270 bool "rockusb"
1271 depends on USB_FUNCTION_ROCKUSB 1271 depends on USB_FUNCTION_ROCKUSB
1272 help 1272 help
1273 Rockusb protocol is widely used by Rockchip SoC based devices. It can 1273 Rockusb protocol is widely used by Rockchip SoC based devices. It can
1274 read/write info, image to/from devices. This enable rockusb command 1274 read/write info, image to/from devices. This enable rockusb command
1275 support to communication with rockusb device. for more detail about 1275 support to communication with rockusb device. for more detail about
1276 this command, please read doc/README.rockusb. 1276 this command, please read doc/README.rockusb.
1277 1277
1278 config CMD_USB_MASS_STORAGE 1278 config CMD_USB_MASS_STORAGE
1279 bool "UMS usb mass storage" 1279 bool "UMS usb mass storage"
1280 select USB_FUNCTION_MASS_STORAGE 1280 select USB_FUNCTION_MASS_STORAGE
1281 help 1281 help
1282 USB mass storage support 1282 USB mass storage support
1283 1283
1284 config CMD_VIRTIO 1284 config CMD_VIRTIO
1285 bool "virtio" 1285 bool "virtio"
1286 depends on VIRTIO 1286 depends on VIRTIO
1287 default y if VIRTIO 1287 default y if VIRTIO
1288 help 1288 help
1289 VirtIO block device support 1289 VirtIO block device support
1290 1290
1291 config CMD_WDT 1291 config CMD_WDT
1292 bool "wdt" 1292 bool "wdt"
1293 depends on WDT 1293 depends on WDT
1294 help 1294 help
1295 This provides commands to control the watchdog timer devices. 1295 This provides commands to control the watchdog timer devices.
1296 1296
1297 config CMD_AXI 1297 config CMD_AXI
1298 bool "axi" 1298 bool "axi"
1299 depends on AXI 1299 depends on AXI
1300 help 1300 help
1301 Enable the command "axi" for accessing AXI (Advanced eXtensible 1301 Enable the command "axi" for accessing AXI (Advanced eXtensible
1302 Interface) busses, a on-chip interconnect specification for managing 1302 Interface) busses, a on-chip interconnect specification for managing
1303 functional blocks in SoC designs, which is also often used in designs 1303 functional blocks in SoC designs, which is also often used in designs
1304 involving FPGAs (e.g. communication with IP cores in Xilinx FPGAs). 1304 involving FPGAs (e.g. communication with IP cores in Xilinx FPGAs).
1305 endmenu 1305 endmenu
1306 1306
1307 1307
1308 menu "Shell scripting commands" 1308 menu "Shell scripting commands"
1309 1309
1310 config CMD_ECHO 1310 config CMD_ECHO
1311 bool "echo" 1311 bool "echo"
1312 default y 1312 default y
1313 help 1313 help
1314 Echo args to console 1314 Echo args to console
1315 1315
1316 config CMD_ITEST 1316 config CMD_ITEST
1317 bool "itest" 1317 bool "itest"
1318 default y 1318 default y
1319 help 1319 help
1320 Return true/false on integer compare. 1320 Return true/false on integer compare.
1321 1321
1322 config CMD_SOURCE 1322 config CMD_SOURCE
1323 bool "source" 1323 bool "source"
1324 default y 1324 default y
1325 help 1325 help
1326 Run script from memory 1326 Run script from memory
1327 1327
1328 config CMD_SETEXPR 1328 config CMD_SETEXPR
1329 bool "setexpr" 1329 bool "setexpr"
1330 default y 1330 default y
1331 help 1331 help
1332 Evaluate boolean and math expressions and store the result in an env 1332 Evaluate boolean and math expressions and store the result in an env
1333 variable. 1333 variable.
1334 Also supports loading the value at a memory location into a variable. 1334 Also supports loading the value at a memory location into a variable.
1335 If CONFIG_REGEX is enabled, setexpr also supports a gsub function. 1335 If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
1336 1336
1337 endmenu 1337 endmenu
1338 1338
1339 menu "Android support commands" 1339 menu "Android support commands"
1340 1340
1341 config CMD_AB_SELECT 1341 config CMD_AB_SELECT
1342 bool "ab_select" 1342 bool "ab_select"
1343 default n 1343 default n
1344 depends on ANDROID_AB 1344 depends on ANDROID_AB
1345 help 1345 help
1346 On Android devices with more than one boot slot (multiple copies of 1346 On Android devices with more than one boot slot (multiple copies of
1347 the kernel and system images) this provides a command to select which 1347 the kernel and system images) this provides a command to select which
1348 slot should be used to boot from and register the boot attempt. This 1348 slot should be used to boot from and register the boot attempt. This
1349 is used by the new A/B update model where one slot is updated in the 1349 is used by the new A/B update model where one slot is updated in the
1350 background while running from the other slot. 1350 background while running from the other slot.
1351 1351
1352 endmenu 1352 endmenu
1353 1353
1354 if NET 1354 if NET
1355 1355
1356 menuconfig CMD_NET 1356 menuconfig CMD_NET
1357 bool "Network commands" 1357 bool "Network commands"
1358 default y 1358 default y
1359 imply NETDEVICES 1359 imply NETDEVICES
1360 1360
1361 if CMD_NET 1361 if CMD_NET
1362 1362
1363 config CMD_BOOTP 1363 config CMD_BOOTP
1364 bool "bootp" 1364 bool "bootp"
1365 default y 1365 default y
1366 help 1366 help
1367 bootp - boot image via network using BOOTP/TFTP protocol 1367 bootp - boot image via network using BOOTP/TFTP protocol
1368 1368
1369 config CMD_DHCP 1369 config CMD_DHCP
1370 bool "dhcp" 1370 bool "dhcp"
1371 depends on CMD_BOOTP 1371 depends on CMD_BOOTP
1372 help 1372 help
1373 Boot image via network using DHCP/TFTP protocol 1373 Boot image via network using DHCP/TFTP protocol
1374 1374
1375 config BOOTP_BOOTPATH 1375 config BOOTP_BOOTPATH
1376 bool "Request & store 'rootpath' from BOOTP/DHCP server" 1376 bool "Request & store 'rootpath' from BOOTP/DHCP server"
1377 default y 1377 default y
1378 depends on CMD_BOOTP 1378 depends on CMD_BOOTP
1379 help 1379 help
1380 Even though the config is called BOOTP_BOOTPATH, it stores the 1380 Even though the config is called BOOTP_BOOTPATH, it stores the
1381 path in the variable 'rootpath'. 1381 path in the variable 'rootpath'.
1382 1382
1383 config BOOTP_DNS 1383 config BOOTP_DNS
1384 bool "Request & store 'dnsip' from BOOTP/DHCP server" 1384 bool "Request & store 'dnsip' from BOOTP/DHCP server"
1385 default y 1385 default y
1386 depends on CMD_BOOTP 1386 depends on CMD_BOOTP
1387 help 1387 help
1388 The primary DNS server is stored as 'dnsip'. If two servers are 1388 The primary DNS server is stored as 'dnsip'. If two servers are
1389 returned, you must set BOOTP_DNS2 to store that second server IP 1389 returned, you must set BOOTP_DNS2 to store that second server IP
1390 also. 1390 also.
1391 1391
1392 config BOOTP_DNS2 1392 config BOOTP_DNS2
1393 bool "Store 'dnsip2' from BOOTP/DHCP server" 1393 bool "Store 'dnsip2' from BOOTP/DHCP server"
1394 depends on BOOTP_DNS 1394 depends on BOOTP_DNS
1395 help 1395 help
1396 If a DHCP client requests the DNS server IP from a DHCP server, 1396 If a DHCP client requests the DNS server IP from a DHCP server,
1397 it is possible that more than one DNS serverip is offered to the 1397 it is possible that more than one DNS serverip is offered to the
1398 client. If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS 1398 client. If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS
1399 server IP will be stored in the additional environment 1399 server IP will be stored in the additional environment
1400 variable "dnsip2". The first DNS serverip is always 1400 variable "dnsip2". The first DNS serverip is always
1401 stored in the variable "dnsip", when BOOTP_DNS is defined. 1401 stored in the variable "dnsip", when BOOTP_DNS is defined.
1402 1402
1403 config BOOTP_GATEWAY 1403 config BOOTP_GATEWAY
1404 bool "Request & store 'gatewayip' from BOOTP/DHCP server" 1404 bool "Request & store 'gatewayip' from BOOTP/DHCP server"
1405 default y 1405 default y
1406 depends on CMD_BOOTP 1406 depends on CMD_BOOTP
1407 1407
1408 config BOOTP_HOSTNAME 1408 config BOOTP_HOSTNAME
1409 bool "Request & store 'hostname' from BOOTP/DHCP server" 1409 bool "Request & store 'hostname' from BOOTP/DHCP server"
1410 default y 1410 default y
1411 depends on CMD_BOOTP 1411 depends on CMD_BOOTP
1412 help 1412 help
1413 The name may or may not be qualified with the local domain name. 1413 The name may or may not be qualified with the local domain name.
1414 1414
1415 config BOOTP_PREFER_SERVERIP 1415 config BOOTP_PREFER_SERVERIP
1416 bool "serverip variable takes precedent over DHCP server IP." 1416 bool "serverip variable takes precedent over DHCP server IP."
1417 depends on CMD_BOOTP 1417 depends on CMD_BOOTP
1418 help 1418 help
1419 By default a BOOTP/DHCP reply will overwrite the 'serverip' variable. 1419 By default a BOOTP/DHCP reply will overwrite the 'serverip' variable.
1420 1420
1421 With this option enabled, the 'serverip' variable in the environment 1421 With this option enabled, the 'serverip' variable in the environment
1422 takes precedence over DHCP server IP and will only be set by the DHCP 1422 takes precedence over DHCP server IP and will only be set by the DHCP
1423 server if not already set in the environment. 1423 server if not already set in the environment.
1424 1424
1425 config BOOTP_SUBNETMASK 1425 config BOOTP_SUBNETMASK
1426 bool "Request & store 'netmask' from BOOTP/DHCP server" 1426 bool "Request & store 'netmask' from BOOTP/DHCP server"
1427 default y 1427 default y
1428 depends on CMD_BOOTP 1428 depends on CMD_BOOTP
1429 1429
1430 config BOOTP_NTPSERVER 1430 config BOOTP_NTPSERVER
1431 bool "Request & store 'ntpserverip' from BOOTP/DHCP server" 1431 bool "Request & store 'ntpserverip' from BOOTP/DHCP server"
1432 depends on CMD_BOOTP 1432 depends on CMD_BOOTP
1433 1433
1434 config CMD_PCAP 1434 config CMD_PCAP
1435 bool "pcap capture" 1435 bool "pcap capture"
1436 help 1436 help
1437 Selecting this will allow capturing all Ethernet packets and store 1437 Selecting this will allow capturing all Ethernet packets and store
1438 them in physical memory in a PCAP formated file, 1438 them in physical memory in a PCAP formated file,
1439 later to be analyzed by PCAP reader application (IE. WireShark). 1439 later to be analyzed by PCAP reader application (IE. WireShark).
1440 1440
1441 config BOOTP_PXE 1441 config BOOTP_PXE
1442 bool "Send PXE client arch to BOOTP/DHCP server" 1442 bool "Send PXE client arch to BOOTP/DHCP server"
1443 default y 1443 default y
1444 depends on CMD_BOOTP && CMD_PXE 1444 depends on CMD_BOOTP && CMD_PXE
1445 help 1445 help
1446 Supported for ARM, ARM64, and x86 for now. 1446 Supported for ARM, ARM64, and x86 for now.
1447 1447
1448 config BOOTP_PXE_CLIENTARCH 1448 config BOOTP_PXE_CLIENTARCH
1449 hex 1449 hex
1450 depends on BOOTP_PXE 1450 depends on BOOTP_PXE
1451 default 0x16 if ARM64 1451 default 0x16 if ARM64
1452 default 0x15 if ARM 1452 default 0x15 if ARM
1453 default 0 if X86 1453 default 0 if X86
1454 1454
1455 config BOOTP_VCI_STRING 1455 config BOOTP_VCI_STRING
1456 string 1456 string
1457 depends on CMD_BOOTP 1457 depends on CMD_BOOTP
1458 default "U-Boot.armv7" if CPU_V7A || CPU_V7M || CPU_V7R 1458 default "U-Boot.armv7" if CPU_V7A || CPU_V7M || CPU_V7R
1459 default "U-Boot.armv8" if ARM64 1459 default "U-Boot.armv8" if ARM64
1460 default "U-Boot.arm" if ARM 1460 default "U-Boot.arm" if ARM
1461 default "U-Boot" 1461 default "U-Boot"
1462 1462
1463 config CMD_TFTPBOOT 1463 config CMD_TFTPBOOT
1464 bool "tftpboot" 1464 bool "tftpboot"
1465 default y 1465 default y
1466 help 1466 help
1467 tftpboot - boot image via network using TFTP protocol 1467 tftpboot - boot image via network using TFTP protocol
1468 1468
1469 config CMD_TFTPPUT 1469 config CMD_TFTPPUT
1470 bool "tftp put" 1470 bool "tftp put"
1471 depends on CMD_TFTPBOOT 1471 depends on CMD_TFTPBOOT
1472 help 1472 help
1473 TFTP put command, for uploading files to a server 1473 TFTP put command, for uploading files to a server
1474 1474
1475 config CMD_TFTPSRV 1475 config CMD_TFTPSRV
1476 bool "tftpsrv" 1476 bool "tftpsrv"
1477 depends on CMD_TFTPBOOT 1477 depends on CMD_TFTPBOOT
1478 help 1478 help
1479 Act as a TFTP server and boot the first received file 1479 Act as a TFTP server and boot the first received file
1480 1480
1481 config NET_TFTP_VARS 1481 config NET_TFTP_VARS
1482 bool "Control TFTP timeout and count through environment" 1482 bool "Control TFTP timeout and count through environment"
1483 depends on CMD_TFTPBOOT 1483 depends on CMD_TFTPBOOT
1484 default y 1484 default y
1485 help 1485 help
1486 If set, allows controlling the TFTP timeout through the 1486 If set, allows controlling the TFTP timeout through the
1487 environment variable tftptimeout, and the TFTP maximum 1487 environment variable tftptimeout, and the TFTP maximum
1488 timeout count through the variable tftptimeoutcountmax. 1488 timeout count through the variable tftptimeoutcountmax.
1489 If unset, timeout and maximum are hard-defined as 1 second 1489 If unset, timeout and maximum are hard-defined as 1 second
1490 and 10 timouts per TFTP transfer. 1490 and 10 timouts per TFTP transfer.
1491 1491
1492 config CMD_RARP 1492 config CMD_RARP
1493 bool "rarpboot" 1493 bool "rarpboot"
1494 help 1494 help
1495 Boot image via network using RARP/TFTP protocol 1495 Boot image via network using RARP/TFTP protocol
1496 1496
1497 config CMD_NFS 1497 config CMD_NFS
1498 bool "nfs" 1498 bool "nfs"
1499 default y 1499 default y
1500 help 1500 help
1501 Boot image via network using NFS protocol. 1501 Boot image via network using NFS protocol.
1502 1502
1503 config CMD_MII 1503 config CMD_MII
1504 bool "mii" 1504 bool "mii"
1505 imply CMD_MDIO 1505 imply CMD_MDIO
1506 help 1506 help
1507 If set, allows 802.3(clause 22) MII Management functions interface access 1507 If set, allows 802.3(clause 22) MII Management functions interface access
1508 The management interface specified in Clause 22 provides 1508 The management interface specified in Clause 22 provides
1509 a simple, two signal, serial interface to connect a 1509 a simple, two signal, serial interface to connect a
1510 Station Management entity and a managed PHY for providing access 1510 Station Management entity and a managed PHY for providing access
1511 to management parameters and services. 1511 to management parameters and services.
1512 The interface is referred to as the MII management interface. 1512 The interface is referred to as the MII management interface.
1513 1513
1514 config CMD_MDIO 1514 config CMD_MDIO
1515 bool "mdio" 1515 bool "mdio"
1516 depends on PHYLIB 1516 depends on PHYLIB
1517 help 1517 help
1518 If set, allows Enable 802.3(clause 45) MDIO interface registers access 1518 If set, allows Enable 802.3(clause 45) MDIO interface registers access
1519 The MDIO interface is orthogonal to the MII interface and extends 1519 The MDIO interface is orthogonal to the MII interface and extends
1520 it by adding access to more registers through indirect addressing. 1520 it by adding access to more registers through indirect addressing.
1521 1521
1522 config CMD_PING 1522 config CMD_PING
1523 bool "ping" 1523 bool "ping"
1524 help 1524 help
1525 Send ICMP ECHO_REQUEST to network host 1525 Send ICMP ECHO_REQUEST to network host
1526 1526
1527 config CMD_CDP 1527 config CMD_CDP
1528 bool "cdp" 1528 bool "cdp"
1529 help 1529 help
1530 Perform CDP network configuration 1530 Perform CDP network configuration
1531 1531
1532 config CMD_SNTP 1532 config CMD_SNTP
1533 bool "sntp" 1533 bool "sntp"
1534 help 1534 help
1535 Synchronize RTC via network 1535 Synchronize RTC via network
1536 1536
1537 config CMD_DNS 1537 config CMD_DNS
1538 bool "dns" 1538 bool "dns"
1539 help 1539 help
1540 Lookup the IP of a hostname 1540 Lookup the IP of a hostname
1541 1541
1542 config CMD_LINK_LOCAL 1542 config CMD_LINK_LOCAL
1543 bool "linklocal" 1543 bool "linklocal"
1544 select LIB_RAND 1544 select LIB_RAND
1545 help 1545 help
1546 Acquire a network IP address using the link-local protocol 1546 Acquire a network IP address using the link-local protocol
1547 1547
1548 endif 1548 endif
1549 1549
1550 config CMD_ETHSW 1550 config CMD_ETHSW
1551 bool "ethsw" 1551 bool "ethsw"
1552 help 1552 help
1553 Allow control of L2 Ethernet switch commands. These are supported 1553 Allow control of L2 Ethernet switch commands. These are supported
1554 by the vsc9953 Ethernet driver at present. Sub-commands allow 1554 by the vsc9953 Ethernet driver at present. Sub-commands allow
1555 operations such as enabling / disabling a port and 1555 operations such as enabling / disabling a port and
1556 viewing/maintaining the filtering database (FDB) 1556 viewing/maintaining the filtering database (FDB)
1557 1557
1558 config CMD_PXE 1558 config CMD_PXE
1559 bool "pxe" 1559 bool "pxe"
1560 select MENU 1560 select MENU
1561 help 1561 help
1562 Boot image via network using PXE protocol 1562 Boot image via network using PXE protocol
1563 1563
1564 config CMD_WOL 1564 config CMD_WOL
1565 bool "wol" 1565 bool "wol"
1566 help 1566 help
1567 Wait for wake-on-lan Magic Packet 1567 Wait for wake-on-lan Magic Packet
1568 1568
1569 endif 1569 endif
1570 1570
1571 menu "Misc commands" 1571 menu "Misc commands"
1572 1572
1573 config CMD_BMP 1573 config CMD_BMP
1574 bool "Enable 'bmp' command" 1574 bool "Enable 'bmp' command"
1575 depends on LCD || DM_VIDEO || VIDEO 1575 depends on LCD || DM_VIDEO || VIDEO
1576 help 1576 help
1577 This provides a way to obtain information about a BMP-format image 1577 This provides a way to obtain information about a BMP-format image
1578 and to display it. BMP (which presumably stands for BitMaP) is a 1578 and to display it. BMP (which presumably stands for BitMaP) is a
1579 file format defined by Microsoft which supports images of various 1579 file format defined by Microsoft which supports images of various
1580 depths, formats and compression methods. Headers on the file 1580 depths, formats and compression methods. Headers on the file
1581 determine the formats used. This command can be used by first loading 1581 determine the formats used. This command can be used by first loading
1582 the image into RAM, then using this command to look at it or display 1582 the image into RAM, then using this command to look at it or display
1583 it. 1583 it.
1584 1584
1585 config CMD_BOOTCOUNT 1585 config CMD_BOOTCOUNT
1586 bool "bootcount" 1586 bool "bootcount"
1587 depends on BOOTCOUNT_LIMIT 1587 depends on BOOTCOUNT_LIMIT
1588 help 1588 help
1589 Enable the bootcount command, which allows interrogation and 1589 Enable the bootcount command, which allows interrogation and
1590 reset of the bootcounter. 1590 reset of the bootcounter.
1591 1591
1592 config CMD_BSP 1592 config CMD_BSP
1593 bool "Enable board-specific commands" 1593 bool "Enable board-specific commands"
1594 help 1594 help
1595 (deprecated: instead, please define a Kconfig option for each command) 1595 (deprecated: instead, please define a Kconfig option for each command)
1596 1596
1597 Some boards have board-specific commands which are only enabled 1597 Some boards have board-specific commands which are only enabled
1598 during developemnt and need to be turned off for production. This 1598 during developemnt and need to be turned off for production. This
1599 option provides a way to control this. The commands that are enabled 1599 option provides a way to control this. The commands that are enabled
1600 vary depending on the board. 1600 vary depending on the board.
1601 1601
1602 config CMD_BKOPS_ENABLE 1602 config CMD_BKOPS_ENABLE
1603 bool "mmc bkops enable" 1603 bool "mmc bkops enable"
1604 depends on CMD_MMC 1604 depends on CMD_MMC
1605 default n 1605 default n
1606 help 1606 help
1607 Enable command for setting manual background operations handshake 1607 Enable command for setting manual background operations handshake
1608 on a eMMC device. The feature is optionally available on eMMC devices 1608 on a eMMC device. The feature is optionally available on eMMC devices
1609 conforming to standard >= 4.41. 1609 conforming to standard >= 4.41.
1610 1610
1611 config CMD_BLOCK_CACHE 1611 config CMD_BLOCK_CACHE
1612 bool "blkcache - control and stats for block cache" 1612 bool "blkcache - control and stats for block cache"
1613 depends on BLOCK_CACHE 1613 depends on BLOCK_CACHE
1614 default y if BLOCK_CACHE 1614 default y if BLOCK_CACHE
1615 help 1615 help
1616 Enable the blkcache command, which can be used to control the 1616 Enable the blkcache command, which can be used to control the
1617 operation of the cache functions. 1617 operation of the cache functions.
1618 This is most useful when fine-tuning the operation of the cache 1618 This is most useful when fine-tuning the operation of the cache
1619 during development, but also allows the cache to be disabled when 1619 during development, but also allows the cache to be disabled when
1620 it might hurt performance (e.g. when using the ums command). 1620 it might hurt performance (e.g. when using the ums command).
1621 1621
1622 config CMD_CACHE 1622 config CMD_CACHE
1623 bool "icache or dcache" 1623 bool "icache or dcache"
1624 help 1624 help
1625 Enable the "icache" and "dcache" commands 1625 Enable the "icache" and "dcache" commands
1626 1626
1627 config CMD_CONITRACE 1627 config CMD_CONITRACE
1628 bool "conitrace - trace console input codes" 1628 bool "conitrace - trace console input codes"
1629 help 1629 help
1630 Enable the 'conitrace' command which displays the codes received 1630 Enable the 'conitrace' command which displays the codes received
1631 from the console input as hexadecimal numbers. 1631 from the console input as hexadecimal numbers.
1632 1632
1633 config CMD_CLS 1633 config CMD_CLS
1634 bool "Enable clear screen command 'cls'" 1634 bool "Enable clear screen command 'cls'"
1635 depends on CFB_CONSOLE || DM_VIDEO || LCD || VIDEO 1635 depends on CFB_CONSOLE || DM_VIDEO || LCD || VIDEO
1636 default y if LCD 1636 default y if LCD
1637 help 1637 help
1638 Enable the 'cls' command which clears the screen contents 1638 Enable the 'cls' command which clears the screen contents
1639 on video frame buffer. 1639 on video frame buffer.
1640 1640
1641 config CMD_EFIDEBUG 1641 config CMD_EFIDEBUG
1642 bool "efidebug - display/configure UEFI environment" 1642 bool "efidebug - display/configure UEFI environment"
1643 depends on EFI_LOADER 1643 depends on EFI_LOADER
1644 select EFI_DEVICE_PATH_TO_TEXT 1644 select EFI_DEVICE_PATH_TO_TEXT
1645 default n 1645 default n
1646 help 1646 help
1647 Enable the 'efidebug' command which provides a subset of UEFI 1647 Enable the 'efidebug' command which provides a subset of UEFI
1648 shell utility with simplified functionality. It will be useful 1648 shell utility with simplified functionality. It will be useful
1649 particularly for managing boot parameters as well as examining 1649 particularly for managing boot parameters as well as examining
1650 various EFI status for debugging. 1650 various EFI status for debugging.
1651 1651
1652 config CMD_EXCEPTION 1652 config CMD_EXCEPTION
1653 bool "exception - raise exception" 1653 bool "exception - raise exception"
1654 depends on ARM || RISCV || X86 1654 depends on ARM || RISCV || X86
1655 help 1655 help
1656 Enable the 'exception' command which allows to raise an exception. 1656 Enable the 'exception' command which allows to raise an exception.
1657 1657
1658 config CMD_LED 1658 config CMD_LED
1659 bool "led" 1659 bool "led"
1660 depends on LED 1660 depends on LED
1661 default y if LED 1661 default y if LED
1662 help 1662 help
1663 Enable the 'led' command which allows for control of LEDs supported 1663 Enable the 'led' command which allows for control of LEDs supported
1664 by the board. The LEDs can be listed with 'led list' and controlled 1664 by the board. The LEDs can be listed with 'led list' and controlled
1665 with led on/off/togle/blink. Any LED drivers can be controlled with 1665 with led on/off/togle/blink. Any LED drivers can be controlled with
1666 this command, e.g. led_gpio. 1666 this command, e.g. led_gpio.
1667 1667
1668 config CMD_DATE 1668 config CMD_DATE
1669 bool "date" 1669 bool "date"
1670 default y if DM_RTC 1670 default y if DM_RTC
1671 select LIB_DATE 1671 select LIB_DATE
1672 help 1672 help
1673 Enable the 'date' command for getting/setting the time/date in RTC 1673 Enable the 'date' command for getting/setting the time/date in RTC
1674 devices. 1674 devices.
1675 1675
1676 config CMD_TIME 1676 config CMD_TIME
1677 bool "time" 1677 bool "time"
1678 help 1678 help
1679 Run commands and summarize execution time. 1679 Run commands and summarize execution time.
1680 1680
1681 config CMD_GETTIME 1681 config CMD_GETTIME
1682 bool "gettime - read elapsed time" 1682 bool "gettime - read elapsed time"
1683 help 1683 help
1684 Enable the 'gettime' command which reads the elapsed time since 1684 Enable the 'gettime' command which reads the elapsed time since
1685 U-Boot started running. This shows the time in seconds and 1685 U-Boot started running. This shows the time in seconds and
1686 milliseconds. See also the 'bootstage' command which provides more 1686 milliseconds. See also the 'bootstage' command which provides more
1687 flexibility for boot timing. 1687 flexibility for boot timing.
1688 1688
1689 config CMD_RNG 1689 config CMD_RNG
1690 bool "rng command" 1690 bool "rng command"
1691 depends on DM_RNG 1691 depends on DM_RNG
1692 select HEXDUMP 1692 select HEXDUMP
1693 help 1693 help
1694 Print bytes from the hardware random number generator. 1694 Print bytes from the hardware random number generator.
1695 1695
1696 # TODO: rename to CMD_SLEEP 1696 # TODO: rename to CMD_SLEEP
1697 config CMD_MISC 1697 config CMD_MISC
1698 bool "sleep" 1698 bool "sleep"
1699 default y 1699 default y
1700 help 1700 help
1701 Delay execution for some time 1701 Delay execution for some time
1702 1702
1703 config MP 1703 config MP
1704 bool "support for multiprocessor" 1704 bool "support for multiprocessor"
1705 help 1705 help
1706 This provides an option to brinup 1706 This provides an option to brinup
1707 different processors in multiprocessor 1707 different processors in multiprocessor
1708 cases. 1708 cases.
1709 1709
1710 config CMD_TIMER 1710 config CMD_TIMER
1711 bool "timer" 1711 bool "timer"
1712 help 1712 help
1713 Access the system timer. 1713 Access the system timer.
1714 1714
1715 config CMD_SOUND 1715 config CMD_SOUND
1716 bool "sound" 1716 bool "sound"
1717 depends on SOUND 1717 depends on SOUND
1718 help 1718 help
1719 This provides basic access to the U-Boot's sound support. The main 1719 This provides basic access to the U-Boot's sound support. The main
1720 feature is to play a beep. 1720 feature is to play a beep.
1721 1721
1722 sound init - set up sound system 1722 sound init - set up sound system
1723 sound play - play a sound 1723 sound play - play a sound
1724 1724
1725 config CMD_SYSBOOT 1725 config CMD_SYSBOOT
1726 bool "sysboot" 1726 bool "sysboot"
1727 select MENU 1727 select MENU
1728 help 1728 help
1729 Boot image via local extlinux.conf file 1729 Boot image via local extlinux.conf file
1730 1730
1731 config CMD_QFW 1731 config CMD_QFW
1732 bool "qfw" 1732 bool "qfw"
1733 select QFW 1733 select QFW
1734 help 1734 help
1735 This provides access to the QEMU firmware interface. The main 1735 This provides access to the QEMU firmware interface. The main
1736 feature is to allow easy loading of files passed to qemu-system 1736 feature is to allow easy loading of files passed to qemu-system
1737 via -kernel / -initrd 1737 via -kernel / -initrd
1738 1738
1739 source "cmd/mvebu/Kconfig" 1739 source "cmd/mvebu/Kconfig"
1740 1740
1741 config CMD_TERMINAL 1741 config CMD_TERMINAL
1742 bool "terminal - provides a way to attach a serial terminal" 1742 bool "terminal - provides a way to attach a serial terminal"
1743 help 1743 help
1744 Provides a 'cu'-like serial terminal command. This can be used to 1744 Provides a 'cu'-like serial terminal command. This can be used to
1745 access other serial ports from the system console. The terminal 1745 access other serial ports from the system console. The terminal
1746 is very simple with no special processing of characters. As with 1746 is very simple with no special processing of characters. As with
1747 cu, you can press ~. (tilde followed by period) to exit. 1747 cu, you can press ~. (tilde followed by period) to exit.
1748 1748
1749 config CMD_UUID 1749 config CMD_UUID
1750 bool "uuid, guid - generation of unique IDs" 1750 bool "uuid, guid - generation of unique IDs"
1751 select LIB_UUID 1751 select LIB_UUID
1752 help 1752 help
1753 This enables two commands: 1753 This enables two commands:
1754 1754
1755 uuid - generate random Universally Unique Identifier 1755 uuid - generate random Universally Unique Identifier
1756 guid - generate Globally Unique Identifier based on random UUID 1756 guid - generate Globally Unique Identifier based on random UUID
1757 1757
1758 The two commands are very similar except for the endianness of the 1758 The two commands are very similar except for the endianness of the
1759 output. 1759 output.
1760 1760
1761 endmenu 1761 endmenu
1762 1762
1763 source "cmd/ti/Kconfig" 1763 source "cmd/ti/Kconfig"
1764 1764
1765 config CMD_BOOTSTAGE 1765 config CMD_BOOTSTAGE
1766 bool "Enable the 'bootstage' command" 1766 bool "Enable the 'bootstage' command"
1767 depends on BOOTSTAGE 1767 depends on BOOTSTAGE
1768 help 1768 help
1769 Add a 'bootstage' command which supports printing a report 1769 Add a 'bootstage' command which supports printing a report
1770 and un/stashing of bootstage data. 1770 and un/stashing of bootstage data.
1771 1771
1772 menu "Power commands" 1772 menu "Power commands"
1773 config CMD_PMIC 1773 config CMD_PMIC
1774 bool "Enable Driver Model PMIC command" 1774 bool "Enable Driver Model PMIC command"
1775 depends on DM_PMIC 1775 depends on DM_PMIC
1776 help 1776 help
1777 This is the pmic command, based on a driver model pmic's API. 1777 This is the pmic command, based on a driver model pmic's API.
1778 Command features are unchanged: 1778 Command features are unchanged:
1779 - list - list pmic devices 1779 - list - list pmic devices
1780 - pmic dev <id> - show or [set] operating pmic device (NEW) 1780 - pmic dev <id> - show or [set] operating pmic device (NEW)
1781 - pmic dump - dump registers 1781 - pmic dump - dump registers
1782 - pmic read address - read byte of register at address 1782 - pmic read address - read byte of register at address
1783 - pmic write address - write byte to register at address 1783 - pmic write address - write byte to register at address
1784 The only one change for this command is 'dev' subcommand. 1784 The only one change for this command is 'dev' subcommand.
1785 1785
1786 config CMD_REGULATOR 1786 config CMD_REGULATOR
1787 bool "Enable Driver Model REGULATOR command" 1787 bool "Enable Driver Model REGULATOR command"
1788 depends on DM_REGULATOR 1788 depends on DM_REGULATOR
1789 help 1789 help
1790 This command is based on driver model regulator's API. 1790 This command is based on driver model regulator's API.
1791 User interface features: 1791 User interface features:
1792 - list - list regulator devices 1792 - list - list regulator devices
1793 - regulator dev <id> - show or [set] operating regulator device 1793 - regulator dev <id> - show or [set] operating regulator device
1794 - regulator info - print constraints info 1794 - regulator info - print constraints info
1795 - regulator status - print operating status 1795 - regulator status - print operating status
1796 - regulator value <val] <-f> - print/[set] voltage value [uV] 1796 - regulator value <val] <-f> - print/[set] voltage value [uV]
1797 - regulator current <val> - print/[set] current value [uA] 1797 - regulator current <val> - print/[set] current value [uA]
1798 - regulator mode <id> - print/[set] operating mode id 1798 - regulator mode <id> - print/[set] operating mode id
1799 - regulator enable - enable the regulator output 1799 - regulator enable - enable the regulator output
1800 - regulator disable - disable the regulator output 1800 - regulator disable - disable the regulator output
1801 1801
1802 The '-f' (force) option can be used for set the value which exceeds 1802 The '-f' (force) option can be used for set the value which exceeds
1803 the limits, which are found in device-tree and are kept in regulator's 1803 the limits, which are found in device-tree and are kept in regulator's
1804 uclass platdata structure. 1804 uclass platdata structure.
1805 1805
1806 endmenu 1806 endmenu
1807 1807
1808 menu "Security commands" 1808 menu "Security commands"
1809 config CMD_AES 1809 config CMD_AES
1810 bool "Enable the 'aes' command" 1810 bool "Enable the 'aes' command"
1811 select AES 1811 select AES
1812 help 1812 help
1813 This provides a means to encrypt and decrypt data using the AES 1813 This provides a means to encrypt and decrypt data using the AES
1814 (Advanced Encryption Standard). This algorithm uses a symetric key 1814 (Advanced Encryption Standard). This algorithm uses a symetric key
1815 and is widely used as a streaming cipher. Different key lengths are 1815 and is widely used as a streaming cipher. Different key lengths are
1816 supported by the algorithm but this command only supports 128 bits 1816 supported by the algorithm but this command only supports 128 bits
1817 at present. 1817 at present.
1818 1818
1819 config CMD_BLOB 1819 config CMD_BLOB
1820 bool "Enable the 'blob' command" 1820 bool "Enable the 'blob' command"
1821 depends on !MX6ULL && !MX6SLL && !MX6SL && !IMX8M 1821 depends on !MX6ULL && !MX6SLL && !MX6SL
1822 select IMX_HAB if ARCH_MX6 || ARCH_MX7 || ARCH_MX7ULP 1822 select IMX_HAB if ARCH_MX6 || ARCH_MX7 || ARCH_MX7ULP || ARCH_IMX8M
1823 help 1823 help
1824 This is used with the Freescale secure boot mechanism. 1824 This is used with the Freescale secure boot mechanism.
1825 1825
1826 Freescale's SEC block has built-in Blob Protocol which provides 1826 Freescale's SEC block has built-in Blob Protocol which provides
1827 a method for protecting user-defined data across system power 1827 a method for protecting user-defined data across system power
1828 cycles. SEC block protects data in a data structure called a Blob, 1828 cycles. SEC block protects data in a data structure called a Blob,
1829 which provides both confidentiality and integrity protection. 1829 which provides both confidentiality and integrity protection.
1830 1830
1831 Encapsulating data as a blob 1831 Encapsulating data as a blob
1832 Each time that the Blob Protocol is used to protect data, a 1832 Each time that the Blob Protocol is used to protect data, a
1833 different randomly generated key is used to encrypt the data. 1833 different randomly generated key is used to encrypt the data.
1834 This random key is itself encrypted using a key which is derived 1834 This random key is itself encrypted using a key which is derived
1835 from SoC's non-volatile secret key and a 16 bit Key identifier. 1835 from SoC's non-volatile secret key and a 16 bit Key identifier.
1836 The resulting encrypted key along with encrypted data is called a 1836 The resulting encrypted key along with encrypted data is called a
1837 blob. The non-volatile secure key is available for use only during 1837 blob. The non-volatile secure key is available for use only during
1838 secure boot. 1838 secure boot.
1839 1839
1840 During decapsulation, the reverse process is performed to get back 1840 During decapsulation, the reverse process is performed to get back
1841 the original data. 1841 the original data.
1842 1842
1843 Sub-commands: 1843 Sub-commands:
1844 blob enc - encapsulating data as a cryptgraphic blob 1844 blob enc - encapsulating data as a cryptgraphic blob
1845 blob dec - decapsulating cryptgraphic blob to get the data 1845 blob dec - decapsulating cryptgraphic blob to get the data
1846 1846
1847 Syntax: 1847 Syntax:
1848 1848
1849 blob enc src dst len km 1849 blob enc src dst len km
1850 1850
1851 Encapsulate and create blob of data $len bytes long 1851 Encapsulate and create blob of data $len bytes long
1852 at address $src and store the result at address $dst. 1852 at address $src and store the result at address $dst.
1853 $km is the 16 byte key modifier is also required for 1853 $km is the 16 byte key modifier is also required for
1854 generation/use as key for cryptographic operation. Key 1854 generation/use as key for cryptographic operation. Key
1855 modifier should be 16 byte long. 1855 modifier should be 16 byte long.
1856 1856
1857 blob dec src dst len km 1857 blob dec src dst len km
1858 1858
1859 Decapsulate the blob of data at address $src and 1859 Decapsulate the blob of data at address $src and
1860 store result of $len byte at addr $dst. 1860 store result of $len byte at addr $dst.
1861 $km is the 16 byte key modifier is also required for 1861 $km is the 16 byte key modifier is also required for
1862 generation/use as key for cryptographic operation. Key 1862 generation/use as key for cryptographic operation. Key
1863 modifier should be 16 byte long. 1863 modifier should be 16 byte long.
1864 1864
1865 config CMD_HASH 1865 config CMD_HASH
1866 bool "Support 'hash' command" 1866 bool "Support 'hash' command"
1867 select HASH 1867 select HASH
1868 help 1868 help
1869 This provides a way to hash data in memory using various supported 1869 This provides a way to hash data in memory using various supported
1870 algorithms (such as SHA1, MD5, CRC32). The computed digest can be 1870 algorithms (such as SHA1, MD5, CRC32). The computed digest can be
1871 saved to memory or to an environment variable. It is also possible 1871 saved to memory or to an environment variable. It is also possible
1872 to verify a hash against data in memory. 1872 to verify a hash against data in memory.
1873 1873
1874 config CMD_HVC 1874 config CMD_HVC
1875 bool "Support the 'hvc' command" 1875 bool "Support the 'hvc' command"
1876 depends on ARM_SMCCC 1876 depends on ARM_SMCCC
1877 help 1877 help
1878 Allows issuing Hypervisor Calls (HVCs). Mostly useful for 1878 Allows issuing Hypervisor Calls (HVCs). Mostly useful for
1879 development and testing. 1879 development and testing.
1880 1880
1881 config CMD_SMC 1881 config CMD_SMC
1882 bool "Support the 'smc' command" 1882 bool "Support the 'smc' command"
1883 depends on ARM_SMCCC 1883 depends on ARM_SMCCC
1884 help 1884 help
1885 Allows issuing Secure Monitor Calls (SMCs). Mostly useful for 1885 Allows issuing Secure Monitor Calls (SMCs). Mostly useful for
1886 development and testing. 1886 development and testing.
1887 1887
1888 config HASH_VERIFY 1888 config HASH_VERIFY
1889 bool "hash -v" 1889 bool "hash -v"
1890 depends on CMD_HASH 1890 depends on CMD_HASH
1891 help 1891 help
1892 Add -v option to verify data against a hash. 1892 Add -v option to verify data against a hash.
1893 1893
1894 config CMD_TPM_V1 1894 config CMD_TPM_V1
1895 bool 1895 bool
1896 1896
1897 config CMD_TPM_V2 1897 config CMD_TPM_V2
1898 bool 1898 bool
1899 select CMD_LOG 1899 select CMD_LOG
1900 1900
1901 config CMD_TPM 1901 config CMD_TPM
1902 bool "Enable the 'tpm' command" 1902 bool "Enable the 'tpm' command"
1903 depends on TPM_V1 || TPM_V2 1903 depends on TPM_V1 || TPM_V2
1904 select CMD_TPM_V1 if TPM_V1 1904 select CMD_TPM_V1 if TPM_V1
1905 select CMD_TPM_V2 if TPM_V2 1905 select CMD_TPM_V2 if TPM_V2
1906 help 1906 help
1907 This provides a means to talk to a TPM from the command line. A wide 1907 This provides a means to talk to a TPM from the command line. A wide
1908 range of commands if provided - see 'tpm help' for details. The 1908 range of commands if provided - see 'tpm help' for details. The
1909 command requires a suitable TPM on your board and the correct driver 1909 command requires a suitable TPM on your board and the correct driver
1910 must be enabled. 1910 must be enabled.
1911 1911
1912 if CMD_TPM 1912 if CMD_TPM
1913 1913
1914 config CMD_TPM_TEST 1914 config CMD_TPM_TEST
1915 bool "Enable the 'tpm test' command" 1915 bool "Enable the 'tpm test' command"
1916 depends on TPM_V1 1916 depends on TPM_V1
1917 help 1917 help
1918 This provides a a series of tests to confirm that the TPMv1.x is 1918 This provides a a series of tests to confirm that the TPMv1.x is
1919 working correctly. The tests cover initialisation, non-volatile RAM, 1919 working correctly. The tests cover initialisation, non-volatile RAM,
1920 extend, global lock and checking that timing is within expectations. 1920 extend, global lock and checking that timing is within expectations.
1921 The tests pass correctly on Infineon TPMs but may need to be adjusted 1921 The tests pass correctly on Infineon TPMs but may need to be adjusted
1922 for other devices. 1922 for other devices.
1923 1923
1924 endif 1924 endif
1925 1925
1926 endmenu 1926 endmenu
1927 1927
1928 menu "Firmware commands" 1928 menu "Firmware commands"
1929 config CMD_CROS_EC 1929 config CMD_CROS_EC
1930 bool "Enable crosec command" 1930 bool "Enable crosec command"
1931 depends on CROS_EC 1931 depends on CROS_EC
1932 default y 1932 default y
1933 help 1933 help
1934 Enable command-line access to the Chrome OS EC (Embedded 1934 Enable command-line access to the Chrome OS EC (Embedded
1935 Controller). This provides the 'crosec' command which has 1935 Controller). This provides the 'crosec' command which has
1936 a number of sub-commands for performing EC tasks such as 1936 a number of sub-commands for performing EC tasks such as
1937 updating its flash, accessing a small saved context area 1937 updating its flash, accessing a small saved context area
1938 and talking to the I2C bus behind the EC (if there is one). 1938 and talking to the I2C bus behind the EC (if there is one).
1939 endmenu 1939 endmenu
1940 1940
1941 menu "Filesystem commands" 1941 menu "Filesystem commands"
1942 config CMD_BTRFS 1942 config CMD_BTRFS
1943 bool "Enable the 'btrsubvol' command" 1943 bool "Enable the 'btrsubvol' command"
1944 select FS_BTRFS 1944 select FS_BTRFS
1945 help 1945 help
1946 This enables the 'btrsubvol' command to list subvolumes 1946 This enables the 'btrsubvol' command to list subvolumes
1947 of a BTRFS filesystem. There are no special commands for 1947 of a BTRFS filesystem. There are no special commands for
1948 listing BTRFS directories or loading BTRFS files - this 1948 listing BTRFS directories or loading BTRFS files - this
1949 can be done by the generic 'fs' commands (see CMD_FS_GENERIC) 1949 can be done by the generic 'fs' commands (see CMD_FS_GENERIC)
1950 when BTRFS is enabled (see FS_BTRFS). 1950 when BTRFS is enabled (see FS_BTRFS).
1951 1951
1952 config CMD_CBFS 1952 config CMD_CBFS
1953 bool "Enable the 'cbfs' command" 1953 bool "Enable the 'cbfs' command"
1954 depends on FS_CBFS 1954 depends on FS_CBFS
1955 help 1955 help
1956 Define this to enable support for reading from a Coreboot 1956 Define this to enable support for reading from a Coreboot
1957 filesystem. This is a ROM-based filesystem used for accessing files 1957 filesystem. This is a ROM-based filesystem used for accessing files
1958 on systems that use coreboot as the first boot-loader and then load 1958 on systems that use coreboot as the first boot-loader and then load
1959 U-Boot to actually boot the Operating System. Available commands are 1959 U-Boot to actually boot the Operating System. Available commands are
1960 cbfsinit, cbfsinfo, cbfsls and cbfsload. 1960 cbfsinit, cbfsinfo, cbfsls and cbfsload.
1961 1961
1962 config CMD_CRAMFS 1962 config CMD_CRAMFS
1963 bool "Enable the 'cramfs' command" 1963 bool "Enable the 'cramfs' command"
1964 depends on FS_CRAMFS 1964 depends on FS_CRAMFS
1965 help 1965 help
1966 This provides commands for dealing with CRAMFS (Compressed ROM 1966 This provides commands for dealing with CRAMFS (Compressed ROM
1967 filesystem). CRAMFS is useful when space is tight since files are 1967 filesystem). CRAMFS is useful when space is tight since files are
1968 compressed. Two commands are provided: 1968 compressed. Two commands are provided:
1969 1969
1970 cramfsls - lists files in a cramfs image 1970 cramfsls - lists files in a cramfs image
1971 cramfsload - loads a file from a cramfs image 1971 cramfsload - loads a file from a cramfs image
1972 1972
1973 config CMD_EXT2 1973 config CMD_EXT2
1974 bool "ext2 command support" 1974 bool "ext2 command support"
1975 select FS_EXT4 1975 select FS_EXT4
1976 help 1976 help
1977 Enables EXT2 FS command 1977 Enables EXT2 FS command
1978 1978
1979 config CMD_EXT4 1979 config CMD_EXT4
1980 bool "ext4 command support" 1980 bool "ext4 command support"
1981 select FS_EXT4 1981 select FS_EXT4
1982 help 1982 help
1983 Enables EXT4 FS command 1983 Enables EXT4 FS command
1984 1984
1985 config CMD_EXT4_WRITE 1985 config CMD_EXT4_WRITE
1986 depends on CMD_EXT4 1986 depends on CMD_EXT4
1987 bool "ext4 write command support" 1987 bool "ext4 write command support"
1988 select EXT4_WRITE 1988 select EXT4_WRITE
1989 help 1989 help
1990 Enables EXT4 FS write command 1990 Enables EXT4 FS write command
1991 1991
1992 config CMD_FAT 1992 config CMD_FAT
1993 bool "FAT command support" 1993 bool "FAT command support"
1994 select FS_FAT 1994 select FS_FAT
1995 help 1995 help
1996 Support for the FAT fs 1996 Support for the FAT fs
1997 1997
1998 config CMD_FS_GENERIC 1998 config CMD_FS_GENERIC
1999 bool "filesystem commands" 1999 bool "filesystem commands"
2000 help 2000 help
2001 Enables filesystem commands (e.g. load, ls) that work for multiple 2001 Enables filesystem commands (e.g. load, ls) that work for multiple
2002 fs types. 2002 fs types.
2003 2003
2004 config CMD_FS_UUID 2004 config CMD_FS_UUID
2005 bool "fsuuid command" 2005 bool "fsuuid command"
2006 help 2006 help
2007 Enables fsuuid command for filesystem UUID. 2007 Enables fsuuid command for filesystem UUID.
2008 2008
2009 config CMD_JFFS2 2009 config CMD_JFFS2
2010 bool "jffs2 command" 2010 bool "jffs2 command"
2011 select FS_JFFS2 2011 select FS_JFFS2
2012 help 2012 help
2013 Enables commands to support the JFFS2 (Journalling Flash File System 2013 Enables commands to support the JFFS2 (Journalling Flash File System
2014 version 2) filesystem. This enables fsload, ls and fsinfo which 2014 version 2) filesystem. This enables fsload, ls and fsinfo which
2015 provide the ability to load files, list directories and obtain 2015 provide the ability to load files, list directories and obtain
2016 filesystem information. 2016 filesystem information.
2017 2017
2018 config CMD_MTDPARTS 2018 config CMD_MTDPARTS
2019 bool "MTD partition support" 2019 bool "MTD partition support"
2020 depends on MTD 2020 depends on MTD
2021 help 2021 help
2022 MTD partitioning tool support. 2022 MTD partitioning tool support.
2023 It is strongly encouraged to avoid using this command 2023 It is strongly encouraged to avoid using this command
2024 anymore along with 'sf', 'nand', 'onenand'. One can still 2024 anymore along with 'sf', 'nand', 'onenand'. One can still
2025 declare the partitions in the mtdparts environment variable 2025 declare the partitions in the mtdparts environment variable
2026 but better use the MTD stack and the 'mtd' command instead. 2026 but better use the MTD stack and the 'mtd' command instead.
2027 2027
2028 config CMD_MTDPARTS_SPREAD 2028 config CMD_MTDPARTS_SPREAD
2029 bool "Padd partition size to take account of bad blocks" 2029 bool "Padd partition size to take account of bad blocks"
2030 depends on CMD_MTDPARTS 2030 depends on CMD_MTDPARTS
2031 help 2031 help
2032 This enables the 'spread' sub-command of the mtdparts command. 2032 This enables the 'spread' sub-command of the mtdparts command.
2033 This command will modify the existing mtdparts variable by increasing 2033 This command will modify the existing mtdparts variable by increasing
2034 the size of the partitions such that 1) each partition's net size is 2034 the size of the partitions such that 1) each partition's net size is
2035 at least as large as the size specified in the mtdparts variable and 2035 at least as large as the size specified in the mtdparts variable and
2036 2) each partition starts on a good block. 2036 2) each partition starts on a good block.
2037 2037
2038 config CMD_MTDPARTS_SHOW_NET_SIZES 2038 config CMD_MTDPARTS_SHOW_NET_SIZES
2039 bool "Show net size (w/o bad blocks) of partitions" 2039 bool "Show net size (w/o bad blocks) of partitions"
2040 depends on CMD_MTDPARTS 2040 depends on CMD_MTDPARTS
2041 help 2041 help
2042 Adds two columns to the printed partition table showing the 2042 Adds two columns to the printed partition table showing the
2043 effective usable size of a partition, if bad blocks are taken 2043 effective usable size of a partition, if bad blocks are taken
2044 into account. 2044 into account.
2045 2045
2046 config MTDIDS_DEFAULT 2046 config MTDIDS_DEFAULT
2047 string "Default MTD IDs" 2047 string "Default MTD IDs"
2048 depends on MTD || SPI_FLASH 2048 depends on MTD || SPI_FLASH
2049 help 2049 help
2050 Defines a default MTD IDs list for use with MTD partitions in the 2050 Defines a default MTD IDs list for use with MTD partitions in the
2051 Linux MTD command line partitions format. 2051 Linux MTD command line partitions format.
2052 2052
2053 config MTDPARTS_DEFAULT 2053 config MTDPARTS_DEFAULT
2054 string "Default MTD partition scheme" 2054 string "Default MTD partition scheme"
2055 depends on MTD || SPI_FLASH 2055 depends on MTD || SPI_FLASH
2056 help 2056 help
2057 Defines a default MTD partitioning scheme in the Linux MTD command 2057 Defines a default MTD partitioning scheme in the Linux MTD command
2058 line partitions format 2058 line partitions format
2059 2059
2060 config CMD_REISER 2060 config CMD_REISER
2061 bool "reiser - Access to reiserfs filesystems" 2061 bool "reiser - Access to reiserfs filesystems"
2062 help 2062 help
2063 This provides two commands which operate on a resierfs filesystem, 2063 This provides two commands which operate on a resierfs filesystem,
2064 commonly used some years ago: 2064 commonly used some years ago:
2065 2065
2066 reiserls - list files 2066 reiserls - list files
2067 reiserload - load a file 2067 reiserload - load a file
2068 2068
2069 config CMD_YAFFS2 2069 config CMD_YAFFS2
2070 bool "yaffs2 - Access of YAFFS2 filesystem" 2070 bool "yaffs2 - Access of YAFFS2 filesystem"
2071 depends on YAFFS2 2071 depends on YAFFS2
2072 default y 2072 default y
2073 help 2073 help
2074 This provides commands for accessing a YAFFS2 filesystem. Yet 2074 This provides commands for accessing a YAFFS2 filesystem. Yet
2075 Another Flash Filesystem 2 is a filesystem designed specifically 2075 Another Flash Filesystem 2 is a filesystem designed specifically
2076 for NAND flash. It incorporates bad-block management and ensures 2076 for NAND flash. It incorporates bad-block management and ensures
2077 that device writes are sequential regardless of filesystem 2077 that device writes are sequential regardless of filesystem
2078 activity. 2078 activity.
2079 2079
2080 config CMD_ZFS 2080 config CMD_ZFS
2081 bool "zfs - Access of ZFS filesystem" 2081 bool "zfs - Access of ZFS filesystem"
2082 help 2082 help
2083 This provides commands to accessing a ZFS filesystem, commonly used 2083 This provides commands to accessing a ZFS filesystem, commonly used
2084 on Solaris systems. Two sub-commands are provided: 2084 on Solaris systems. Two sub-commands are provided:
2085 2085
2086 zfsls - list files in a directory 2086 zfsls - list files in a directory
2087 zfsload - load a file 2087 zfsload - load a file
2088 2088
2089 See doc/README.zfs for more details. 2089 See doc/README.zfs for more details.
2090 2090
2091 endmenu 2091 endmenu
2092 2092
2093 menu "Debug commands" 2093 menu "Debug commands"
2094 2094
2095 config CMD_BEDBUG 2095 config CMD_BEDBUG
2096 bool "bedbug" 2096 bool "bedbug"
2097 help 2097 help
2098 The bedbug (emBEDded deBUGger) command provides debugging features 2098 The bedbug (emBEDded deBUGger) command provides debugging features
2099 for some PowerPC processors. For details please see the 2099 for some PowerPC processors. For details please see the
2100 docuemntation in doc/README.beddbug 2100 docuemntation in doc/README.beddbug
2101 2101
2102 config CMD_DIAG 2102 config CMD_DIAG
2103 bool "diag - Board diagnostics" 2103 bool "diag - Board diagnostics"
2104 help 2104 help
2105 This command provides access to board diagnostic tests. These are 2105 This command provides access to board diagnostic tests. These are
2106 called Power-on Self Tests (POST). The command allows listing of 2106 called Power-on Self Tests (POST). The command allows listing of
2107 available tests and running either all the tests, or specific tests 2107 available tests and running either all the tests, or specific tests
2108 identified by name. 2108 identified by name.
2109 2109
2110 config CMD_IRQ 2110 config CMD_IRQ
2111 bool "irq - Show information about interrupts" 2111 bool "irq - Show information about interrupts"
2112 depends on !ARM && !MIPS && !SH 2112 depends on !ARM && !MIPS && !SH
2113 help 2113 help
2114 This enables two commands: 2114 This enables two commands:
2115 2115
2116 interrupts - enable or disable interrupts 2116 interrupts - enable or disable interrupts
2117 irqinfo - print device-specific interrupt information 2117 irqinfo - print device-specific interrupt information
2118 2118
2119 config CMD_KGDB 2119 config CMD_KGDB
2120 bool "kgdb - Allow debugging of U-Boot with gdb" 2120 bool "kgdb - Allow debugging of U-Boot with gdb"
2121 depends on PPC 2121 depends on PPC
2122 help 2122 help
2123 This enables a 'kgdb' command which allows gdb to connect to U-Boot 2123 This enables a 'kgdb' command which allows gdb to connect to U-Boot
2124 over a serial link for debugging purposes. This allows 2124 over a serial link for debugging purposes. This allows
2125 single-stepping, inspecting variables, etc. This is supported only 2125 single-stepping, inspecting variables, etc. This is supported only
2126 on PowerPC at present. 2126 on PowerPC at present.
2127 2127
2128 config CMD_LOG 2128 config CMD_LOG
2129 bool "log - Generation, control and access to logging" 2129 bool "log - Generation, control and access to logging"
2130 select LOG 2130 select LOG
2131 help 2131 help
2132 This provides access to logging features. It allows the output of 2132 This provides access to logging features. It allows the output of
2133 log data to be controlled to a limited extent (setting up the default 2133 log data to be controlled to a limited extent (setting up the default
2134 maximum log level for emitting of records). It also provides access 2134 maximum log level for emitting of records). It also provides access
2135 to a command used for testing the log system. 2135 to a command used for testing the log system.
2136 2136
2137 config CMD_TRACE 2137 config CMD_TRACE
2138 bool "trace - Support tracing of function calls and timing" 2138 bool "trace - Support tracing of function calls and timing"
2139 help 2139 help
2140 Enables a command to control using of function tracing within 2140 Enables a command to control using of function tracing within
2141 U-Boot. This allows recording of call traces including timing 2141 U-Boot. This allows recording of call traces including timing
2142 information. The command can write data to memory for exporting 2142 information. The command can write data to memory for exporting
2143 for analysis (e.g. using bootchart). See doc/README.trace for full 2143 for analysis (e.g. using bootchart). See doc/README.trace for full
2144 details. 2144 details.
2145 2145
2146 config CMD_AVB 2146 config CMD_AVB
2147 bool "avb - Android Verified Boot 2.0 operations" 2147 bool "avb - Android Verified Boot 2.0 operations"
2148 depends on AVB_VERIFY 2148 depends on AVB_VERIFY
2149 default n 2149 default n
2150 help 2150 help
2151 Enables a "avb" command to perform verification of partitions using 2151 Enables a "avb" command to perform verification of partitions using
2152 Android Verified Boot 2.0 functionality. It includes such subcommands: 2152 Android Verified Boot 2.0 functionality. It includes such subcommands:
2153 avb init - initialize avb2 subsystem 2153 avb init - initialize avb2 subsystem
2154 avb read_rb - read rollback index 2154 avb read_rb - read rollback index
2155 avb write_rb - write rollback index 2155 avb write_rb - write rollback index
2156 avb is_unlocked - check device lock state 2156 avb is_unlocked - check device lock state
2157 avb get_uuid - read and print uuid of a partition 2157 avb get_uuid - read and print uuid of a partition
2158 avb read_part - read data from partition 2158 avb read_part - read data from partition
2159 avb read_part_hex - read data from partition and output to stdout 2159 avb read_part_hex - read data from partition and output to stdout
2160 avb write_part - write data to partition 2160 avb write_part - write data to partition
2161 avb verify - run full verification chain 2161 avb verify - run full verification chain
2162 endmenu 2162 endmenu
2163 2163
2164 config CMD_UBI 2164 config CMD_UBI
2165 tristate "Enable UBI - Unsorted block images commands" 2165 tristate "Enable UBI - Unsorted block images commands"
2166 select MTD_UBI 2166 select MTD_UBI
2167 help 2167 help
2168 UBI is a software layer above MTD layer which admits use of LVM-like 2168 UBI is a software layer above MTD layer which admits use of LVM-like
2169 logical volumes on top of MTD devices, hides some complexities of 2169 logical volumes on top of MTD devices, hides some complexities of
2170 flash chips like wear and bad blocks and provides some other useful 2170 flash chips like wear and bad blocks and provides some other useful
2171 capabilities. Please, consult the MTD web site for more details 2171 capabilities. Please, consult the MTD web site for more details
2172 (www.linux-mtd.infradead.org). Activate this option if you want 2172 (www.linux-mtd.infradead.org). Activate this option if you want
2173 to use U-Boot UBI commands. 2173 to use U-Boot UBI commands.
2174 It is also strongly encouraged to also enable CONFIG_MTD to get full 2174 It is also strongly encouraged to also enable CONFIG_MTD to get full
2175 partition support. 2175 partition support.
2176 2176
2177 config CMD_UBIFS 2177 config CMD_UBIFS
2178 tristate "Enable UBIFS - Unsorted block images filesystem commands" 2178 tristate "Enable UBIFS - Unsorted block images filesystem commands"
2179 depends on CMD_UBI 2179 depends on CMD_UBI
2180 default y if CMD_UBI 2180 default y if CMD_UBI
2181 select LZO 2181 select LZO
2182 help 2182 help
2183 UBIFS is a file system for flash devices which works on top of UBI. 2183 UBIFS is a file system for flash devices which works on top of UBI.
2184 2184
2185 endmenu 2185 endmenu
2186 2186
1 // SPDX-License-Identifier: GPL-2.0+ 1 // SPDX-License-Identifier: GPL-2.0+
2 /* 2 /*
3 * 3 *
4 * Command for encapsulating/decapsulating blob of memory. 4 * Command for encapsulating/decapsulating blob of memory.
5 */ 5 */
6 6
7 #include <common.h> 7 #include <common.h>
8 #include <command.h> 8 #include <command.h>
9 #include <malloc.h> 9 #include <malloc.h>
10 #include <asm/byteorder.h> 10 #include <asm/byteorder.h>
11 #include <linux/compiler.h> 11 #include <linux/compiler.h>
12 #if defined(CONFIG_ARCH_MX6) || defined(CONFIG_ARCH_MX7) || \ 12 #if defined(CONFIG_ARCH_MX6) || defined(CONFIG_ARCH_MX7) || \
13 defined(CONFIG_ARCH_MX7ULP) 13 defined(CONFIG_ARCH_MX7ULP) || defined(CONFIG_ARCH_IMX8M)
14 #include <fsl_sec.h> 14 #include <fsl_sec.h>
15 #include <asm/arch/clock.h> 15 #include <asm/arch/clock.h>
16 #endif 16 #endif
17 17
18 /** 18 /**
19 * blob_decap() - Decapsulate the data as a blob 19 * blob_decap() - Decapsulate the data as a blob
20 * @key_mod: - Pointer to key modifier/key 20 * @key_mod: - Pointer to key modifier/key
21 * @src: - Address of data to be decapsulated 21 * @src: - Address of data to be decapsulated
22 * @dst: - Address of data to be decapsulated 22 * @dst: - Address of data to be decapsulated
23 * @len: - Size of data to be decapsulated 23 * @len: - Size of data to be decapsulated
24 * 24 *
25 * Returns zero on success,and negative on error. 25 * Returns zero on success,and negative on error.
26 */ 26 */
27 __weak int blob_decap(u8 *key_mod, u8 *src, u8 *dst, u32 len) 27 __weak int blob_decap(u8 *key_mod, u8 *src, u8 *dst, u32 len)
28 { 28 {
29 return 0; 29 return 0;
30 } 30 }
31 31
32 /** 32 /**
33 * blob_encap() - Encapsulate the data as a blob 33 * blob_encap() - Encapsulate the data as a blob
34 * @key_mod: - Pointer to key modifier/key 34 * @key_mod: - Pointer to key modifier/key
35 * @src: - Address of data to be encapsulated 35 * @src: - Address of data to be encapsulated
36 * @dst: - Address of data to be encapsulated 36 * @dst: - Address of data to be encapsulated
37 * @len: - Size of data to be encapsulated 37 * @len: - Size of data to be encapsulated
38 * 38 *
39 * Returns zero on success,and negative on error. 39 * Returns zero on success,and negative on error.
40 */ 40 */
41 __weak int blob_encap(u8 *key_mod, u8 *src, u8 *dst, u32 len) 41 __weak int blob_encap(u8 *key_mod, u8 *src, u8 *dst, u32 len)
42 { 42 {
43 return 0; 43 return 0;
44 } 44 }
45 45
46 /** 46 /**
47 * do_blob() - Handle the "blob" command-line command 47 * do_blob() - Handle the "blob" command-line command
48 * @cmdtp: Command data struct pointer 48 * @cmdtp: Command data struct pointer
49 * @flag: Command flag 49 * @flag: Command flag
50 * @argc: Command-line argument count 50 * @argc: Command-line argument count
51 * @argv: Array of command-line arguments 51 * @argv: Array of command-line arguments
52 * 52 *
53 * Returns zero on success, CMD_RET_USAGE in case of misuse and negative 53 * Returns zero on success, CMD_RET_USAGE in case of misuse and negative
54 * on error. 54 * on error.
55 */ 55 */
56 static int do_blob(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) 56 static int do_blob(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
57 { 57 {
58 ulong key_addr, src_addr, dst_addr, len; 58 ulong key_addr, src_addr, dst_addr, len;
59 uint8_t *km_ptr, *src_ptr, *dst_ptr; 59 uint8_t *km_ptr, *src_ptr, *dst_ptr;
60 int enc, ret = 0; 60 int enc, ret = 0;
61 61
62 if (argc != 6) 62 if (argc != 6)
63 return CMD_RET_USAGE; 63 return CMD_RET_USAGE;
64 64
65 if (!strncmp(argv[1], "enc", 3)) 65 if (!strncmp(argv[1], "enc", 3))
66 enc = 1; 66 enc = 1;
67 else if (!strncmp(argv[1], "dec", 3)) 67 else if (!strncmp(argv[1], "dec", 3))
68 enc = 0; 68 enc = 0;
69 else 69 else
70 return CMD_RET_USAGE; 70 return CMD_RET_USAGE;
71 71
72 src_addr = simple_strtoul(argv[2], NULL, 16); 72 src_addr = simple_strtoul(argv[2], NULL, 16);
73 dst_addr = simple_strtoul(argv[3], NULL, 16); 73 dst_addr = simple_strtoul(argv[3], NULL, 16);
74 len = simple_strtoul(argv[4], NULL, 16); 74 len = simple_strtoul(argv[4], NULL, 16);
75 key_addr = simple_strtoul(argv[5], NULL, 16); 75 key_addr = simple_strtoul(argv[5], NULL, 16);
76 76
77 km_ptr = (uint8_t *)(uintptr_t)key_addr; 77 km_ptr = (uint8_t *)(uintptr_t)key_addr;
78 src_ptr = (uint8_t *)(uintptr_t)src_addr; 78 src_ptr = (uint8_t *)(uintptr_t)src_addr;
79 dst_ptr = (uint8_t *)(uintptr_t)dst_addr; 79 dst_ptr = (uint8_t *)(uintptr_t)dst_addr;
80 80
81 #if defined(CONFIG_ARCH_MX6) || defined(CONFIG_ARCH_MX7) || \ 81 #if defined(CONFIG_ARCH_MX6) || defined(CONFIG_ARCH_MX7) || \
82 defined(CONFIG_ARCH_MX7ULP) 82 defined(CONFIG_ARCH_MX7ULP) || defined(CONFIG_ARCH_IMX8M)
83 83
84 hab_caam_clock_enable(1); 84 hab_caam_clock_enable(1);
85 85
86 u32 out_jr_size = sec_in32(CONFIG_SYS_FSL_JR0_ADDR + 86 u32 out_jr_size = sec_in32(CONFIG_SYS_FSL_JR0_ADDR +
87 FSL_CAAM_ORSR_JRa_OFFSET); 87 FSL_CAAM_ORSR_JRa_OFFSET);
88 if (out_jr_size != FSL_CAAM_MAX_JR_SIZE) 88 if (out_jr_size != FSL_CAAM_MAX_JR_SIZE)
89 sec_init(); 89 sec_init();
90 #endif 90 #endif
91 91
92 if (enc) 92 if (enc)
93 ret = blob_encap(km_ptr, src_ptr, dst_ptr, len); 93 ret = blob_encap(km_ptr, src_ptr, dst_ptr, len);
94 else 94 else
95 ret = blob_decap(km_ptr, src_ptr, dst_ptr, len); 95 ret = blob_decap(km_ptr, src_ptr, dst_ptr, len);
96 96
97 return ret; 97 return ret;
98 } 98 }
99 99
100 /***************************************************/ 100 /***************************************************/
101 static char blob_help_text[] = 101 static char blob_help_text[] =
102 "enc src dst len km - Encapsulate and create blob of data\n" 102 "enc src dst len km - Encapsulate and create blob of data\n"
103 " $len bytes long at address $src and\n" 103 " $len bytes long at address $src and\n"
104 " store the result at address $dst.\n" 104 " store the result at address $dst.\n"
105 " $km is the address where the key\n" 105 " $km is the address where the key\n"
106 " modifier is stored.\n" 106 " modifier is stored.\n"
107 " The modifier is required for generation\n" 107 " The modifier is required for generation\n"
108 " /use as key for cryptographic operation.\n" 108 " /use as key for cryptographic operation.\n"
109 " Key modifier should be 16 byte long.\n" 109 " Key modifier should be 16 byte long.\n"
110 "blob dec src dst len km - Decapsulate the blob of data at address\n" 110 "blob dec src dst len km - Decapsulate the blob of data at address\n"
111 " $src and store result of $len byte at\n" 111 " $src and store result of $len byte at\n"
112 " addr $dst.\n" 112 " addr $dst.\n"
113 " $km is the address where the key\n" 113 " $km is the address where the key\n"
114 " modifier is stored.\n" 114 " modifier is stored.\n"
115 " The modifier is required for generation\n" 115 " The modifier is required for generation\n"
116 " /use as key for cryptographic operation.\n" 116 " /use as key for cryptographic operation.\n"
117 " Key modifier should be 16 byte long.\n"; 117 " Key modifier should be 16 byte long.\n";
118 118
119 U_BOOT_CMD( 119 U_BOOT_CMD(
120 blob, 6, 1, do_blob, 120 blob, 6, 1, do_blob,
121 "Blob encapsulation/decryption", 121 "Blob encapsulation/decryption",
122 blob_help_text 122 blob_help_text
123 ); 123 );
124 124