X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=common%2FKconfig;h=72264c54d3fc6cb76487fd6923b066068b836189;hp=fd84fa08bd3efc2569ac4200684f26abca5ac205;hb=b6abcbe91215ee2dd4421399b8579fcaddd3a948;hpb=1739564e753bc3a8097f8937a3cbe738bdaaed5d diff --git a/common/Kconfig b/common/Kconfig index fd84fa08bd..72264c54d3 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -1,5 +1,4 @@ menu "Command line interface" - depends on !SPL_BUILD config HUSH_PARSER bool "Use hush shell" @@ -18,20 +17,108 @@ config SYS_HUSH_PARSER help Backward compatibility. +menu "Autoboot options" + +config AUTOBOOT_KEYED + bool "Stop autobooting via specific input key / string" + default n + help + This option enables stopping (aborting) of the automatic + boot feature only by issuing a specific input key or + string. If not enabled, any input key will abort the + U-Boot automatic booting process and bring the device + to the U-Boot prompt for user input. + +config AUTOBOOT_PROMPT + string "Autoboot stop prompt" + depends on AUTOBOOT_KEYED + default "Autoboot in %d seconds\\n" + help + This string is displayed before the boot delay selected by + CONFIG_BOOTDELAY starts. If it is not defined there is no + output indicating that autoboot is in progress. + + Note that this define is used as the (only) argument to a + printf() call, so it may contain '%' format specifications, + provided that it also includes, sepearated by commas exactly + like in a printf statement, the required arguments. It is + the responsibility of the user to select only such arguments + that are valid in the given context. + +config AUTOBOOT_ENCRYPTION + bool "Enable encryption in autoboot stopping" + depends on AUTOBOOT_KEYED + default n + +config AUTOBOOT_DELAY_STR + string "Delay autobooting via specific input key / string" + depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION + help + This option delays the automatic boot feature by issuing + a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR + or the environment variable "bootdelaykey" is specified + and this string is received from console input before + autoboot starts booting, U-Boot gives a command prompt. The + U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is + used, otherwise it never times out. + +config AUTOBOOT_STOP_STR + string "Stop autobooting via specific input key / string" + depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION + help + This option enables stopping (aborting) of the automatic + boot feature only by issuing a specific input key or + string. If CONFIG_AUTOBOOT_STOP_STR or the environment + variable "bootstopkey" is specified and this string is + received from console input before autoboot starts booting, + U-Boot gives a command prompt. The U-Boot prompt never + times out, even if CONFIG_BOOT_RETRY_TIME is used. + +config AUTOBOOT_KEYED_CTRLC + bool "Enable Ctrl-C autoboot interruption" + depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION + default n + help + This option allows for the boot sequence to be interrupted + by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey". + Setting this variable provides an escape sequence from the + limited "password" strings. + +config AUTOBOOT_STOP_STR_SHA256 + string "Stop autobooting via SHA256 encrypted password" + depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION + help + This option adds the feature to only stop the autobooting, + and therefore boot into the U-Boot prompt, when the input + string / password matches a values that is encypted via + a SHA256 hash and saved in the environment. + +endmenu + comment "Commands" menu "Info commands" config CMD_BDI bool "bdinfo" + default y help Print board info config CMD_CONSOLE bool "coninfo" + default y help Print console devices and information. +config CMD_CPU + bool "cpu" + help + Print information about available CPUs. This normally shows the + number of CPUs, type (e.g. manufacturer, architecture, product or + internal name) and clock frequency. Other information may be + available depending on the CPU driver. + config CMD_LICENSE bool "license" help @@ -43,6 +130,7 @@ menu "Boot commands" config CMD_BOOTD bool "bootd" + default y help Run the command stored in the environment "bootcmd", i.e. "bootd" does the same thing as "run bootcmd". @@ -53,6 +141,17 @@ config CMD_BOOTM help Boot an application image from the memory. +config CMD_BOOTZ + bool "bootz" + default y + help + Boot a Linux kernel zImage. + +config CMD_BOOTCE + bool "bootce" + help + Boot a WindowsCE image. + config CMD_GO bool "go" default y @@ -61,26 +160,41 @@ config CMD_GO config CMD_RUN bool "run" + default y help Run the command in the given environment variable. config CMD_IMI bool "iminfo" + default y help Print header information for application image. config CMD_IMLS bool "imls" + default !SYS_NO_FLASH help List all images found in flash config CMD_XIMG bool "imxtract" + default y help Extract a part of a multi-image. endmenu +menu "DTB support" + +config OF_LIBFDT + bool "Enable FDT commands" + +config OF_BOARD_SETUP + bool "Support DT modifications by board code" + depends on OF_LIBFDT + +endmenu + menu "Environment commands" config CMD_EXPORTENV @@ -97,11 +211,13 @@ config CMD_IMPORTENV config CMD_EDITENV bool "editenv" + default y help Edit environment variable. config CMD_SAVEENV bool "saveenv" + default y help Run the command in the given environment variable. @@ -111,6 +227,7 @@ menu "Memory commands" config CMD_MEMORY bool "md, mm, nm, mw, cp, cmp, base, loop" + default y help Memeory commands. md - memory display @@ -134,7 +251,7 @@ config LOOPW Infinite write loop on address range config CMD_MEMTEST - bool "crc32" + bool "memtest" help Simple RAM read/write test. @@ -153,29 +270,87 @@ endmenu menu "Device access commands" +config CMD_DM + bool "dm - Access to driver model information" + depends on DM + default y + help + Provides access to driver model data structures and information, + such as a list of devices, list of uclasses and the state of each + device (e.g. activated). This is not required for operation, but + can be useful to see the state of driver model for debugging or + interest. + +config CMD_DEMO + bool "demo - Demonstration commands for driver model" + depends on DM + help + Provides a 'demo' command which can be used to play around with + driver model. To use this properly you will need to enable one or + both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE). + Otherwise you will always get an empty list of devices. The demo + devices are defined in the sandbox device tree, so the easiest + option is to use sandbox and pass the -d point to sandbox's + u-boot.dtb file. + config CMD_LOADB bool "loadb" + default y help Load a binary file over serial line. config CMD_LOADS bool "loads" + default y help Load an S-Record file over serial line config CMD_FLASH bool "flinfo, erase, protect" + default y if !SYS_NO_FLASH help NOR flash support. flinfo - print FLASH memory information erase - FLASH memory protect - enable or disable FLASH write protection +config CMD_ARMFLASH + depends on FLASH_CFI_DRIVER + bool "armflash" + help + ARM Ltd reference designs flash partition access + +config MTD_DEVICE + bool "MTD device support" + +config CMD_MTDPARTS + bool "MTD partitioning support" + default y + depends on MTD_DEVICE && (CMD_FLASH || CMD_NAND) + config CMD_NAND bool "nand" help NAND support. +config CMD_NAND_TRIMFFS + bool "Enable nand write.trimffs command" + help + Enable command to leave page sized runs of 0xff patterns in + erased state rather than overwriting them. This is required + for using NAND flash filesystems on NAND controllers with + a non-0xff ECC code for all 0xff data. + +config CMD_ROMUPDATE + bool + depends on NAND + +config CMD_MMC + bool "mmc/sd" + select PARTITIONS + help + MMC/SD support. + config CMD_SPI bool "sspi" help @@ -193,6 +368,7 @@ config CMD_USB config CMD_FPGA bool "fpga" + default y help FPGA support. @@ -203,25 +379,38 @@ menu "Shell scripting commands" config CMD_ECHO bool "echo" + default y help Echo args to console config CMD_ITEST bool "itest" + default y help Return true/false on integer compare. config CMD_SOURCE bool "source" + default y help Run script from memory +config CMD_SETEXPR + bool "setexpr" + help + Evaluate boolean and math expressions and store the result in an env + variable. + Also supports loading the value at a memory location into a variable. + If CONFIG_REGEX is enabled, setexpr also supports a gsub function. + endmenu menu "Network commands" config CMD_NET bool "bootp, tftpboot" + default y + select NET help Network commands. bootp - boot image via network using BOOTP/TFTP protocol @@ -247,8 +436,86 @@ config CMD_DHCP help Boot image via network using DHCP/TFTP protocol +if CMD_DHCP + +menu "DHCP options" + +config BOOTP_BOOTFILESIZE + bool "obtain bootfile size from DHCP" + +config BOOTP_BOOTPATH + bool "obtain bootfile path from DHCP" + +config BOOTP_DNS + bool "obtain DNS server IP address from DHCP" + +config BOOTP_DNS2 + bool "store secondary DNS IP address in dnsip2" + +config BOOTP_GATEWAY + bool "obtain gateway IP address from DHCP" + +config BOOTP_ID_CACHE_SIZE + int "DHCP transaction ID cache size" + default 4 + help + BOOTP packets are uniquely identified using a 32-bit ID. The + server will copy the ID from client requests to responses and + U-Boot will use this to determine if it is the destination of + an incoming response. Some servers will check that addresses + aren't in use before handing them out (usually using an ARP + ping) and therefore take up to a few hundred milliseconds to + respond. Network congestion may also influence the time it + takes for a response to make it back to the client. If that + time is too long, U-Boot will retransmit requests. In order + to allow earlier responses to still be accepted after these + retransmissions, U-Boot's BOOTP client keeps a small cache of + IDs. The CONFIG_BOOTP_ID_CACHE_SIZE controls the size of this + cache. The default is to keep IDs for up to four outstanding + requests. Increasing this will allow U-Boot to accept offers + from a BOOTP client in networks with unusually high latency. + +config BOOTP_MAY_FAIL + bool "Do not start over, if DHCP server is not available" + help + If the DHCP server is not found after the configured retry + count, the call will fail instead of starting over. This + can be used to fail over to Link-local IP address + configuration if the DHCP server is not available. + +config BOOTP_NISDOMAIN + bool "obtain NIS domain from DHCP" + +config BOOTP_NTPSERVER + bool "obtain NTP server IP address from DHCP" + +config BOOTP_RANDOM_DELAY + bool "Use a (pseudo) random delay between DHCP retries" + select LIB_RAND + +config BOOTP_RANDOM_ID + bool "Generate a (pseudo) random transaction ID" + select LIB_RAND + +config BOOTP_SEND_HOSTNAME + bool "send hostname in DHCP request" + +config BOOTP_SUBNETMASK + bool "obtain subnet mask from DHCP" + +config BOOTP_TIMEOFFSET + bool "obtain from DHCP" + +config BOOTP_VENDOREX + bool "obtain from DHCP" + +endmenu + +endif + config CMD_NFS bool "nfs" + default y help Boot image via network using NFS protocol. @@ -272,28 +539,39 @@ config CMD_DNS help Lookup the IP of a hostname -config CMD_DNS - bool "dns" - help - Lookup the IP of a hostname - config CMD_LINK_LOCAL bool "linklocal" help Acquire a network IP address using the link-local protocol +config CMD_MII + bool "MII register access" + help + Support reading/writing ETH PHY registers via MII bus + endmenu menu "Misc commands" +config CMD_CACHE + bool "cache control" + help + Enable commands to switch data cache on/off. + config CMD_TIME bool "time" help Run commands and summarize execution time. +config CMD_FUSE + bool "fuse read/write" + help + eFuse reading and programming support + # TODO: rename to CMD_SLEEP config CMD_MISC bool "sleep" + default y help Delay execution for some time @@ -305,12 +583,198 @@ config CMD_TIMER config CMD_SETGETDCR bool "getdcr, setdcr, getidcr, setidcr" depends on 4xx + default y help getdcr - Get an AMCC PPC 4xx DCR's value setdcr - Set an AMCC PPC 4xx DCR's value getidcr - Get a register value via indirect DCR addressing setidcr - Set a register value via indirect DCR addressing +config CMD_SOUND + bool "sound" + depends on SOUND + help + This provides basic access to the U-Boot's sound support. The main + feature is to play a beep. + + sound init - set up sound system + sound play - play a sound + endmenu +menu "Boot timing" + +config BOOTSTAGE + bool "Boot timing and reporting" + help + Enable recording of boot time while booting. To use it, insert + calls to bootstage_mark() with a suitable BOOTSTAGE_ID from + bootstage.h. Only a single entry is recorded for each ID. You can + give the entry a name with bootstage_mark_name(). You can also + record elapsed time in a particular stage using bootstage_start() + before starting and bootstage_accum() when finished. Bootstage will + add up all the accumated time and report it. + + Normally, IDs are defined in bootstage.h but a small number of + additional 'user' IDs can be used but passing BOOTSTAGE_ID_ALLOC + as the ID. + + Calls to show_boot_progress() wil also result in log entries but + these will not have names. + +config BOOTSTAGE_REPORT + bool "Display a detailed boot timing report before booting the OS" + depends on BOOTSTAGE + help + Enable output of a boot time report just before the OS is booted. + This shows how long it took U-Boot to go through each stage of the + boot process. The report looks something like this: + + Timer summary in microseconds: + Mark Elapsed Stage + 0 0 reset + 3,575,678 3,575,678 board_init_f start + 3,575,695 17 arch_cpu_init A9 + 3,575,777 82 arch_cpu_init done + 3,659,598 83,821 board_init_r start + 3,910,375 250,777 main_loop + 29,916,167 26,005,792 bootm_start + 30,361,327 445,160 start_kernel + +config BOOTSTAGE_USER_COUNT + hex "Number of boot ID numbers available for user use" + default 20 + help + This is the number of available user bootstage records. + Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...) + a new ID will be allocated from this stash. If you exceed + the limit, recording will stop. + +config CMD_BOOTSTAGE + bool "Enable the 'bootstage' command" + depends on BOOTSTAGE + help + Add a 'bootstage' command which supports printing a report + and un/stashing of bootstage data. + +config BOOTSTAGE_FDT + bool "Store boot timing information in the OS device tree" + depends on BOOTSTAGE + help + Stash the bootstage information in the FDT. A root 'bootstage' + node is created with each bootstage id as a child. Each child + has a 'name' property and either 'mark' containing the + mark time in microsecond, or 'accum' containing the + accumulated time for that bootstage id in microseconds. + For example: + + bootstage { + 154 { + name = "board_init_f"; + mark = <3575678>; + }; + 170 { + name = "lcd"; + accum = <33482>; + }; + }; + + Code in the Linux kernel can find this in /proc/devicetree. + +config BOOTSTAGE_STASH + bool "Stash the boot timing information in memory before booting OS" + depends on BOOTSTAGE + help + Some OSes do not support device tree. Bootstage can instead write + the boot timing information in a binary format at a given address. + This happens through a call to bootstage_stash(), typically in + the CPU's cleanup_before_linux() function. You can use the + 'bootstage stash' and 'bootstage unstash' commands to do this on + the command line. + +config BOOTSTAGE_STASH_ADDR + hex "Address to stash boot timing information" + default 0 + help + Provide an address which will not be overwritten by the OS when it + starts, so that it can read this information when ready. + +config BOOTSTAGE_STASH_SIZE + hex "Size of boot timing stash region" + default 4096 + help + This should be large enough to hold the bootstage stash. A value of + 4096 (4KiB) is normally plenty. + +endmenu + +menu "Power commands" +config CMD_PMIC + bool "Enable Driver Model PMIC command" + depends on DM_PMIC + help + This is the pmic command, based on a driver model pmic's API. + Command features are unchanged: + - list - list pmic devices + - pmic dev - show or [set] operating pmic device (NEW) + - pmic dump - dump registers + - pmic read address - read byte of register at address + - pmic write address - write byte to register at address + The only one change for this command is 'dev' subcommand. + +config CMD_REGULATOR + bool "Enable Driver Model REGULATOR command" + depends on DM_REGULATOR + help + This command is based on driver model regulator's API. + User interface features: + - list - list regulator devices + - regulator dev - show or [set] operating regulator device + - regulator info - print constraints info + - regulator status - print operating status + - regulator value - print/[set] voltage value [uV] + - regulator current - print/[set] current value [uA] + - regulator mode - print/[set] operating mode id + - regulator enable - enable the regulator output + - regulator disable - disable the regulator output + + The '-f' (force) option can be used for set the value which exceeds + the limits, which are found in device-tree and are kept in regulator's + uclass platdata structure. + +endmenu + +endmenu + +menu "Environment configuration settings" + +choice + prompt "Select environment non-volatile storage" + +config ENV_IS_NOWHERE + bool "do not store environment" + +config ENV_IS_IN_NAND + bool "store environment in NAND" + depends on NAND + +config ENV_IS_IN_MMC + bool "store environment in MMC" + depends on MMC + +config ENV_IS_IN_SPI_FLASH + bool "store environment in SPI flash" + +endchoice + +endmenu + +menu "Display configuration" + +config LCD + bool "LCD support" + +config DISPLAY_BOARDINFO + bool "Display board info" + endmenu