-menu "Command line interface"
-
-config HUSH_PARSER
- bool "Use hush shell"
- select SYS_HUSH_PARSER
- 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 SYS_HUSH_PARSER
- bool
- 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.
+menu "Boot timing"
-config AUTOBOOT_STOP_STR_SHA256
- string "Stop autobooting via SHA256 encrypted password"
- depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
+config BOOTSTAGE
+ bool "Boot timing and reporting"
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
+ 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 accumulated time and report it.
-comment "Commands"
+ Normally, IDs are defined in bootstage.h but a small number of
+ additional 'user' IDs can be used by passing BOOTSTAGE_ID_ALLOC
+ as the ID.
-menu "Info commands"
+ Calls to show_boot_progress() will also result in log entries but
+ these will not have names.
-config CMD_BDI
- bool "bdinfo"
- default y
+config SPL_BOOTSTAGE
+ bool "Boot timing and reported in SPL"
+ depends on BOOTSTAGE
help
- Print board info
+ Enable recording of boot time in SPL. To make this visible to U-Boot
+ proper, enable BOOTSTAGE_STASH as well. This will stash the timing
+ information when SPL finishes and load it when U-Boot proper starts
+ up.
-config CMD_CONSOLE
- bool "coninfo"
- default y
+config BOOTSTAGE_REPORT
+ bool "Display a detailed boot timing report before booting the OS"
+ depends on BOOTSTAGE
help
- Print console devices and information.
+ 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:
-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.
+ 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 CMD_LICENSE
- bool "license"
+config BOOTSTAGE_USER_COUNT
+ int "Number of boot ID numbers available for user use"
+ default 20
help
- Print GPL license text
-
-endmenu
-
-menu "Boot commands"
+ 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_BOOTD
- bool "bootd"
- default y
+config BOOTSTAGE_RECORD_COUNT
+ int "Number of boot stage records to store"
+ default 30
help
- Run the command stored in the environment "bootcmd", i.e.
- "bootd" does the same thing as "run bootcmd".
+ This is the size of the bootstage record list and is the maximum
+ number of bootstage records that can be recorded.
-config CMD_BOOTM
- bool "bootm"
- default y
+config BOOTSTAGE_FDT
+ bool "Store boot timing information in the OS device tree"
+ depends on BOOTSTAGE
help
- Boot an application image from the memory.
+ 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 microseconds, or 'accum' containing the
+ accumulated time for that bootstage id in microseconds.
+ For example:
-config CMD_GO
- bool "go"
- default y
- help
- Start an application at a given address.
+ bootstage {
+ 154 {
+ name = "board_init_f";
+ mark = <3575678>;
+ };
+ 170 {
+ name = "lcd";
+ accum = <33482>;
+ };
+ };
-config CMD_RUN
- bool "run"
- default y
- help
- Run the command in the given environment variable.
+ Code in the Linux kernel can find this in /proc/devicetree.
-config CMD_IMI
- bool "iminfo"
- default y
+config BOOTSTAGE_STASH
+ bool "Stash the boot timing information in memory before booting OS"
+ depends on BOOTSTAGE
help
- Print header information for application image.
+ 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 CMD_IMLS
- bool "imls"
- default y
+config BOOTSTAGE_STASH_ADDR
+ hex "Address to stash boot timing information"
+ default 0
help
- List all images found in flash
+ Provide an address which will not be overwritten by the OS when it
+ starts, so that it can read this information when ready.
-config CMD_XIMG
- bool "imxtract"
- default y
+config BOOTSTAGE_STASH_SIZE
+ hex "Size of boot timing stash region"
+ default 0x1000
help
- Extract a part of a multi-image.
+ This should be large enough to hold the bootstage stash. A value of
+ 4096 (4KiB) is normally plenty.
endmenu
-menu "Environment commands"
+menu "Boot media"
-config CMD_EXPORTENV
- bool "env export"
- default y
+config NOR_BOOT
+ bool "Support for booting from NOR flash"
+ depends on NOR
help
- Export environments.
+ Enabling this will make a U-Boot binary that is capable of being
+ booted via NOR. In this case we will enable certain pinmux early
+ as the ROM only partially sets up pinmux. We also default to using
+ NOR for environment.
-config CMD_IMPORTENV
- bool "env import"
- default y
- help
- Import environments.
-
-config CMD_EDITENV
- bool "editenv"
- default y
- help
- Edit environment variable.
-
-config CMD_SAVEENV
- bool "saveenv"
- default y
- help
- Save all environment variables into 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.
-
-endmenu
-
-menu "Memory commands"
-
-config CMD_MEMORY
- bool "md, mm, nm, mw, cp, cmp, base, loop"
- default y
+config NAND_BOOT
+ bool "Support for booting from NAND flash"
+ default n
help
- Memeory 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 - initinite loop on address range
+ Enabling this will make a U-Boot binary that is capable of being
+ booted via NAND flash. This is not a must, some SoCs need this,
+ some not.
-config CMD_CRC32
- bool "crc32"
- default y
+config ONENAND_BOOT
+ bool "Support for booting from ONENAND"
+ default n
help
- Compute CRC32.
+ Enabling this will make a U-Boot binary that is capable of being
+ booted via ONENAND. This is not a must, some SoCs need this,
+ some not.
-config LOOPW
- bool "loopw"
+config QSPI_BOOT
+ bool "Support for booting from QSPI flash"
+ default n
help
- Infinite write loop on address range
+ Enabling this will make a U-Boot binary that is capable of being
+ booted via QSPI flash. This is not a must, some SoCs need this,
+ some not.
-config CMD_MEMTEST
- bool "memtest"
+config SATA_BOOT
+ bool "Support for booting from SATA"
+ default n
help
- Simple RAM read/write test.
+ Enabling this will make a U-Boot binary that is capable of being
+ booted via SATA. This is not a must, some SoCs need this,
+ some not.
-config CMD_MX_CYCLIC
- bool "mdc, mwc"
+config SD_BOOT
+ bool "Support for booting from SD/EMMC"
+ default n
help
- mdc - memory display cyclic
- mwc - memory write cyclic
+ Enabling this will make a U-Boot binary that is capable of being
+ booted via SD/EMMC. This is not a must, some SoCs need this,
+ some not.
-config CMD_MEMINFO
- bool "meminfo"
+config SPI_BOOT
+ bool "Support for booting from SPI flash"
+ default n
help
- Display memory information.
+ Enabling this will make a U-Boot binary that is capable of being
+ booted via SPI flash. This is not a must, some SoCs need this,
+ some not.
endmenu
-menu "Device access commands"
+menu "Environment"
-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.
+if ARCH_SUNXI
-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.
+choice
+ prompt "Environment Device"
+ default ENV_IS_IN_MMC if ARCH_SUNXI
-config CMD_LOADB
- bool "loadb"
- default y
+config ENV_IS_IN_MMC
+ bool "Environment in an MMC device"
+ depends on CMD_MMC
help
- Load a binary file over serial line.
+ Define this if you have an MMC device which you want to use for the
+ environment.
-config CMD_LOADS
- bool "loads"
- default y
+config ENV_IS_IN_NAND
+ bool "Environment in a NAND device"
+ depends on CMD_NAND
help
- Load an S-Record file over serial line
+ Define this if you have a NAND device which you want to use for the
+ environment.
-config CMD_FLASH
- bool "flinfo, erase, protect"
- default y
+config ENV_IS_IN_UBI
+ bool "Environment in a UBI volume"
+ depends on CMD_UBI
+ depends on CMD_MTDPARTS
help
- NOR flash support.
- flinfo - print FLASH memory information
- erase - FLASH memory
- protect - enable or disable FLASH write protection
+ Define this if you have a UBI volume which you want to use for the
+ environment.
-config CMD_ARMFLASH
- depends on FLASH_CFI_DRIVER
- bool "armflash"
+config ENV_IS_NOWHERE
+ bool "Environment is not stored"
help
- ARM Ltd reference designs flash partition access
+ Define this if you don't want to or can't have an environment stored
+ on a storage medium
-config CMD_NAND
- bool "nand"
- help
- NAND support.
+endchoice
-config CMD_SF
- bool "sf"
+config ENV_OFFSET
+ hex "Environment Offset"
+ depends on !ENV_IS_IN_UBI
+ depends on !ENV_IS_NOWHERE
+ default 0x88000 if ARCH_SUNXI
help
- SPI Flash support
+ Offset from the start of the device (or partition)
-config CMD_SPI
- bool "sspi"
+config ENV_SIZE
+ hex "Environment Size"
+ depends on !ENV_IS_NOWHERE
+ default 0x20000 if ARCH_SUNXI
help
- SPI utility command.
+ Size of the environment storage area
-config CMD_I2C
- bool "i2c"
+config ENV_UBI_PART
+ string "UBI partition name"
+ depends on ENV_IS_IN_UBI
help
- I2C support.
+ MTD partition containing the UBI device
-config CMD_USB
- bool "usb"
+config ENV_UBI_VOLUME
+ string "UBI volume name"
+ depends on ENV_IS_IN_UBI
help
- USB support.
+ Name of the volume that you want to store the environment in.
-config CMD_FPGA
- bool "fpga"
- default y
- help
- FPGA support.
+endif
endmenu
+config BOOTDELAY
+ int "delay in seconds before automatically booting"
+ default 2
+ depends on AUTOBOOT
+ help
+ Delay before automatically running bootcmd;
+ set to 0 to autoboot with no delay, but you can stop it by key input.
+ set to -1 to disable autoboot.
+ set to -2 to autoboot with no delay and not check for abort
-menu "Shell scripting commands"
+ See doc/README.autoboot for details.
-config CMD_ECHO
- bool "echo"
- default y
- help
- Echo args to console
+menu "Console"
-config CMD_ITEST
- bool "itest"
- default y
+config MENU
+ bool
help
- Return true/false on integer compare.
+ This is the library functionality to provide a text-based menu of
+ choices for the user to make choices with.
-config CMD_SOURCE
- bool "source"
- default y
+config CONSOLE_RECORD
+ bool "Console recording"
help
- Run script from memory
+ This provides a way to record console output (and provide console
+ input) through circular buffers. This is mostly useful for testing.
+ Console output is recorded even when the console is silent.
+ To enable console recording, call console_record_reset_enable()
+ from your code.
-config CMD_SETEXPR
- bool "setexpr"
- default y
+config CONSOLE_RECORD_OUT_SIZE
+ hex "Output buffer size"
+ depends on CONSOLE_RECORD
+ default 0x400 if CONSOLE_RECORD
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"
+ Set the size of the console output buffer. When this fills up, no
+ more data will be recorded until some is removed. The buffer is
+ allocated immediately after the malloc() region is ready.
-config CMD_NET
- bool "bootp, tftpboot"
- select NET
- default y
+config CONSOLE_RECORD_IN_SIZE
+ hex "Input buffer size"
+ depends on CONSOLE_RECORD
+ default 0x100 if CONSOLE_RECORD
help
- Network commands.
- bootp - boot image via network using BOOTP/TFTP protocol
- tftpboot - boot image via network using TFTP protocol
+ Set the size of the console input buffer. When this contains data,
+ tstc() and getc() will use this in preference to real device input.
+ The buffer is allocated immediately after the malloc() region is
+ ready.
-config CMD_TFTPPUT
- bool "tftp put"
+config IDENT_STRING
+ string "Board specific string to be added to uboot version string"
help
- TFTP put command, for uploading files to a server
+ This options adds the board specific name to u-boot version.
-config CMD_TFTPSRV
- bool "tftpsrv"
+config SILENT_CONSOLE
+ bool "Support a silent console"
help
- Act as a TFTP server and boot the first received file
+ This option allows the console to be silenced, meaning that no
+ output will appear on the console devices. This is controlled by
+ setting the environment vaariable 'silent' to a non-empty value.
+ Note this also silences the console when booting Linux.
-config CMD_RARP
- bool "rarpboot"
- help
- Boot image via network using RARP/TFTP protocol
+ When the console is set up, the variable is checked, and the
+ GD_FLG_SILENT flag is set. Changing the environment variable later
+ will update the flag.
-config CMD_DHCP
- bool "dhcp"
+config SILENT_U_BOOT_ONLY
+ bool "Only silence the U-Boot console"
+ depends on SILENT_CONSOLE
help
- Boot image via network using DHCP/TFTP protocol
+ Normally when the U-Boot console is silenced, Linux's console is
+ also silenced (assuming the board boots into Linux). This option
+ allows the linux console to operate normally, even if U-Boot's
+ is silenced.
-config CMD_NFS
- bool "nfs"
- default y
+config SILENT_CONSOLE_UPDATE_ON_SET
+ bool "Changes to the 'silent' environment variable update immediately"
+ depends on SILENT_CONSOLE
+ default y if SILENT_CONSOLE
help
- Boot image via network using NFS protocol.
+ When the 'silent' environment variable is changed, update the
+ console silence flag immediately. This allows 'setenv' to be used
+ to silence or un-silence the console.
-config CMD_PING
- bool "ping"
- help
- Send ICMP ECHO_REQUEST to network host
+ The effect is that any change to the variable will affect the
+ GD_FLG_SILENT flag.
-config CMD_CDP
- bool "cdp"
+config SILENT_CONSOLE_UPDATE_ON_RELOC
+ bool "Allow flags to take effect on relocation"
+ depends on SILENT_CONSOLE
help
- Perform CDP network configuration
+ In some cases the environment is not available until relocation
+ (e.g. NAND). This option makes the value of the 'silent'
+ environment variable take effect at relocation.
-config CMD_SNTP
- bool "sntp"
+config PRE_CONSOLE_BUFFER
+ bool "Buffer characters before the console is available"
help
- Synchronize RTC via network
+ Prior to the console being initialised (i.e. serial UART
+ initialised etc) all console output is silently discarded.
+ Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
+ buffer any console messages prior to the console being
+ initialised to a buffer. The buffer is a circular buffer, so
+ if it overflows, earlier output is discarded.
-config CMD_DNS
- bool "dns"
- help
- Lookup the IP of a hostname
+ Note that this is not currently supported in SPL. It would be
+ useful to be able to share the pre-console buffer with SPL.
-config CMD_LINK_LOCAL
- bool "linklocal"
+config PRE_CON_BUF_SZ
+ int "Sets the size of the pre-console buffer"
+ depends on PRE_CONSOLE_BUFFER
+ default 4096
help
- Acquire a network IP address using the link-local protocol
+ The size of the pre-console buffer affects how much console output
+ can be held before it overflows and starts discarding earlier
+ output. Normally there is very little output at this early stage,
+ unless debugging is enabled, so allow enough for ~10 lines of
+ text.
+
+ This is a useful feature if you are using a video console and
+ want to see the full boot output on the console. Without this
+ option only the post-relocation output will be displayed.
+
+config PRE_CON_BUF_ADDR
+ hex "Address of the pre-console buffer"
+ depends on PRE_CONSOLE_BUFFER
+ default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
+ default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
+ help
+ This sets the start address of the pre-console buffer. This must
+ be in available memory and is accessed before relocation and
+ possibly before DRAM is set up. Therefore choose an address
+ carefully.
+
+ We should consider removing this option and allocating the memory
+ in board_init_f_init_reserve() instead.
+
+config CONSOLE_MUX
+ bool "Enable console multiplexing"
+ default y if DM_VIDEO || VIDEO || LCD
+ help
+ This allows multiple devices to be used for each console 'file'.
+ For example, stdout can be set to go to serial and video.
+ Similarly, stdin can be set to come from serial and keyboard.
+ Input can be provided from either source. Console multiplexing
+ adds a small amount of size to U-Boot. Changes to the environment
+ variables stdout, stdin and stderr will take effect immediately.
+
+config SYS_CONSOLE_IS_IN_ENV
+ bool "Select console devices from the environment"
+ default y if CONSOLE_MUX
+ help
+ This allows multiple input/output devices to be set at boot time.
+ For example, if stdout is set to "serial,video" then output will
+ be sent to both the serial and video devices on boot. The
+ environment variables can be updated after boot to change the
+ input/output devices.
+
+config SYS_CONSOLE_OVERWRITE_ROUTINE
+ bool "Allow board control over console overwriting"
+ help
+ If this is enabled, and the board-specific function
+ overwrite_console() returns 1, the stdin, stderr and stdout are
+ switched to the serial port, else the settings in the environment
+ are used. If this is not enabled, the console will not be switched
+ to serial.
+
+config SYS_CONSOLE_ENV_OVERWRITE
+ bool "Update environment variables during console init"
+ help
+ The console environment variables (stdout, stdin, stderr) can be
+ used to determine the correct console devices on start-up. This
+ option writes the console devices to these variables on console
+ start-up (after relocation). This causes the environment to be
+ updated to match the console devices actually chosen.
+
+config SYS_CONSOLE_INFO_QUIET
+ bool "Don't display the console devices on boot"
+ help
+ Normally U-Boot displays the current settings for stdout, stdin
+ and stderr on boot when the post-relocation console is set up.
+ Enable this option to supress this output. It can be obtained by
+ calling stdio_print_current_devices() from board code.
+
+config SYS_STDIO_DEREGISTER
+ bool "Allow deregistering stdio devices"
+ default y if USB_KEYBOARD
+ help
+ Generally there is no need to deregister stdio devices since they
+ are never deactivated. But if a stdio device is used which can be
+ removed (for example a USB keyboard) then this option can be
+ enabled to ensure this is handled correctly.
endmenu
-menu "Misc commands"
-
-config CMD_TIME
- bool "time"
+config DEFAULT_FDT_FILE
+ string "Default fdt file"
help
- Run commands and summarize execution time.
+ This option is used to set the default fdt file to boot OS.
-# TODO: rename to CMD_SLEEP
-config CMD_MISC
- bool "sleep"
- default y
+config VERSION_VARIABLE
+ bool "add U-Boot environment variable vers"
+ default n
help
- Delay execution for some time
+ If this variable is defined, an environment variable
+ named "ver" is created by U-Boot showing the U-Boot
+ version as printed by the "version" command.
+ Any change to this variable will be reverted at the
+ next reset.
-config CMD_TIMER
- bool "timer"
+config BOARD_LATE_INIT
+ bool
help
- Access the system timer.
+ Sometimes board require some initialization code that might
+ require once the actual init done, example saving board specific env,
+ boot-modes etc. which eventually done at late.
-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
+ So this config enable the late init code with the help of board_late_init
+ function which should defined on respective boards.
-config CMD_SOUND
- bool "sound"
- depends on SOUND
+config DISPLAY_CPUINFO
+ bool "Display information about the CPU during start up"
+ default y if ARM || NIOS2 || X86 || XTENSA
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"
+ Display information about the CPU that U-Boot is running on
+ when U-Boot starts up. The function print_cpuinfo() is called
+ to do this.
-config BOOTSTAGE
- bool "Boot timing and reporting"
+config DISPLAY_BOARDINFO
+ bool "Display information about the board during start up"
+ default y if ARM || M68K || MIPS || PPC || XTENSA
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.
+ Display information about the board that U-Boot is running on
+ when U-Boot starts up. The board function checkboard() is called
+ to do this.
- Calls to show_boot_progress() wil also result in log entries but
- these will not have names.
+menu "Start-up hooks"
-config BOOTSTAGE_REPORT
- bool "Display a detailed boot timing report before booting the OS"
- depends on BOOTSTAGE
+config ARCH_EARLY_INIT_R
+ bool "Call arch-specific init soon after relocation"
+ default y if X86
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:
+ With this option U-Boot will call arch_early_init_r() soon after
+ relocation. Driver model is running by this point, and the cache
+ is on. Note that board_early_init_r() is called first, if
+ enabled. This can be used to set up architecture-specific devices.
- 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
+config ARCH_MISC_INIT
+ bool "Call arch-specific init after relocation, when console is ready"
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.
+ With this option U-Boot will call arch_misc_init() after
+ relocation to allow miscellaneous arch-dependent initialisation
+ to be performed. This function should be defined by the board
+ and will be called after the console is set up, after relocaiton.
-config BOOTSTAGE_FDT
- bool "Store boot timing information in the OS device tree"
- depends on BOOTSTAGE
+config BOARD_EARLY_INIT_F
+ bool "Call board-specific init before relocation"
+ default y if X86
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.
+ Some boards need to perform initialisation as soon as possible
+ after boot. With this option, U-Boot calls board_early_init_f()
+ after driver model is ready in the pre-relocation init sequence.
+ Note that the normal serial console is not yet set up, but the
+ debug UART will be available if enabled.
-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.
+endmenu
-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.
+menu "Security support"
-config BOOTSTAGE_STASH_SIZE
- hex "Size of boot timing stash region"
- default 4096
+config HASH
+ bool # "Support hashing API (SHA1, SHA256, etc.)"
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 <id> - 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 <id> - show or [set] operating regulator device
- - regulator info - print constraints info
- - regulator status - print operating status
- - regulator value <val] <-f> - print/[set] voltage value [uV]
- - regulator current <val> - print/[set] current value [uA]
- - regulator mode <id> - 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.
+ This provides a way to hash data in memory using various supported
+ algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
+ and the algorithms it supports are defined in common/hash.c. See
+ also CMD_HASH for command-line access.
endmenu
-endmenu
+source "common/spl/Kconfig"