x86: qemu: Report high memory in the E820 table
[oweals/u-boot.git] / cmd / Kconfig
index 13d4c991bf8bf7fc82b601ebc81f23a9dbcee1b6..98647f58b7acaf8fa3c5b7a31010f260b93d481a 100644 (file)
@@ -53,6 +53,17 @@ config SYS_PROMPT
          This string is displayed in the command line to the left of the
          cursor.
 
+config SYS_XTRACE
+       string "Command execution tracer"
+       depends on CMDLINE
+       default y if CMDLINE
+       help
+         This option enables the possiblity to print all commands before
+         executing them and after all variables are evaluated (similar
+         to Bash's xtrace/'set -x' feature).
+         To enable the tracer a variable "xtrace" needs to be defined in
+         the environment.
+
 menu "Autoboot options"
 
 config AUTOBOOT
@@ -90,7 +101,14 @@ config AUTOBOOT_PROMPT
 config AUTOBOOT_ENCRYPTION
        bool "Enable encryption in autoboot stopping"
        depends on AUTOBOOT_KEYED
-       default n
+       help
+         This option allows a string to be entered into U-Boot to stop the
+         autoboot. The string itself is hashed and compared against the hash
+         in the environment variable 'bootstopkeysha256'. If it matches then
+         boot stops and a command-line prompt is presented.
+
+         This provides a way to ship a secure production device which can also
+         be accessed at the U-Boot command line.
 
 config AUTOBOOT_DELAY_STR
        string "Delay autobooting via specific input key / string"
@@ -135,6 +153,31 @@ config AUTOBOOT_STOP_STR_SHA256
          string / password matches a values that is encypted via
          a SHA256 hash and saved in the environment.
 
+config AUTOBOOT_USE_MENUKEY
+       bool "Allow a specify key to run a menu from the environment"
+       depends on !AUTOBOOT_KEYED
+       help
+         If a specific key is pressed to stop autoboot, then the commands in
+         the environment variable 'menucmd' are executed before boot starts.
+
+config AUTOBOOT_MENUKEY
+       int "ASCII value of boot key to show a menu"
+       default 0
+       depends on AUTOBOOT_USE_MENUKEY
+       help
+         If this key is pressed to stop autoboot, then the commands in the
+         environment variable 'menucmd' will be executed before boot starts.
+         For example, 33 means "!" in ASCII, so pressing ! at boot would take
+         this action.
+
+config AUTOBOOT_MENU_SHOW
+       bool "Show a menu on boot"
+       help
+         This enables the boot menu, controlled by environment variables
+         defined by the board. The menu starts after running the 'preboot'
+         environmnent variable (if enabled) and before handling the boot delay.
+         See README.bootmenu for more details.
+
 endmenu
 
 config BUILD_BIN2C
@@ -212,7 +255,7 @@ config CMD_BOOTZ
 
 config CMD_BOOTI
        bool "booti"
-       depends on ARM64
+       depends on ARM64 || RISCV
        default y
        help
          Boot an AArch64 Linux Kernel image from memory.
@@ -226,7 +269,7 @@ config CMD_BOOTEFI
 
 config CMD_BOOTEFI_HELLO_COMPILE
        bool "Compile a standard EFI hello world binary for testing"
-       depends on CMD_BOOTEFI && (ARM || X86 || RISCV)
+       depends on CMD_BOOTEFI && !CPU_V7M && !SANDBOX
        default y
        help
          This compiles a standard EFI hello world application with U-Boot so
@@ -304,11 +347,6 @@ config CMD_XIMG
        help
          Extract a part of a multi-image.
 
-config CMD_POWEROFF
-       bool "poweroff"
-       help
-         Poweroff/Shutdown the system
-
 config CMD_SPL
        bool "spl export - Export boot information for Falcon boot"
        depends on SPL
@@ -319,8 +357,8 @@ config CMD_SPL
          command.
 
 config CMD_SPL_NAND_OFS
-       hex "Offset of OS command line args for Falcon-mode NAND boot"
-       depends on CMD_SPL
+       hex "Offset of OS args or dtb for Falcon-mode NAND boot"
+       depends on CMD_SPL && (TPL_NAND_SUPPORT || SPL_NAND_SUPPORT)
        default 0
        help
          This provides the offset of the command line arguments for Linux
@@ -328,6 +366,14 @@ config CMD_SPL_NAND_OFS
          for full information about how to use this option (and also see
          board/gateworks/gw_ventana/README for an example).
 
+config CMD_SPL_NOR_OFS
+       hex "Offset of OS args or dtb for Falcon-mode NOR boot"
+       depends on CMD_SPL && SPL_NOR_SUPPORT
+       default 0
+       help
+         This provides the offset of the command line arguments or dtb for
+         Linux when booting from NOR in Falcon mode.
+
 config CMD_SPL_WRITE_SIZE
        hex "Size of argument area"
        depends on CMD_SPL
@@ -402,6 +448,14 @@ config CMD_SAVEENV
          Save all environment variables into the compiled-in persistent
          storage.
 
+config CMD_ERASEENV
+       bool "eraseenv"
+       default n
+       depends on CMD_SAVEENV
+       help
+         Erase environment variables from the compiled-in persistent
+         storage.
+
 config CMD_ENV_EXISTS
        bool "env exists"
        default y
@@ -425,6 +479,29 @@ config CMD_ENV_FLAGS
          be deleted. This command shows the variables that have special
          flags.
 
+config CMD_NVEDIT_EFI
+       bool "env [set|print] -e - set/print UEFI variables"
+       depends on EFI_LOADER
+       default y
+       imply HEXDUMP
+       help
+         UEFI variables are encoded as some form of U-Boot variables.
+         If enabled, we are allowed to set/print UEFI variables using
+         "env" command with "-e" option without knowing details.
+
+config CMD_NVEDIT_INFO
+       bool "env info - print or evaluate environment information"
+       help
+         Print environment information:
+         - env_valid : is environment valid
+         - env_ready : is environment imported into hash table
+         - env_use_default : is default environment used
+
+         This command can be optionally used for evaluation in scripts:
+         [-d] : evaluate whether default environment is used
+         [-p] : evaluate whether environment can be persisted
+         The result of multiple evaluations will be combined with AND.
+
 endmenu
 
 menu "Memory commands"
@@ -534,6 +611,27 @@ config CMD_MEMORY
            base - print or set address offset
            loop - initialize loop on address range
 
+config MX_CYCLIC
+       bool "Enable cyclic md/mw commands"
+       depends on CMD_MEMORY
+       help
+          Add the "mdc" and "mwc" memory commands. These are cyclic
+          "md/mw" commands.
+          Examples:
+
+         => mdc.b 10 4 500
+         This command will print 4 bytes (10,11,12,13) each 500 ms.
+
+         => mwc.l 100 12345678 10
+         This command will write 12345678 to address 100 all 10 ms.
+
+config CMD_RANDOM
+       bool "random"
+       default y
+       depends on CMD_MEMORY && (LIB_RAND || LIB_HW_RAND)
+       help
+         random - fill memory with random data
+
 config CMD_MEMTEST
        bool "memtest"
        help
@@ -615,6 +713,23 @@ config CMD_ADC
          Shows ADC device info and permit printing one-shot analog converted
          data from a named Analog to Digital Converter.
 
+config CMD_BCB
+       bool "bcb"
+       depends on MMC
+       depends on PARTITIONS
+       help
+         Read/modify/write the fields of Bootloader Control Block, usually
+         stored on the flash "misc" partition with its structure defined in:
+         https://android.googlesource.com/platform/bootable/recovery/+/master/
+         bootloader_message/include/bootloader_message/bootloader_message.h
+
+         Some real-life use-cases include (but are not limited to):
+         - Determine the "boot reason" (and act accordingly):
+           https://source.android.com/devices/bootloader/boot-reason
+         - Get/pass a list of commands from/to recovery:
+           https://android.googlesource.com/platform/bootable/recovery
+         - Inspect/dump the contents of the BCB fields
+
 config CMD_BIND
        bool "bind/unbind - Bind or unbind a device to/from a driver"
        depends on DM
@@ -674,7 +789,7 @@ config CMD_FASTBOOT
          Android devices. Fastboot requires either the network stack
          enabled or support for acting as a USB device.
 
-         See doc/README.android-fastboot for more information.
+         See doc/android/fastboot.txt for more information.
 
 config CMD_FDC
        bool "fdcboot - Boot from floppy device"
@@ -832,6 +947,13 @@ config CMD_I2C
        help
          I2C support.
 
+config CMD_W1
+       depends on W1
+       default y if W1
+       bool "w1 - Support for Dallas 1-Wire protocol"
+       help
+         Dallas 1-wire protocol support
+
 config CMD_LOADB
        bool "loadb"
        default y
@@ -864,6 +986,12 @@ config CMD_MMC_SWRITE
          Enable support for the "mmc swrite" command to write Android sparse
          images to eMMC.
 
+config CMD_MTD
+       bool "mtd"
+       select MTD_PARTITIONS
+       help
+         MTD commands support.
+
 config CMD_NAND
        bool "nand"
        default y if NAND_SUNXI
@@ -896,15 +1024,6 @@ config CMD_NVME
        help
          NVM Express device support
 
-config CMD_MMC_SPI
-       bool "mmc_spi - Set up MMC SPI device"
-       help
-         Provides a way to set up an MMC (Multimedia Card) SPI (Serial
-         Peripheral Interface) device. The device provides a means of
-         accessing an MMC device via SPI using a single data line, limited
-         to 20MHz. It is useful since it reduces the amount of protocol code
-         required.
-
 config CMD_ONENAND
        bool "onenand - access to onenand device"
        help
@@ -913,6 +1032,14 @@ config CMD_ONENAND
          and erasing blocks. It allso provides a way to show and change
          bad blocks, and test the device.
 
+config CMD_OSD
+       bool "osd"
+       help
+         Enable the 'osd' command which allows to query information from and
+         write text data to a on-screen display (OSD) device; a virtual device
+         associated with a display capable of displaying a text overlay on the
+         display it's associated with..
+
 config CMD_PART
        bool "part"
        select HAVE_BLOCK_DEVICE
@@ -929,13 +1056,18 @@ config CMD_PCI
          peripherals. Sub-commands allow bus enumeration, displaying and
          changing configuration space and a few other features.
 
-config CMD_PCMCIA
-       bool "pinit - Set up PCMCIA device"
+config CMD_PINMUX
+       bool "pinmux - show pins muxing"
+       default y if PINCTRL
        help
-         Provides a means to initialise a PCMCIA (Personal Computer Memory
-         Card International Association) device. This is an old standard from
-         about 1990. These devices are typically removable memory or network
-         cards using a standard 68-pin connector.
+         Parse all available pin-controllers and show pins muxing. This
+         is useful for debug purpoer to check the pin muxing and to know if
+         a pin is configured as a GPIO or as an alternate function.
+
+config CMD_POWEROFF
+       bool "poweroff"
+       help
+         Poweroff/Shutdown the system
 
 config CMD_READ
        bool "read - Read binary data from a partition"
@@ -985,11 +1117,13 @@ config CMD_SDRAM
 
 config CMD_SF
        bool "sf"
+       depends on DM_SPI_FLASH || SPI_FLASH
        help
          SPI Flash support
 
 config CMD_SF_TEST
        bool "sf test - Allow testing of SPI flash"
+       depends on CMD_SF
        help
          Provides a way to test that SPI flash is working correctly. The
          test is destructive, in that an area of SPI flash must be provided
@@ -1000,10 +1134,21 @@ config CMD_SF_TEST
          everything is working properly.
 
 config CMD_SPI
-       bool "sspi"
+       bool "sspi - Command to access spi device"
+       depends on SPI
        help
          SPI utility command.
 
+config DEFAULT_SPI_BUS
+       int "default spi bus used by sspi command"
+       depends on CMD_SPI
+       default 0
+
+config DEFAULT_SPI_MODE
+       hex "default spi mode used by sspi command (see include/spi.h)"
+       depends on CMD_SPI
+       default 0
+
 config CMD_TSI148
        bool "tsi148 - Command to access tsi148 device"
        help
@@ -1044,6 +1189,19 @@ config CMD_USB_MASS_STORAGE
        help
          USB mass storage support
 
+config CMD_VIRTIO
+       bool "virtio"
+       depends on VIRTIO
+       default y if VIRTIO
+       help
+         VirtIO block device support
+
+config CMD_WDT
+       bool "wdt"
+       depends on WDT
+       help
+         This provides commands to control the watchdog timer devices.
+
 config CMD_AXI
        bool "axi"
        depends on AXI
@@ -1086,6 +1244,21 @@ config CMD_SETEXPR
 
 endmenu
 
+menu "Android support commands"
+
+config CMD_AB_SELECT
+       bool "ab_select"
+       default n
+       depends on ANDROID_AB
+       help
+         On Android devices with more than one boot slot (multiple copies of
+         the kernel and system images) this provides a command to select which
+         slot should be used to boot from and register the boot attempt. This
+         is used by the new A/B update model where one slot is updated in the
+         background while running from the other slot.
+
+endmenu
+
 if NET
 
 menuconfig CMD_NET
@@ -1166,6 +1339,13 @@ config BOOTP_NTPSERVER
        bool "Request & store 'ntpserverip' from BOOTP/DHCP server"
        depends on CMD_BOOTP
 
+config CMD_PCAP
+       bool "pcap capture"
+       help
+         Selecting this will allow capturing all Ethernet packets and store
+         them in physical memory in a PCAP formated file,
+         later to be analyzed by PCAP reader application (IE. WireShark).
+
 config BOOTP_PXE
        bool "Send PXE client arch to BOOTP/DHCP server"
        default y
@@ -1338,16 +1518,40 @@ config CMD_CACHE
        help
          Enable the "icache" and "dcache" commands
 
-config CMD_DISPLAY
-       bool "Enable the 'display' command, for character displays"
+config CMD_CONITRACE
+       bool "conitrace - trace console input codes"
+       help
+         Enable the 'conitrace' command which displays the codes received
+         from the console input as hexadecimal numbers.
+
+config CMD_CLS
+       bool "Enable clear screen command 'cls'"
+       depends on CFB_CONSOLE || DM_VIDEO || LCD || VIDEO
+       default y if LCD
+       help
+         Enable the 'cls' command which clears the screen contents
+         on video frame buffer.
+
+config CMD_EFIDEBUG
+       bool "efidebug - display/configure UEFI environment"
+       depends on EFI_LOADER
+       select EFI_DEVICE_PATH_TO_TEXT
+       default n
        help
-         (this needs porting to driver model)
-         This enables the 'display' command which allows a string to be
-         displayed on a simple board-specific display. Implement
-         display_putc() to use it.
+         Enable the 'efidebug' command which provides a subset of UEFI
+         shell utility with simplified functionality. It will be useful
+         particularly for managing boot parameters as  well as examining
+         various EFI status for debugging.
+
+config CMD_EXCEPTION
+       bool "exception - raise exception"
+       depends on ARM || RISCV || X86
+       help
+         Enable the 'exception' command which allows to raise an exception.
 
 config CMD_LED
        bool "led"
+       depends on LED
        default y if LED
        help
          Enable the 'led' command which allows for control of LEDs supported
@@ -1693,18 +1897,22 @@ config CMD_MTDPARTS
        bool "MTD partition support"
        select MTD_DEVICE if (CMD_NAND || NAND)
        help
-         MTD partition support
+         MTD partitioning tool support.
+         It is strongly encouraged to avoid using this command
+         anymore along with 'sf', 'nand', 'onenand'. One can still
+         declare the partitions in the mtdparts environment variable
+         but better use the MTD stack and the 'mtd' command instead.
 
 config MTDIDS_DEFAULT
        string "Default MTD IDs"
-       depends on CMD_MTDPARTS || CMD_NAND || CMD_FLASH
+       depends on MTD_PARTITIONS || CMD_MTDPARTS || CMD_NAND || CMD_FLASH
        help
          Defines a default MTD IDs list for use with MTD partitions in the
          Linux MTD command line partitions format.
 
 config MTDPARTS_DEFAULT
        string "Default MTD partition scheme"
-       depends on CMD_MTDPARTS || CMD_NAND || CMD_FLASH
+       depends on MTD_PARTITIONS || CMD_MTDPARTS || CMD_NAND || CMD_FLASH
        help
          Defines a default MTD partitioning scheme in the Linux MTD command
          line partitions format
@@ -1780,6 +1988,7 @@ config CMD_IRQ
 
 config CMD_KGDB
        bool "kgdb - Allow debugging of U-Boot with gdb"
+       depends on PPC
        help
          This enables a 'kgdb' command which allows gdb to connect to U-Boot
          over a serial link for debugging purposes. This allows
@@ -1801,7 +2010,7 @@ config CMD_TRACE
          Enables a command to control using of function tracing within
          U-Boot. This allows recording of call traces including timing
          information. The command can write data to memory for exporting
-         for analsys (e.g. using bootchart). See doc/README.trace for full
+         for analysis (e.g. using bootchart). See doc/README.trace for full
          details.
 
 config CMD_AVB
@@ -1824,8 +2033,6 @@ endmenu
 
 config CMD_UBI
        tristate "Enable UBI - Unsorted block images commands"
-       select CMD_MTDPARTS
-       select CRC32
        select MTD_UBI
        help
          UBI is a software layer above MTD layer which admits use of LVM-like
@@ -1834,12 +2041,13 @@ config CMD_UBI
          capabilities. Please, consult the MTD web site for more details
          (www.linux-mtd.infradead.org). Activate this option if you want
          to use U-Boot UBI commands.
+         It is also strongly encouraged to also enable CONFIG_MTD to get full
+         partition support.
 
 config CMD_UBIFS
        tristate "Enable UBIFS - Unsorted block images filesystem commands"
        depends on CMD_UBI
        default y if CMD_UBI
-       select CRC32
        select LZO
        help
          UBIFS is a file system for flash devices which works on top of UBI.