Kconfig 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. menu "Command line interface"
  2. config HUSH_PARSER
  3. bool "Use hush shell"
  4. select SYS_HUSH_PARSER
  5. help
  6. This option enables the "hush" shell (from Busybox) as command line
  7. interpreter, thus enabling powerful command line syntax like
  8. if...then...else...fi conditionals or `&&' and '||'
  9. constructs ("shell scripts").
  10. If disabled, you get the old, much simpler behaviour with a somewhat
  11. smaller memory footprint.
  12. config SYS_HUSH_PARSER
  13. bool
  14. help
  15. Backward compatibility.
  16. config SYS_PROMPT
  17. string "Shell prompt"
  18. default "=> "
  19. help
  20. This string is displayed in the command line to the left of the
  21. cursor.
  22. menu "Autoboot options"
  23. config AUTOBOOT_KEYED
  24. bool "Stop autobooting via specific input key / string"
  25. default n
  26. help
  27. This option enables stopping (aborting) of the automatic
  28. boot feature only by issuing a specific input key or
  29. string. If not enabled, any input key will abort the
  30. U-Boot automatic booting process and bring the device
  31. to the U-Boot prompt for user input.
  32. config AUTOBOOT_PROMPT
  33. string "Autoboot stop prompt"
  34. depends on AUTOBOOT_KEYED
  35. default "Autoboot in %d seconds\\n"
  36. help
  37. This string is displayed before the boot delay selected by
  38. CONFIG_BOOTDELAY starts. If it is not defined there is no
  39. output indicating that autoboot is in progress.
  40. Note that this define is used as the (only) argument to a
  41. printf() call, so it may contain '%' format specifications,
  42. provided that it also includes, sepearated by commas exactly
  43. like in a printf statement, the required arguments. It is
  44. the responsibility of the user to select only such arguments
  45. that are valid in the given context.
  46. config AUTOBOOT_ENCRYPTION
  47. bool "Enable encryption in autoboot stopping"
  48. depends on AUTOBOOT_KEYED
  49. default n
  50. config AUTOBOOT_DELAY_STR
  51. string "Delay autobooting via specific input key / string"
  52. depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
  53. help
  54. This option delays the automatic boot feature by issuing
  55. a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
  56. or the environment variable "bootdelaykey" is specified
  57. and this string is received from console input before
  58. autoboot starts booting, U-Boot gives a command prompt. The
  59. U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
  60. used, otherwise it never times out.
  61. config AUTOBOOT_STOP_STR
  62. string "Stop autobooting via specific input key / string"
  63. depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
  64. help
  65. This option enables stopping (aborting) of the automatic
  66. boot feature only by issuing a specific input key or
  67. string. If CONFIG_AUTOBOOT_STOP_STR or the environment
  68. variable "bootstopkey" is specified and this string is
  69. received from console input before autoboot starts booting,
  70. U-Boot gives a command prompt. The U-Boot prompt never
  71. times out, even if CONFIG_BOOT_RETRY_TIME is used.
  72. config AUTOBOOT_KEYED_CTRLC
  73. bool "Enable Ctrl-C autoboot interruption"
  74. depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
  75. default n
  76. help
  77. This option allows for the boot sequence to be interrupted
  78. by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
  79. Setting this variable provides an escape sequence from the
  80. limited "password" strings.
  81. config AUTOBOOT_STOP_STR_SHA256
  82. string "Stop autobooting via SHA256 encrypted password"
  83. depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
  84. help
  85. This option adds the feature to only stop the autobooting,
  86. and therefore boot into the U-Boot prompt, when the input
  87. string / password matches a values that is encypted via
  88. a SHA256 hash and saved in the environment.
  89. endmenu
  90. comment "Commands"
  91. menu "Info commands"
  92. config CMD_BDI
  93. bool "bdinfo"
  94. default y
  95. help
  96. Print board info
  97. config CMD_CONSOLE
  98. bool "coninfo"
  99. default y
  100. help
  101. Print console devices and information.
  102. config CMD_CPU
  103. bool "cpu"
  104. help
  105. Print information about available CPUs. This normally shows the
  106. number of CPUs, type (e.g. manufacturer, architecture, product or
  107. internal name) and clock frequency. Other information may be
  108. available depending on the CPU driver.
  109. config CMD_LICENSE
  110. bool "license"
  111. help
  112. Print GPL license text
  113. endmenu
  114. menu "Boot commands"
  115. config CMD_BOOTD
  116. bool "bootd"
  117. default y
  118. help
  119. Run the command stored in the environment "bootcmd", i.e.
  120. "bootd" does the same thing as "run bootcmd".
  121. config CMD_BOOTM
  122. bool "bootm"
  123. default y
  124. help
  125. Boot an application image from the memory.
  126. config CMD_ELF
  127. bool "bootelf, bootvx"
  128. default y
  129. help
  130. Boot an ELF/vxWorks image from the memory.
  131. config CMD_GO
  132. bool "go"
  133. default y
  134. help
  135. Start an application at a given address.
  136. config CMD_RUN
  137. bool "run"
  138. default y
  139. help
  140. Run the command in the given environment variable.
  141. config CMD_IMI
  142. bool "iminfo"
  143. default y
  144. help
  145. Print header information for application image.
  146. config CMD_IMLS
  147. bool "imls"
  148. default y
  149. help
  150. List all images found in flash
  151. config CMD_XIMG
  152. bool "imxtract"
  153. default y
  154. help
  155. Extract a part of a multi-image.
  156. endmenu
  157. menu "Environment commands"
  158. config CMD_EXPORTENV
  159. bool "env export"
  160. default y
  161. help
  162. Export environments.
  163. config CMD_IMPORTENV
  164. bool "env import"
  165. default y
  166. help
  167. Import environments.
  168. config CMD_EDITENV
  169. bool "editenv"
  170. default y
  171. help
  172. Edit environment variable.
  173. config CMD_SAVEENV
  174. bool "saveenv"
  175. default y
  176. help
  177. Save all environment variables into the compiled-in persistent
  178. storage.
  179. config CMD_ENV_EXISTS
  180. bool "env exists"
  181. default y
  182. help
  183. Check if a variable is defined in the environment for use in
  184. shell scripting.
  185. endmenu
  186. menu "Memory commands"
  187. config CMD_MEMORY
  188. bool "md, mm, nm, mw, cp, cmp, base, loop"
  189. default y
  190. help
  191. Memeory commands.
  192. md - memory display
  193. mm - memory modify (auto-incrementing address)
  194. nm - memory modify (constant address)
  195. mw - memory write (fill)
  196. cp - memory copy
  197. cmp - memory compare
  198. base - print or set address offset
  199. loop - initinite loop on address range
  200. config CMD_CRC32
  201. bool "crc32"
  202. default y
  203. help
  204. Compute CRC32.
  205. config LOOPW
  206. bool "loopw"
  207. help
  208. Infinite write loop on address range
  209. config CMD_MEMTEST
  210. bool "memtest"
  211. help
  212. Simple RAM read/write test.
  213. config CMD_MX_CYCLIC
  214. bool "mdc, mwc"
  215. help
  216. mdc - memory display cyclic
  217. mwc - memory write cyclic
  218. config CMD_MEMINFO
  219. bool "meminfo"
  220. help
  221. Display memory information.
  222. endmenu
  223. menu "Device access commands"
  224. config CMD_DM
  225. bool "dm - Access to driver model information"
  226. depends on DM
  227. default y
  228. help
  229. Provides access to driver model data structures and information,
  230. such as a list of devices, list of uclasses and the state of each
  231. device (e.g. activated). This is not required for operation, but
  232. can be useful to see the state of driver model for debugging or
  233. interest.
  234. config CMD_DEMO
  235. bool "demo - Demonstration commands for driver model"
  236. depends on DM
  237. help
  238. Provides a 'demo' command which can be used to play around with
  239. driver model. To use this properly you will need to enable one or
  240. both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
  241. Otherwise you will always get an empty list of devices. The demo
  242. devices are defined in the sandbox device tree, so the easiest
  243. option is to use sandbox and pass the -d point to sandbox's
  244. u-boot.dtb file.
  245. config CMD_LOADB
  246. bool "loadb"
  247. default y
  248. help
  249. Load a binary file over serial line.
  250. config CMD_LOADS
  251. bool "loads"
  252. default y
  253. help
  254. Load an S-Record file over serial line
  255. config CMD_FLASH
  256. bool "flinfo, erase, protect"
  257. default y
  258. help
  259. NOR flash support.
  260. flinfo - print FLASH memory information
  261. erase - FLASH memory
  262. protect - enable or disable FLASH write protection
  263. config CMD_ARMFLASH
  264. depends on FLASH_CFI_DRIVER
  265. bool "armflash"
  266. help
  267. ARM Ltd reference designs flash partition access
  268. config CMD_NAND
  269. bool "nand"
  270. help
  271. NAND support.
  272. config CMD_SF
  273. bool "sf"
  274. help
  275. SPI Flash support
  276. config CMD_SPI
  277. bool "sspi"
  278. help
  279. SPI utility command.
  280. config CMD_I2C
  281. bool "i2c"
  282. help
  283. I2C support.
  284. config CMD_USB
  285. bool "usb"
  286. help
  287. USB support.
  288. config CMD_FPGA
  289. bool "fpga"
  290. default y
  291. help
  292. FPGA support.
  293. config CMD_REMOTEPROC
  294. bool "remoteproc"
  295. depends on REMOTEPROC
  296. help
  297. Support for Remote Processor control
  298. config CMD_GPIO
  299. bool "gpio"
  300. help
  301. GPIO support.
  302. endmenu
  303. menu "Shell scripting commands"
  304. config CMD_ECHO
  305. bool "echo"
  306. default y
  307. help
  308. Echo args to console
  309. config CMD_ITEST
  310. bool "itest"
  311. default y
  312. help
  313. Return true/false on integer compare.
  314. config CMD_SOURCE
  315. bool "source"
  316. default y
  317. help
  318. Run script from memory
  319. config CMD_SETEXPR
  320. bool "setexpr"
  321. default y
  322. help
  323. Evaluate boolean and math expressions and store the result in an env
  324. variable.
  325. Also supports loading the value at a memory location into a variable.
  326. If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
  327. endmenu
  328. menu "Network commands"
  329. config CMD_NET
  330. bool "bootp, tftpboot"
  331. select NET
  332. default y
  333. help
  334. Network commands.
  335. bootp - boot image via network using BOOTP/TFTP protocol
  336. tftpboot - boot image via network using TFTP protocol
  337. config CMD_TFTPPUT
  338. bool "tftp put"
  339. help
  340. TFTP put command, for uploading files to a server
  341. config CMD_TFTPSRV
  342. bool "tftpsrv"
  343. help
  344. Act as a TFTP server and boot the first received file
  345. config CMD_RARP
  346. bool "rarpboot"
  347. help
  348. Boot image via network using RARP/TFTP protocol
  349. config CMD_DHCP
  350. bool "dhcp"
  351. help
  352. Boot image via network using DHCP/TFTP protocol
  353. config CMD_NFS
  354. bool "nfs"
  355. default y
  356. help
  357. Boot image via network using NFS protocol.
  358. config CMD_PING
  359. bool "ping"
  360. help
  361. Send ICMP ECHO_REQUEST to network host
  362. config CMD_CDP
  363. bool "cdp"
  364. help
  365. Perform CDP network configuration
  366. config CMD_SNTP
  367. bool "sntp"
  368. help
  369. Synchronize RTC via network
  370. config CMD_DNS
  371. bool "dns"
  372. help
  373. Lookup the IP of a hostname
  374. config CMD_LINK_LOCAL
  375. bool "linklocal"
  376. help
  377. Acquire a network IP address using the link-local protocol
  378. endmenu
  379. menu "Misc commands"
  380. config CMD_AMBAPP
  381. bool "ambapp"
  382. depends on LEON3
  383. default y
  384. help
  385. Lists AMBA Plug-n-Play information.
  386. config SYS_AMBAPP_PRINT_ON_STARTUP
  387. bool "Show AMBA PnP info on startup"
  388. depends on CMD_AMBAPP
  389. default n
  390. help
  391. Show AMBA Plug-n-Play information on startup.
  392. config CMD_TIME
  393. bool "time"
  394. help
  395. Run commands and summarize execution time.
  396. # TODO: rename to CMD_SLEEP
  397. config CMD_MISC
  398. bool "sleep"
  399. default y
  400. help
  401. Delay execution for some time
  402. config CMD_TIMER
  403. bool "timer"
  404. help
  405. Access the system timer.
  406. config CMD_SETGETDCR
  407. bool "getdcr, setdcr, getidcr, setidcr"
  408. depends on 4xx
  409. default y
  410. help
  411. getdcr - Get an AMCC PPC 4xx DCR's value
  412. setdcr - Set an AMCC PPC 4xx DCR's value
  413. getidcr - Get a register value via indirect DCR addressing
  414. setidcr - Set a register value via indirect DCR addressing
  415. config CMD_SOUND
  416. bool "sound"
  417. depends on SOUND
  418. help
  419. This provides basic access to the U-Boot's sound support. The main
  420. feature is to play a beep.
  421. sound init - set up sound system
  422. sound play - play a sound
  423. endmenu
  424. menu "Boot timing"
  425. config BOOTSTAGE
  426. bool "Boot timing and reporting"
  427. help
  428. Enable recording of boot time while booting. To use it, insert
  429. calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
  430. bootstage.h. Only a single entry is recorded for each ID. You can
  431. give the entry a name with bootstage_mark_name(). You can also
  432. record elapsed time in a particular stage using bootstage_start()
  433. before starting and bootstage_accum() when finished. Bootstage will
  434. add up all the accumated time and report it.
  435. Normally, IDs are defined in bootstage.h but a small number of
  436. additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC
  437. as the ID.
  438. Calls to show_boot_progress() wil also result in log entries but
  439. these will not have names.
  440. config BOOTSTAGE_REPORT
  441. bool "Display a detailed boot timing report before booting the OS"
  442. depends on BOOTSTAGE
  443. help
  444. Enable output of a boot time report just before the OS is booted.
  445. This shows how long it took U-Boot to go through each stage of the
  446. boot process. The report looks something like this:
  447. Timer summary in microseconds:
  448. Mark Elapsed Stage
  449. 0 0 reset
  450. 3,575,678 3,575,678 board_init_f start
  451. 3,575,695 17 arch_cpu_init A9
  452. 3,575,777 82 arch_cpu_init done
  453. 3,659,598 83,821 board_init_r start
  454. 3,910,375 250,777 main_loop
  455. 29,916,167 26,005,792 bootm_start
  456. 30,361,327 445,160 start_kernel
  457. config BOOTSTAGE_USER_COUNT
  458. hex "Number of boot ID numbers available for user use"
  459. default 20
  460. help
  461. This is the number of available user bootstage records.
  462. Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
  463. a new ID will be allocated from this stash. If you exceed
  464. the limit, recording will stop.
  465. config CMD_BOOTSTAGE
  466. bool "Enable the 'bootstage' command"
  467. depends on BOOTSTAGE
  468. help
  469. Add a 'bootstage' command which supports printing a report
  470. and un/stashing of bootstage data.
  471. config BOOTSTAGE_FDT
  472. bool "Store boot timing information in the OS device tree"
  473. depends on BOOTSTAGE
  474. help
  475. Stash the bootstage information in the FDT. A root 'bootstage'
  476. node is created with each bootstage id as a child. Each child
  477. has a 'name' property and either 'mark' containing the
  478. mark time in microsecond, or 'accum' containing the
  479. accumulated time for that bootstage id in microseconds.
  480. For example:
  481. bootstage {
  482. 154 {
  483. name = "board_init_f";
  484. mark = <3575678>;
  485. };
  486. 170 {
  487. name = "lcd";
  488. accum = <33482>;
  489. };
  490. };
  491. Code in the Linux kernel can find this in /proc/devicetree.
  492. config BOOTSTAGE_STASH
  493. bool "Stash the boot timing information in memory before booting OS"
  494. depends on BOOTSTAGE
  495. help
  496. Some OSes do not support device tree. Bootstage can instead write
  497. the boot timing information in a binary format at a given address.
  498. This happens through a call to bootstage_stash(), typically in
  499. the CPU's cleanup_before_linux() function. You can use the
  500. 'bootstage stash' and 'bootstage unstash' commands to do this on
  501. the command line.
  502. config BOOTSTAGE_STASH_ADDR
  503. hex "Address to stash boot timing information"
  504. default 0
  505. help
  506. Provide an address which will not be overwritten by the OS when it
  507. starts, so that it can read this information when ready.
  508. config BOOTSTAGE_STASH_SIZE
  509. hex "Size of boot timing stash region"
  510. default 4096
  511. help
  512. This should be large enough to hold the bootstage stash. A value of
  513. 4096 (4KiB) is normally plenty.
  514. endmenu
  515. menu "Power commands"
  516. config CMD_PMIC
  517. bool "Enable Driver Model PMIC command"
  518. depends on DM_PMIC
  519. help
  520. This is the pmic command, based on a driver model pmic's API.
  521. Command features are unchanged:
  522. - list - list pmic devices
  523. - pmic dev <id> - show or [set] operating pmic device (NEW)
  524. - pmic dump - dump registers
  525. - pmic read address - read byte of register at address
  526. - pmic write address - write byte to register at address
  527. The only one change for this command is 'dev' subcommand.
  528. config CMD_REGULATOR
  529. bool "Enable Driver Model REGULATOR command"
  530. depends on DM_REGULATOR
  531. help
  532. This command is based on driver model regulator's API.
  533. User interface features:
  534. - list - list regulator devices
  535. - regulator dev <id> - show or [set] operating regulator device
  536. - regulator info - print constraints info
  537. - regulator status - print operating status
  538. - regulator value <val] <-f> - print/[set] voltage value [uV]
  539. - regulator current <val> - print/[set] current value [uA]
  540. - regulator mode <id> - print/[set] operating mode id
  541. - regulator enable - enable the regulator output
  542. - regulator disable - disable the regulator output
  543. The '-f' (force) option can be used for set the value which exceeds
  544. the limits, which are found in device-tree and are kept in regulator's
  545. uclass platdata structure.
  546. endmenu
  547. menu "Security commands"
  548. config CMD_TPM
  549. bool "Enable the 'tpm' command"
  550. depends on TPM
  551. help
  552. This provides a means to talk to a TPM from the command line. A wide
  553. range of commands if provided - see 'tpm help' for details. The
  554. command requires a suitable TPM on your board and the correct driver
  555. must be enabled.
  556. config CMD_TPM_TEST
  557. bool "Enable the 'tpm test' command"
  558. depends on CMD_TPM
  559. help
  560. This provides a a series of tests to confirm that the TPM is working
  561. correctly. The tests cover initialisation, non-volatile RAM, extend,
  562. global lock and checking that timing is within expectations. The
  563. tests pass correctly on Infineon TPMs but may need to be adjusted
  564. for other devices.
  565. endmenu
  566. endmenu
  567. config CONSOLE_RECORD
  568. bool "Console recording"
  569. help
  570. This provides a way to record console output (and provide console
  571. input) through cirular buffers. This is mostly useful for testing.
  572. Console output is recorded even when the console is silent.
  573. To enable console recording, call console_record_reset_enable()
  574. from your code.
  575. config CONSOLE_RECORD_OUT_SIZE
  576. hex "Output buffer size"
  577. depends on CONSOLE_RECORD
  578. default 0x400 if CONSOLE_RECORD
  579. help
  580. Set the size of the console output buffer. When this fills up, no
  581. more data will be recorded until some is removed. The buffer is
  582. allocated immediately after the malloc() region is ready.
  583. config CONSOLE_RECORD_IN_SIZE
  584. hex "Input buffer size"
  585. depends on CONSOLE_RECORD
  586. default 0x100 if CONSOLE_RECORD
  587. help
  588. Set the size of the console input buffer. When this contains data,
  589. tstc() and getc() will use this in preference to real device input.
  590. The buffer is allocated immediately after the malloc() region is
  591. ready.