menu "Command line interface" config CMDLINE bool "Support U-Boot commands" default y help Enable U-Boot's command-line functions. This provides a means to enter commands into U-Boot for a wide variety of purposes. It also allows scripts (containing commands) to be executed. Various commands and command categorys can be indivdually enabled. Depending on the number of commands enabled, this can add substantially to the size of U-Boot. config HUSH_PARSER bool "Use hush shell" depends on CMDLINE help This option enables the "hush" shell (from Busybox) as command line interpreter, thus enabling powerful command line syntax like if...then...else...fi conditionals or `&&' and '||' constructs ("shell scripts"). If disabled, you get the old, much simpler behaviour with a somewhat smaller memory footprint. config CMDLINE_EDITING bool "Enable command line editing" depends on CMDLINE default y help Enable editing and History functions for interactive command line input operations config CMDLINE_PS_SUPPORT bool "Enable support for changing the command prompt string at run-time" depends on HUSH_PARSER help Only static string in the prompt is supported so far. The string is obtained from environment variables PS1 and PS2. config AUTO_COMPLETE bool "Enable auto complete using TAB" depends on CMDLINE default y help Enable auto completion of commands using TAB. config SYS_LONGHELP bool "Enable long help messages" depends on CMDLINE default y if CMDLINE help Defined when you want long help messages included Do not set this option when short of memory. config SYS_PROMPT string "Shell prompt" default "Zynq> " if ARCH_ZYNQ default "ZynqMP> " if ARCH_ZYNQMP default "=> " help This string is displayed in the command line to the left of the cursor. config SYS_PROMPT_HUSH_PS2 string "Hush shell secondary prompt" depends on HUSH_PARSER default "> " help This defines the secondary prompt string, which is printed when the command interpreter needs more input to complete a command. Usually "> ". config SYS_MAXARGS int "Maximum number arguments accepted by commands" default 16 config SYS_CBSIZE int "Console input buffer size" default 2048 if ARCH_TEGRA || ARCH_VERSAL || ARCH_ZYNQ || ARCH_ZYNQMP || \ RCAR_GEN3 || TARGET_SOCFPGA_SOC64 default 512 if ARCH_MX5 || ARCH_MX6 || ARCH_MX7 || FSL_LSCH2 || \ FSL_LSCH3 || X86 default 256 if M68K || PPC default 1024 config SYS_PBSIZE int "Buffer size for console output" default 1024 if ARCH_SUNXI default 1044 config SYS_XTRACE bool "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. config BUILD_BIN2C bool comment "Commands" menu "Info commands" config CMD_ACPI bool "acpi" depends on ACPI default y help List and dump ACPI tables. ACPI (Advanced Configuration and Power Interface) is used mostly on x86 for providing information to the Operating System about devices in the system. The tables are set up by the firmware, typically U-Boot but possibly an earlier firmware module, if U-Boot is chain-loaded from something else. ACPI tables can also include code, to perform hardware-specific tasks required by the Operating Systems. This allows some amount of separation between the firmware and OS, and is particularly useful when you want to make hardware changes without the OS needing to be adjusted. config CMD_ADDRMAP bool "addrmap" depends on ADDR_MAP default y help List non-identity virtual-physical memory mappings for 32-bit CPUs. config CMD_BDI bool "bdinfo" default y help Print board info config CMD_BDINFO_EXTRA bool "bdinfo extra features" default y if SANDBOX || X86 help Show additional information about the board. This uses a little more code space but provides more options, particularly those useful for bringup, development and debugging. config CMD_CONFIG bool "config" default SANDBOX select BUILD_BIN2C help Print ".config" contents. If this option is enabled, the ".config" file contents are embedded in the U-Boot image and can be printed on the console by the "config" command. This provides information of which options are enabled on the running U-Boot. config CMD_CONSOLE bool "coninfo" default y help Print console devices and information. config CMD_CPU bool "cpu" depends on 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_FWU_METADATA bool "fwu metadata read" depends on FWU_MULTI_BANK_UPDATE help Command to read the metadata and dump it's contents config CMD_LICENSE bool "license" select BUILD_BIN2C help Print GPL license text config CMD_PMC bool "pmc" help Provides access to the Intel Power-Management Controller (PMC) so that its state can be examined. This does not currently support changing the state but it is still useful for debugging and seeing what is going on. config CMD_REGINFO bool "reginfo" depends on PPC help Register dump config CMD_TLV_EEPROM bool "tlv_eeprom" depends on I2C_EEPROM select CRC32 help Display and program the system EEPROM data block in ONIE Tlvinfo format. TLV stands for Type-Length-Value. config SPL_CMD_TLV_EEPROM bool "tlv_eeprom for SPL" depends on SPL_I2C_EEPROM select SPL_DRIVERS_MISC select SPL_CRC32 help Read system EEPROM data block in ONIE Tlvinfo format from SPL. config CMD_SBI bool "sbi" depends on RISCV_SMODE && SBI_V02 help Display information about the SBI implementation. endmenu 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". config CMD_BOOTM bool "bootm" default y help Boot an application image from the memory. config CMD_BOOTM_PRE_LOAD bool "enable pre-load on bootm" depends on CMD_BOOTM depends on IMAGE_PRE_LOAD default n help Enable support of stage pre-load for the bootm command. This stage allow to check or modify the image provided to the bootm command. config CMD_BOOTDEV bool "bootdev" depends on BOOTSTD default y if BOOTSTD_FULL help Support listing available bootdevs (boot devices) which can provide an OS to boot, as well as showing information about a particular one. This command is not necessary for bootstd to work. config CMD_BOOTFLOW bool "bootflow" depends on BOOTSTD default y help Support scanning for bootflows available with the bootdevs. The bootflows can optionally be booted. config CMD_BOOTFLOW_FULL bool "bootflow - extract subcommands" depends on BOOTSTD_FULL default y help Add the ability to list the available bootflows, select one and obtain information about it. This command is not necessary for bootstd to work. config CMD_BOOTMETH bool "bootmeth" depends on BOOTSTD default y if BOOTSTD_FULL help Support listing available bootmethds (methods used to boot an Operating System), as well as selecting the order that the bootmeths are used. This command is not necessary for bootstd to work. config BOOTM_EFI bool "Support booting UEFI FIT images" depends on CMD_BOOTEFI && CMD_BOOTM && FIT default y help Support booting UEFI FIT images via the bootm command. config CMD_BOOTZ bool "bootz" help Boot the Linux zImage config CMD_BOOTI bool "booti" depends on ARM64 || RISCV default y help Boot an AArch64 Linux Kernel image from memory. config BOOTM_LINUX bool "Support booting Linux OS images" depends on CMD_BOOTM || CMD_BOOTZ || CMD_BOOTI default y help Support booting the Linux kernel directly via a command such as bootm or booti or bootz. config BOOTM_NETBSD bool "Support booting NetBSD (non-EFI) loader images" depends on CMD_BOOTM default y help Support booting NetBSD via the bootm command. config BOOTM_OPENRTOS bool "Support booting OPENRTOS / FreeRTOS images" depends on CMD_BOOTM help Support booting OPENRTOS / FreeRTOS via the bootm command. config BOOTM_OSE bool "Support booting Enea OSE images" depends on (ARM && (ARM64 || CPU_V7A || CPU_V7R) || SANDBOX || PPC || X86) depends on CMD_BOOTM help Support booting Enea OSE images via the bootm command. config BOOTM_PLAN9 bool "Support booting Plan9 OS images" depends on CMD_BOOTM default y help Support booting Plan9 images via the bootm command. config BOOTM_RTEMS bool "Support booting RTEMS OS images" depends on CMD_BOOTM default y help Support booting RTEMS images via the bootm command. config CMD_SEAMA bool "Support read SEAMA NAND images" depends on MTD_RAW_NAND help Support reading NAND Seattle Image (SEAMA) images. config CMD_VBE bool "vbe - Verified Boot for Embedded" depends on BOOTMETH_VBE default y if BOOTSTD_FULL help Provides various subcommands related to VBE, such as listing the available methods, looking at the state and changing which method is used to boot. Updating the parameters is not currently supported. config BOOTM_VXWORKS bool "Support booting VxWorks OS images" depends on CMD_BOOTM default y help Support booting VxWorks images via the bootm command. config SYS_BOOTM_LEN hex "Maximum size of a decompresed OS image" depends on CMD_BOOTM || CMD_BOOTI || CMD_BOOTZ || \ LEGACY_IMAGE_FORMAT || SPL_LEGACY_IMAGE_FORMAT default 0x4000000 if PPC || ARM64 default 0x1000000 if X86 || ARCH_MX6 || ARCH_MX7 default 0x800000 help This is the maximum size of the buffer that is used to decompress the OS image in to, if passing a compressed image to bootm/booti/bootz. config CMD_BOOTEFI bool "bootefi" depends on EFI_LOADER default y help Boot an EFI image from memory. config CMD_BOOTEFI_HELLO_COMPILE bool "Compile a standard EFI hello world binary for testing" depends on CMD_BOOTEFI && !CPU_V7M default y help This compiles a standard EFI hello world application with U-Boot so that it can be used with the test/py testing framework. This is useful for testing that EFI is working at a basic level, and for bringing up EFI support on a new architecture. No additional space will be required in the resulting U-Boot binary when this option is enabled. config CMD_BOOTEFI_HELLO bool "Allow booting a standard EFI hello world for testing" depends on CMD_BOOTEFI_HELLO_COMPILE default y if CMD_BOOTEFI_SELFTEST help This adds a standard EFI hello world application to U-Boot so that it can be used with the 'bootefi hello' command. This is useful for testing that EFI is working at a basic level, and for bringing up EFI support on a new architecture. source lib/efi_selftest/Kconfig config CMD_BOOTMENU bool "bootmenu" select MENU select CHARSET help Add an ANSI terminal boot menu command. config CMD_ADTIMG bool "adtimg" help Android DTB/DTBO image manipulation commands. Read dtb/dtbo files from image into RAM, dump image structure information, etc. Those dtb/dtbo files should be merged in one dtb further, which needs to be passed to the kernel, as part of a boot process. config CMD_ABOOTIMG bool "abootimg" depends on ANDROID_BOOT_IMAGE help Android Boot Image manipulation commands. Allows one to extract images contained in boot.img, like kernel, ramdisk, dtb, etc, and obtain corresponding meta-information from boot.img. See doc/android/boot-image.rst for details. config CMD_CEDIT bool "cedit - Configuration editor" depends on CEDIT default y help Provides a command to allow editing of board configuration and providing a UI for the user to adjust settings. Subcommands allow loading and saving of configuration as well as showing an editor. config CMD_ELF bool "bootelf, bootvx" default y select LIB_ELF help Boot an ELF/vxWorks image from the memory. config CMD_FDT bool "Flattened Device Tree utility commands" default y depends on OF_LIBFDT help Do FDT related setup before booting into the Operating System. config SUPPORT_EXTENSION_SCAN bool config CMD_EXTENSION bool "Extension board management command" select CMD_FDT depends on SUPPORT_EXTENSION_SCAN help Enables the "extension" command, which allows to detect extension boards connected to the system, and apply corresponding Device Tree overlays. config CMD_GO bool "go" default y help Start an application at a given address. 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" help List all images found in flash config CMD_XIMG bool "imxtract" default y help Extract a part of a multi-image. config CMD_XXD bool "xxd" help Print file as hexdump to standard output config CMD_SPL bool "spl export - Export boot information for Falcon boot" depends on SPL help Falcon mode allows booting directly from SPL into an Operating System such as Linux, thus skipping U-Boot proper. See doc/README.falcon for full information about how to use this command. config CMD_SPL_NAND_OFS hex "Offset of OS args or dtb for Falcon-mode NAND boot" depends on CMD_SPL && (TPL_NAND_SUPPORT || SPL_NAND_SUPPORT) default 0x0 help This provides the offset of the command line arguments for Linux when booting from NAND in Falcon mode. See doc/README.falcon 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 0x0 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 default 0x2000 help This provides the size of the command-line argument area in NAND flash used by Falcon-mode boot. See the documentation until CMD_SPL for detail. config CMD_THOR_DOWNLOAD bool "thor - TIZEN 'thor' download" select DFU select USB_FUNCTION_THOR depends on USB_GADGET_DOWNLOAD help Implements the 'thor' download protocol. This is a way of downloading a software update over USB from an attached host. There is no documentation about this within the U-Boot source code but you should be able to find something on the interwebs. config THOR_RESET_OFF bool "thor: Disable reset on completion" depends on CMD_THOR_DOWNLOAD config CMD_ZBOOT bool "zboot - x86 boot command" help With x86 machines it is common to boot a bzImage file which contains both a kernel and a setup.bin file. The latter includes configuration information from the dark ages which x86 boards still need to pick things out of. Consider using FIT in preference to this since it supports directly booting both 32- and 64-bit kernels, as well as secure boot. Documentation is available in doc/uImage.FIT/x86-fit-boot.txt endmenu menu "Environment commands" config CMD_ASKENV bool "ask for env variable" help Ask for environment variable config CMD_EXPORTENV bool "env export" default y help Export environments. config CMD_IMPORTENV bool "env import" default y help Import environments. config CMD_EDITENV bool "editenv" default y help Edit environment variable. config CMD_GREPENV bool "search env" help Allow for searching environment variables config CMD_SAVEENV bool "saveenv" default y help Save all environment variables into the compiled-in persistent storage. config CMD_ERASEENV bool "eraseenv" depends on CMD_SAVEENV help Erase environment variables from the compiled-in persistent storage. config CMD_ENV_EXISTS bool "env exists" default y help Check if a variable is defined in the environment for use in shell scripting. config CMD_ENV_CALLBACK bool "env callbacks - print callbacks and their associated variables" help Some environment variable have callbacks defined by U_BOOT_ENV_CALLBACK. These are called when the variable changes. For example changing "baudrate" adjust the serial baud rate. This command lists the currently defined callbacks. config CMD_ENV_FLAGS bool "env flags -print variables that have non-default flags" help Some environment variables have special flags that control their behaviour. For example, serial# can only be written once and cannot 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 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_INDIRECT bool "env indirect - Sets environment value from another" 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 [-q] : quiet output The result of multiple evaluations will be combined with AND. config CMD_NVEDIT_LOAD bool "env load" help Load all environment variables from the compiled-in persistent storage. config CMD_NVEDIT_SELECT bool "env select" help Select the compiled-in persistent storage of environment variables. endmenu menu "Memory commands" config CMD_BINOP bool "binop" help Compute binary operations (xor, or, and) of byte arrays of arbitrary size from memory and store the result in memory or the environment. config CMD_BLOBLIST bool "bloblist" default y if BLOBLIST help Show information about the bloblist, a collection of binary blobs held in memory that persist between SPL and U-Boot. In the case of x86 devices the bloblist can be used to hold ACPI tables so that they remain available in memory. config CMD_CRC32 bool "crc32" default y select HASH help Compute CRC32. config CRC32_VERIFY bool "crc32 -v" depends on CMD_CRC32 help Add -v option to verify data against a crc32 checksum. config CMD_EEPROM bool "eeprom - EEPROM subsystem" help (deprecated, needs conversion to driver model) Provides commands to read and write EEPROM (Electrically Erasable Programmable Read Only Memory) chips that are connected over an I2C bus. config CMD_EEPROM_LAYOUT bool "Enable layout-aware eeprom commands" depends on CMD_EEPROM help (deprecated, needs conversion to driver model) When enabled, additional eeprom sub-commands become available. eeprom print - prints the contents of the eeprom in a human-readable way (eeprom layout fields, and data formatted to be fit for human consumption). eeprom update - allows user to update eeprom fields by specifying the field name, and providing the new data in a human readable format (same format as displayed by the eeprom print command). Both commands can either auto detect the layout, or be told which layout to use. Feature API: __weak int parse_layout_version(char *str) - override to provide your own layout name parsing __weak void __eeprom_layout_assign(struct eeprom_layout *layout, int layout_version); - override to setup the layout metadata based on the version __weak int eeprom_layout_detect(unsigned char *data) - override to provide your own algorithm for detecting layout version eeprom_field.c - contains various printing and updating functions for common types of eeprom fields. Can be used for defining custom layouts. config EEPROM_LAYOUT_HELP_STRING string "Tells user what layout names are supported" depends on CMD_EEPROM_LAYOUT default "" help Help printed with the LAYOUT VERSIONS part of the 'eeprom' command's help. config SYS_I2C_EEPROM_BUS int "I2C bus of the EEPROM device." depends on CMD_EEPROM default 0 config SYS_I2C_EEPROM_ADDR_LEN int "Length in bytes of the EEPROM memory array address" depends on CMD_EEPROM || ID_EEPROM default 1 range 1 2 help Note: This is NOT the chip address length! config SYS_EEPROM_SIZE depends on CMD_EEPROM int "Size in bytes of the EEPROM device" default 256 config SYS_EEPROM_PAGE_WRITE_BITS int "Number of bits used to address bytes in a single page" depends on CMD_EEPROM default 8 help The EEPROM page size is 2^SYS_EEPROM_PAGE_WRITE_BITS. A 64 byte page, for example would require six bits. config SYS_EEPROM_PAGE_WRITE_DELAY_MS int "Number of milliseconds to delay between page writes" depends on CMD_EEPROM || CMD_I2C default 0 config LOOPW bool "loopw" help Infinite write loop on address range config CMD_MD5SUM bool "md5sum" select MD5 help Compute MD5 checksum. config MD5SUM_VERIFY bool "md5sum -v" depends on CMD_MD5SUM help Add -v option to verify data against an MD5 checksum. config CMD_MEMINFO bool "meminfo" help Display memory information. config CMD_MEMORY bool "md, mm, nm, mw, cp, cmp, base, loop" default y help Memory commands. md - memory display mm - memory modify (auto-incrementing address) nm - memory modify (constant address) mw - memory write (fill) cp - memory copy cmp - memory compare base - print or set address offset loop - initialize loop on address range config CMD_MEM_SEARCH bool "ms - Memory search" help Memory-search command This allows searching through a region of memory looking for hex data (byte, 16-bit word, 32-bit long, also 64-bit on machines that support it). It is also possible to search for a string. The command accepts a memory range and a list of values to search for. The values need to appear in memory in the same order they are given in the command. At most 10 matches can be returned at a time, but pressing return will show the next 10 matches. Environment variables are set for use with scripting (memmatches, memaddr, mempos). config CMD_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 Simple RAM read/write test. if CMD_MEMTEST config SYS_ALT_MEMTEST bool "Alternative test" help Use a more complete alternative memory test. if SYS_ALT_MEMTEST config SYS_ALT_MEMTEST_BITFLIP bool "Bitflip test" default y help The alternative memory test includes bitflip test since 2020.07. The bitflip test significantly increases the overall test time. Bitflip test can optionally be disabled here. endif config SYS_MEMTEST_START hex "default start address for mtest" default 0x0 help This is the default start address for mtest for simple read/write test. If no arguments are given to mtest, default address is used as start address. config SYS_MEMTEST_END hex "default end address for mtest" default 0x1000 help This is the default end address for mtest for simple read/write test. If no arguments are given to mtest, default address is used as end address. endif config CMD_SHA1SUM bool "sha1sum" select SHA1 help Compute SHA1 checksum. config SHA1SUM_VERIFY bool "sha1sum -v" depends on CMD_SHA1SUM help Add -v option to verify data against a SHA1 checksum. config CMD_STRINGS bool "strings - display strings in memory" help This works similarly to the Unix 'strings' command except that it works with a memory range. String of printable characters found within the range are displayed. The minimum number of characters for a sequence to be considered a string can be provided. endmenu menu "Compression commands" config CMD_LZMADEC bool "lzmadec" default y if CMD_BOOTI select LZMA help Support decompressing an LZMA (Lempel-Ziv-Markov chain algorithm) image from memory. config CMD_UNLZ4 bool "unlz4" default y if CMD_BOOTI select LZ4 help Support decompressing an LZ4 image from memory region. config CMD_UNZIP bool "unzip" default y if CMD_BOOTI select GZIP help Uncompress a zip-compressed memory region. config CMD_ZIP bool "zip" select GZIP_COMPRESSED help Compress a memory region with zlib deflate method. endmenu menu "Device access commands" config CMD_ARMFFA bool "Arm FF-A test command" depends on ARM_FFA_TRANSPORT help Provides a test command for the FF-A support supported options: - Listing the partition(s) info - Sending a data pattern to the specified partition - Displaying the arm_ffa device info config CMD_ARMFLASH #depends on FLASH_CFI_DRIVER bool "armflash" help ARM Ltd reference designs flash partition access config CMD_ADC bool "adc - Access Analog to Digital Converters info and data" select ADC depends on DM_REGULATOR help 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 default y if USB_ETHER help Bind or unbind a device to/from a driver from the command line. This is useful in situations where a device may be handled by several drivers. For example, this can be used to bind a UDC to the usb ether gadget driver from the command line. config CMD_CLK bool "clk - Show clock frequencies" help (deprecated) Shows clock frequences by calling a sock_clk_dump() hook function. This is depreated in favour of using the CLK uclass and accessing clock values from associated drivers. However currently no command exists for this. 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_DFU bool "dfu" select DFU help Enables the command "dfu" which is used to have U-Boot create a DFU class device via USB. This command requires that the "dfu_alt_info" environment variable be set and define the alt settings to expose to the host. config CMD_DM bool "dm - Access to driver model information" depends on DM 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_FASTBOOT bool "fastboot - Android fastboot support" depends on FASTBOOT help This enables the command "fastboot" which enables the Android fastboot mode for the platform. Fastboot is a protocol for downloading images, flashing and device control used on Android devices. Fastboot requires either the network stack enabled or support for acting as a USB device. See doc/android/fastboot.rst for more information. config CMD_FLASH bool "flinfo, erase, protect" default y depends on MTD || FLASH_CFI_DRIVER || MTD_NOR_FLASH help NOR flash support. flinfo - print FLASH memory information erase - FLASH memory protect - enable or disable FLASH write protection config CMD_FPGA bool "fpga" depends on FPGA default y help FPGA support. config CMD_FPGA_LOADBP bool "fpga loadbp - load partial bitstream (Xilinx only)" depends on CMD_FPGA help Supports loading an FPGA device from a bitstream buffer containing a partial bitstream. config CMD_FPGA_LOADFS bool "fpga loadfs - load bitstream from FAT filesystem (Xilinx only)" depends on CMD_FPGA help Supports loading an FPGA device from a FAT filesystem. config CMD_FPGA_LOADMK bool "fpga loadmk - load bitstream from image" depends on CMD_FPGA help Supports loading an FPGA device from a image generated by mkimage. config CMD_FPGA_LOADP bool "fpga loadp - load partial bitstream" depends on CMD_FPGA help Supports loading an FPGA device from a bitstream buffer containing a partial bitstream. config CMD_FPGA_LOAD_SECURE bool "fpga loads - loads secure bitstreams" depends on CMD_FPGA select FPGA_LOAD_SECURE help Enables the fpga loads command which is used to load secure (authenticated or encrypted or both) bitstreams on to FPGA. config CMD_FPGAD bool "fpgad - dump FPGA registers" help (legacy, needs conversion to driver model) Provides a way to dump FPGA registers by calling the board-specific fpga_get_reg() function. This functions similarly to the 'md' command. config CMD_FUSE bool "fuse - support for the fuse subssystem" help (deprecated - needs conversion to driver model) This allows reading, sensing, programming or overriding fuses which control the behaviour of the device. The command uses the fuse_...() API. config CMD_GPIO bool "gpio" help GPIO support. config CMD_GPIO_READ bool "gpio read - save GPIO value to variable" depends on CMD_GPIO help Enables the 'gpio read' command that saves the value of a GPIO pin to a variable. config CMD_PWM bool "pwm" depends on DM_PWM help Control PWM channels, this allows invert/config/enable/disable PWM channels. config CMD_GPT bool "GPT (GUID Partition Table) command" select EFI_PARTITION select PARTITION_UUIDS imply RANDOM_UUID help Enable the 'gpt' command to ready and write GPT style partition tables. config RANDOM_UUID bool "GPT Random UUID generation" select LIB_UUID help Enable the generation of partitions with random UUIDs if none are provided. config CMD_GPT_RENAME bool "GPT partition renaming commands" depends on CMD_GPT help Enables the 'gpt' command to interchange names on two GPT partitions via the 'gpt swap' command or to rename single partitions via the 'rename' command. config CMD_IDE bool "ide - Support for IDE drivers" select IDE help Provides an 'ide' command which allows accessing the IDE drive, resetting the IDE interface, printing the partition table and geting device info. It also enables the 'diskboot' command which permits booting from an IDE drive. config CMD_IO bool "io - Support for performing I/O accesses" help Provides an 'iod' command to display I/O space and an 'iow' command to write values to the I/O space. This can be useful for manually checking the state of devices during boot when debugging device drivers, etc. config CMD_IOTRACE bool "iotrace - Support for tracing I/O activity" help Provides an 'iotrace' command which supports recording I/O reads and writes in a trace buffer in memory . It also maintains a checksum of the trace records (even if space is exhausted) so that the sequence of I/O accesses can be verified. When debugging drivers it is useful to see what I/O accesses were done and in what order. Even if the individual accesses are of little interest it can be useful to verify that the access pattern is consistent each time an operation is performed. In this case a checksum can be used to characterise the operation of a driver. The checksum can be compared across different runs of the operation to verify that the driver is working properly. In particular, when performing major refactoring of the driver, where the access pattern should not change, the checksum provides assurance that the refactoring work has not broken the driver. This works by sneaking into the io.h heder for an architecture and redirecting I/O accesses through iotrace's tracing mechanism. For now no commands are provided to examine the trace buffer. The format is fairly simple, so 'md' is a reasonable substitute. Note: The checksum feature is only useful for I/O regions where the contents do not change outside of software control. Where this is not suitable you can fall back to manually comparing the addresses. It might be useful to enhance tracing to only checksum the accesses and not the data read/written. config CMD_I2C bool "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 help Load a binary file over serial line. config CMD_LOADM bool "loadm" help Load a binary over memory mapped. config CMD_LOADS bool "loads - Load a file over serial in S-Record format" default y help Load an S-Record file over serial line config LOADS_ECHO bool "Echo all characters received during a loads back to console" depends on CMD_LOADS help If enabled, all characters received during a serial download (using the "loads" command) are echoed back. This might be needed by some terminal emulations (like "cu"), but may as well just take time on others. This sets the initial value of the "loads_echo" environment variable to 1. config CMD_SAVES bool "saves - Save a file over serial in S-Record format" depends on CMD_LOADS help Provides a way to save a binary file using the Motorola S-Record format over the serial line. config SYS_LOADS_BAUD_CHANGE bool "Enable a temporary baudrate change during loads/saves command" depends on CMD_LOADS || CMD_SAVES config CMD_LOADXY_TIMEOUT int "loadxy_timeout" range 0 2000 default 90 help Initial timeout for loadx and loady commands. Zero means infinity. config CMD_LSBLK depends on BLK bool "lsblk - list block drivers and devices" help Print list of available block device drivers, and for each, the list of known block devices. config CMD_MBR bool "MBR (Master Boot Record) command" select DOS_PARTITION help Enable the 'mbr' command to ready and write MBR (Master Boot Record) style partition tables. config CMD_MISC bool "misc" depends on MISC help Enable the command "misc" for accessing miscellaneous devices with a MISC uclass driver. The command provides listing all MISC devices as well as read and write functionalities via their drivers. config CMD_MMC bool "mmc" depends on MMC help MMC memory mapped support. if CMD_MMC config CMD_BKOPS_ENABLE bool "mmc bkops enable" depends on CMD_MMC help Enable command for setting manual background operations handshake on a eMMC device. The feature is optionally available on eMMC devices conforming to standard >= 4.41. config CMD_MMC_RPMB bool "Enable support for RPMB in the mmc command" depends on SUPPORT_EMMC_RPMB help Enable the commands for reading, writing and programming the key for the Replay Protection Memory Block partition in eMMC. config CMD_MMC_SWRITE bool "mmc swrite" depends on MMC_WRITE select IMAGE_SPARSE help Enable support for the "mmc swrite" command to write Android sparse images to eMMC. endif config CMD_CLONE bool "clone" depends on BLK help Enable storage cloning over block devices, useful for initial flashing by external block device without network or usb support. config CMD_OPTEE_RPMB bool "Enable read/write support on RPMB via OPTEE" depends on SUPPORT_EMMC_RPMB && OPTEE help Enable the commands for reading, writing persistent named values in the Replay Protection Memory Block partition in eMMC by using Persistent Objects in OPTEE config CMD_MTD bool "mtd" depends on MTD select MTD_PARTITIONS help MTD commands support. config CMD_MUX bool "mux" depends on MULTIPLEXER help List, select, and deselect mux controllers on the fly. config CMD_NAND bool "nand" default y if NAND_SUNXI depends on MTD_RAW_NAND help NAND support. if CMD_NAND config CMD_NAND_TRIMFFS bool "nand write.trimffs" default y if ARCH_SUNXI help Allows one to skip empty pages when flashing something on a NAND. config CMD_NAND_LOCK_UNLOCK bool "nand lock/unlock" help NAND locking support. config CMD_NAND_TORTURE bool "nand torture" help NAND torture support. endif # CMD_NAND config CMD_NVME bool "nvme" depends on NVME default y if NVME help NVM Express device support config CMD_ONENAND bool "onenand - access to onenand device" depends on MTD help OneNAND is a brand of NAND ('Not AND' gate) flash which provides various useful features. This command allows reading, writing, and erasing blocks. It allso provides a way to show and change bad blocks, and test the device. config USE_ONENAND_BOARD_INIT bool "Call onenand_board_init() in the onenand command" depends on CMD_ONENAND 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" depends on PARTITIONS select PARTITION_UUIDS help Read and display information about the partition table on various media. config CMD_PCI bool "pci - Access PCI devices" help Provide access to PCI (Peripheral Interconnect Bus), a type of bus used on some devices to allow the CPU to communicate with its peripherals. Sub-commands allow bus enumeration, displaying and changing configuration space and a few other features. config CMD_PCI_MPS bool "pci_mps - Configure PCI device MPS" depends on PCI help Enables PCI Express Maximum Packet Size (MPS) tuning. This command configures the PCI Express MPS of each endpoint to the largest value supported by all devices below the root complex. The Maximum Read Request Size will not be altered. This method is the same algorithm as used by Linux pci=pcie_bus_safe. config CMD_PINMUX bool "pinmux - show pins muxing" depends on PINCTRL default y if PINCTRL help 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" help Provides low-level access to the data in a partition. config CMD_REMOTEPROC bool "remoteproc" depends on REMOTEPROC help Support for Remote Processor control config CMD_SATA bool "sata - Access SATA subsystem" select SATA help SATA (Serial Advanced Technology Attachment) is a serial bus standard for connecting to hard drives and other storage devices. This command provides information about attached devices and allows reading, writing and other operations. SATA replaces PATA (originally just ATA), which stands for Parallel AT Attachment, where AT refers to an IBM AT (Advanced Technology) computer released in 1984. config CMD_SCSI bool "scsi - Access to SCSI devices" depends on SCSI default y help This provides a 'scsi' command which provides access to SCSI (Small Computer System Interface) devices. The command provides a way to scan the bus, reset the bus, read and write data and get information about devices. config CMD_SDRAM bool "sdram - Print SDRAM configuration information" help Provides information about attached SDRAM. This assumed that the SDRAM has an EEPROM with information that can be read using the I2C bus. This is only available on some boards. config CMD_SF bool "sf" depends on DM_SPI_FLASH || SPI_FLASH default y if DM_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 for the test to use. Performance information is also provided, measuring the performance of reading, writing and erasing in Mbps (Million Bits Per Second). This value should approximately equal the SPI bus speed for a single-bit-wide SPI bus, assuming everything is working properly. config CMD_SPI 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 0x0 config CMD_TEMPERATURE bool "temperature - display the temperature from thermal sensors" depends on DM_THERMAL help Provides a way to list thermal sensors and to get their readings. config CMD_TSI148 bool "tsi148 - Command to access tsi148 device" help This provides various sub-commands to initialise and configure the Turndra tsi148 device. See the command help for full details. config CMD_UFS bool "Enable UFS - Universal Flash Subsystem commands" depends on UFS help "This provides commands to initialise and configure universal flash subsystem devices" config CMD_UNIVERSE bool "universe - Command to set up the Turndra Universe controller" help This allows setting up the VMEbus provided by this controller. See the command help for full details. config CMD_USB bool "usb" depends on USB_HOST help USB support. config CMD_USB_SDP bool "sdp" select USB_FUNCTION_SDP help Enables the command "sdp" which is used to have U-Boot emulating the Serial Download Protocol (SDP) via USB. config CMD_ROCKUSB bool "rockusb" depends on USB_FUNCTION_ROCKUSB help Rockusb protocol is widely used by Rockchip SoC based devices. It can read/write info, image to/from devices. This enable rockusb command support to communication with rockusb device. for more detail about this command, please read doc/README.rockusb. config CMD_USB_MASS_STORAGE bool "UMS usb mass storage" depends on USB_GADGET_DOWNLOAD select USB_FUNCTION_MASS_STORAGE depends on BLK && USB_GADGET help Enables the command "ums" and the USB mass storage support to the export a block device: U-Boot, the USB device, acts as a simple external hard drive plugged on the host USB port. config CMD_UMS_ABORT_KEYED bool "UMS abort with any key" depends on CMD_USB_MASS_STORAGE help Allow interruption of usb mass storage run with any key pressed. config CMD_PVBLOCK bool "Xen para-virtualized block device" depends on XEN select PVBLOCK help Xen para-virtualized block device 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_WRITE bool "write - Write binary data to a partition" help Provides low-level write access to a partition. config CMD_AXI bool "axi" depends on AXI help Enable the command "axi" for accessing AXI (Advanced eXtensible Interface) busses, a on-chip interconnect specification for managing functional blocks in SoC designs, which is also often used in designs involving FPGAs (e.g. communication with IP cores in Xilinx FPGAs). endmenu menu "Shell scripting commands" config CMD_CAT bool "cat" help Print file to standard output 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" default y 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. config CMD_SETEXPR_FMT bool "setexpr_fmt" depends on CMD_SETEXPR help Evaluate format string expression and store result in an environment variable. endmenu menu "Android support commands" config CMD_AB_SELECT bool "ab_select" 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 bool "Network commands" default y imply NETDEVICES if CMD_NET config CMD_BOOTP bool "bootp" default y help bootp - boot image via network using BOOTP/TFTP protocol config CMD_DHCP bool "dhcp" depends on CMD_BOOTP help Boot image via network using DHCP/TFTP protocol config CMD_DHCP6 bool "dhcp6" depends on IPV6 help Boot image via network using DHCPv6/TFTP protocol using IPv6. Will perform 4-message exchange with DHCPv6 server, requesting the minimum required options to TFTP boot. Complies with RFC 8415. config BOOTP_MAY_FAIL bool "Allow for the BOOTP/DHCP server to not be found" depends on CMD_BOOTP 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_BOOTPATH bool "Request & store 'rootpath' from BOOTP/DHCP server" default y depends on CMD_BOOTP help Even though the config is called BOOTP_BOOTPATH, it stores the path in the variable 'rootpath'. config BOOTP_VENDOREX bool "Support vendor extensions from BOOTP/DHCP server" depends on CMD_BOOTP config BOOTP_BOOTFILESIZE bool "Request & store 'bootfilesize' from BOOTP/DHCP server" depends on CMD_BOOTP config BOOTP_DNS bool "Request & store 'dnsip' from BOOTP/DHCP server" default y depends on CMD_BOOTP help The primary DNS server is stored as 'dnsip'. If two servers are returned, you must set BOOTP_DNS2 to store that second server IP also. config BOOTP_DNS2 bool "Store 'dnsip2' from BOOTP/DHCP server" depends on BOOTP_DNS help If a DHCP client requests the DNS server IP from a DHCP server, it is possible that more than one DNS serverip is offered to the client. If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS server IP will be stored in the additional environment variable "dnsip2". The first DNS serverip is always stored in the variable "dnsip", when BOOTP_DNS is defined. config BOOTP_GATEWAY bool "Request & store 'gatewayip' from BOOTP/DHCP server" default y depends on CMD_BOOTP config BOOTP_HOSTNAME bool "Request & store 'hostname' from BOOTP/DHCP server" default y depends on CMD_BOOTP help The name may or may not be qualified with the local domain name. config BOOTP_PREFER_SERVERIP bool "serverip variable takes precedent over DHCP server IP." depends on CMD_BOOTP help By default a BOOTP/DHCP reply will overwrite the 'serverip' variable. With this option enabled, the 'serverip' variable in the environment takes precedence over DHCP server IP and will only be set by the DHCP server if not already set in the environment. config BOOTP_SUBNETMASK bool "Request & store 'netmask' from BOOTP/DHCP server" default y depends on CMD_BOOTP config BOOTP_NISDOMAIN bool "Request & store 'nisdomain' from BOOTP/DHCP server" depends on CMD_BOOTP config BOOTP_NTPSERVER bool "Request & store 'ntpserverip' from BOOTP/DHCP server" depends on CMD_BOOTP config BOOTP_TIMEOFFSET bool "Request & store 'timeoffset' from BOOTP/DHCP server" depends on CMD_BOOTP && CMD_SNTP 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 depends on CMD_BOOTP && CMD_PXE help Supported for ARM, ARM64, and x86 for now. config BOOTP_PXE_CLIENTARCH hex depends on BOOTP_PXE default 0x16 if ARM64 default 0x15 if ARM default 0x0 if X86 config BOOTP_VCI_STRING string depends on CMD_BOOTP default "U-Boot.armv7" if CPU_V7A || CPU_V7M || CPU_V7R default "U-Boot.armv8" if ARM64 default "U-Boot.arm" if ARM default "U-Boot" if CMD_DHCP6 config DHCP6_PXE_CLIENTARCH hex default 0x16 if ARM64 default 0x15 if ARM default 0xFF config DHCP6_PXE_DHCP_OPTION bool "Request & store 'pxe_configfile' from DHCP6 server" config DHCP6_ENTERPRISE_ID int "Enterprise ID to send in DHCPv6 Vendor Class Option" default 0 endif config CMD_TFTPBOOT bool "tftpboot" default y help tftpboot - load file via network using TFTP protocol config CMD_TFTPPUT bool "tftp put" depends on CMD_TFTPBOOT help TFTP put command, for uploading files to a server config CMD_TFTPSRV bool "tftpsrv" depends on CMD_TFTPBOOT help Act as a TFTP server and boot the first received file config NET_TFTP_VARS bool "Control TFTP timeout and count through environment" depends on CMD_TFTPBOOT default y help If set, allows controlling the TFTP timeout through the environment variable tftptimeout, and the TFTP maximum timeout count through the variable tftptimeoutcountmax. If unset, timeout and maximum are hard-defined as 1 second and 10 timouts per TFTP transfer. config CMD_RARP bool "rarpboot" help Boot image via network using RARP/TFTP protocol config CMD_NFS bool "nfs" help Boot image via network using NFS protocol. config NFS_TIMEOUT int "Timeout in milliseconds for NFS mounts" depends on CMD_NFS default 2000 help Timeout in milliseconds used in NFS protocol. If you encounter "ERROR: Cannot umount" in nfs command, try longer timeout such as 10000. config SYS_DISABLE_AUTOLOAD bool "Disable automatically loading files over the network" depends on CMD_BOOTP || CMD_DHCP || CMD_NFS || CMD_RARP help Typically, commands such as "dhcp" will attempt to automatically load a file from the network, once the initial network configuration is complete. Enable this option to disable this behavior and instead require files to be loaded over the network by subsequent commands. config CMD_WGET bool "wget" select PROT_TCP help wget is a simple command to download kernel, or other files, from a http server over TCP. config CMD_MII bool "mii" imply CMD_MDIO help If set, allows 802.3(clause 22) MII Management functions interface access The management interface specified in Clause 22 provides a simple, two signal, serial interface to connect a Station Management entity and a managed PHY for providing access to management parameters and services. The interface is referred to as the MII management interface. config MII_INIT bool "Call mii_init() in the mii command" depends on CMD_MII && (MPC8XX_FEC || FSLDMAFE || MCFFEC) config CMD_MDIO bool "mdio" depends on PHYLIB help If set, allows Enable 802.3(clause 45) MDIO interface registers access The MDIO interface is orthogonal to the MII interface and extends it by adding access to more registers through indirect addressing. config CMD_PING bool "ping" help Send ICMP ECHO_REQUEST to network host config CMD_PING6 bool "ping6" depends on IPV6 default y if (CMD_PING && IPV6) help Send ICMPv6 ECHO_REQUEST to network host config CMD_CDP bool "cdp" help Perform CDP network configuration config CMD_SNTP bool "sntp" select PROT_UDP help Synchronize RTC via network config CMD_DNS bool "dns" help Lookup the IP of a hostname config CMD_LINK_LOCAL bool "linklocal" select LIB_RAND help Acquire a network IP address using the link-local protocol config CMD_NCSI bool "ncsi" depends on PHY_NCSI help Manually configure the attached NIC via NC-SI. Normally this happens automatically before other network operations. config IPV6_ROUTER_DISCOVERY bool "Do IPv6 router discovery" depends on IPV6 help Will automatically perform router solicitation on first IPv6 network operation endif config CMD_ETHSW bool "ethsw" help Allow control of L2 Ethernet switch commands. These are supported by the vsc9953 Ethernet driver at present. Sub-commands allow operations such as enabling / disabling a port and viewing/maintaining the filtering database (FDB) config CMD_PXE bool "pxe" select PXE_UTILS help Boot image via network using PXE protocol config CMD_WOL bool "wol" help Wait for wake-on-lan Magic Packet endif menu "Misc commands" config CMD_2048 bool "Play 2048" help This is a simple sliding block puzzle game designed by Italian web developer Gabriele Cirulli. The game's objective is to slide numbered tiles on a grid to combine them to create a tile with the number 2048. This needs ANSI support on your terminal to work. It is not fully functional on a video device. config CMD_BMP bool "Enable 'bmp' command" depends on VIDEO select BMP help This provides a way to obtain information about a BMP-format image and to display it. BMP (which presumably stands for BitMaP) is a file format defined by Microsoft which supports images of various depths, formats and compression methods. Headers on the file determine the formats used. This command can be used by first loading the image into RAM, then using this command to look at it or display it. config CMD_BOOTCOUNT bool "bootcount" depends on BOOTCOUNT_LIMIT help Enable the bootcount command, which allows interrogation and reset of the bootcounter. config CMD_BSP bool "Enable board-specific commands" help (deprecated: instead, please define a Kconfig option for each command) Some boards have board-specific commands which are only enabled during developemnt and need to be turned off for production. This option provides a way to control this. The commands that are enabled vary depending on the board. config CMD_BLOCK_CACHE bool "blkcache - control and stats for block cache" depends on BLOCK_CACHE default y if BLOCK_CACHE help Enable the blkcache command, which can be used to control the operation of the cache functions. This is most useful when fine-tuning the operation of the cache during development, but also allows the cache to be disabled when it might hurt performance (e.g. when using the ums command). config CMD_BLKMAP bool "blkmap - Composable virtual block devices" depends on BLKMAP default y if BLKMAP help Create virtual block devices that are backed by various sources, e.g. RAM, or parts of an existing block device. Though much more rudimentary, it borrows a lot of ideas from Linux's device mapper subsystem. Example use-cases: - Treat a region of RAM as a block device, i.e. a RAM disk. This let's you extract files from filesystem images stored in RAM (perhaps as a result of a TFTP transfer). - Create a virtual partition on an existing device. This let's you access filesystems that aren't stored at an exact partition boundary. A common example is a filesystem image embedded in an FIT image. config CMD_BUTTON bool "button" depends on BUTTON default y if BUTTON help Enable the 'button' command which allows to get the status of buttons supported by the board. The buttonss can be listed with 'button list' and state can be known with 'button