Merge branch 'master' of git://git.denx.de/u-boot-spi
[oweals/u-boot.git] / common / Kconfig
index d7300c212f59d99cb47842ae3975195413197390..af66496e7521af6eb901d18e090d0f3cc62a7fb0 100644 (file)
@@ -27,6 +27,15 @@ config SPL_BOOTSTAGE
          information when SPL finishes and load it when U-Boot proper starts
          up.
 
+config TPL_BOOTSTAGE
+       bool "Boot timing and reported in TPL"
+       depends on BOOTSTAGE
+       help
+         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 TPL finishes and load it when U-Boot proper starts
+         up.
+
 config BOOTSTAGE_REPORT
        bool "Display a detailed boot timing report before booting the OS"
        depends on BOOTSTAGE
@@ -223,6 +232,25 @@ config BOOTCOMMAND
          This is the string of commands that will be used as bootcmd and if
          AUTOBOOT is set, automatically run.
 
+config USE_PREBOOT
+       bool "Enable preboot"
+       help
+         When this option is enabled, the existence of the environment
+         variable "preboot" will be checked immediately before starting the
+         CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp.
+         entering interactive mode.
+
+         This feature is especially useful when "preboot" is automatically
+         generated or modified. For example, the boot code can modify the
+         "preboot" when a user holds down a certain combination of keys.
+
+config PREBOOT
+       string "preboot default value"
+       depends on USE_PREBOOT
+       default ""
+       help
+         This is the default of "preboot" environment variable.
+
 menu "Console"
 
 config MENU
@@ -277,25 +305,31 @@ config LOGLEVEL
          All Messages with a loglevel smaller than the console loglevel will
          be compiled in. The loglevels are defined as follows:
 
-         0 (KERN_EMERG)          system is unusable
-         1 (KERN_ALERT)          action must be taken immediately
-         2 (KERN_CRIT)           critical conditions
-         3 (KERN_ERR)            error conditions
-         4 (KERN_WARNING)        warning conditions
-         5 (KERN_NOTICE)         normal but significant condition
-         6 (KERN_INFO)           informational
-         7 (KERN_DEBUG)          debug-level messages
+           0 - emergency
+           1 - alert
+           2 - critical
+           3 - error
+           4 - warning
+           5 - note
+           6 - info
+           7 - debug
+           8 - debug content
+           9 - debug hardware I/O
 
 config SPL_LOGLEVEL
        int
        default LOGLEVEL
 
+config TPL_LOGLEVEL
+       int
+       default LOGLEVEL
+
 config SILENT_CONSOLE
        bool "Support a silent console"
        help
          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.
+         setting the environment variable 'silent' to a non-empty value.
          Note this also silences the console when booting Linux.
 
          When the console is set up, the variable is checked, and the
@@ -417,7 +451,7 @@ config SYS_CONSOLE_INFO_QUIET
        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
+         Enable this option to suppress this output. It can be obtained by
          calling stdio_print_current_devices() from board code.
 
 config SYS_STDIO_DEREGISTER
@@ -444,6 +478,16 @@ config LOG
 
 config SPL_LOG
        bool "Enable logging support in SPL"
+       depends on LOG
+       help
+         This enables support for logging of status and debug messages. These
+         can be displayed on the console, recorded in a memory buffer, or
+         discarded if not needed. Logging supports various categories and
+         levels of severity.
+
+config TPL_LOG
+       bool "Enable logging support in TPL"
+       depends on LOG
        help
          This enables support for logging of status and debug messages. These
          can be displayed on the console, recorded in a memory buffer, or
@@ -459,14 +503,16 @@ config LOG_MAX_LEVEL
          higher than this will be ignored. If possible log statements below
          this level will be discarded at build time. Levels:
 
-           0 - panic
-           1 - critical
-           2 - error
-           3 - warning
-           4 - note
-           5 - info
-           6 - detail
+           0 - emergency
+           1 - alert
+           2 - critical
+           3 - error
+           4 - warning
+           5 - note
+           6 - info
            7 - debug
+           8 - debug content
+           9 - debug hardware I/O
 
 config SPL_LOG_MAX_LEVEL
        int "Maximum log level to record in SPL"
@@ -477,14 +523,56 @@ config SPL_LOG_MAX_LEVEL
          higher than this will be ignored. If possible log statements below
          this level will be discarded at build time. Levels:
 
-           0 - panic
-           1 - critical
-           2 - error
-           3 - warning
-           4 - note
-           5 - info
-           6 - detail
+           0 - emergency
+           1 - alert
+           2 - critical
+           3 - error
+           4 - warning
+           5 - note
+           6 - info
+           7 - debug
+           8 - debug content
+           9 - debug hardware I/O
+
+config TPL_LOG_MAX_LEVEL
+       int "Maximum log level to record in TPL"
+       depends on TPL_LOG
+       default 3
+       help
+         This selects the maximum log level that will be recorded. Any value
+         higher than this will be ignored. If possible log statements below
+         this level will be discarded at build time. Levels:
+
+           0 - emergency
+           1 - alert
+           2 - critical
+           3 - error
+           4 - warning
+           5 - note
+           6 - info
            7 - debug
+           8 - debug content
+           9 - debug hardware I/O
+
+config LOG_DEFAULT_LEVEL
+       int "Default logging level to display"
+       default 6
+       help
+         This is the default logging level set when U-Boot starts. It can
+         be adjusted later using the 'log level' command. Note that setting
+         this to a value above LOG_MAX_LEVEL will be ineffective, since the
+         higher levels are not compiled in to U-Boot.
+
+           0 - emergency
+           1 - alert
+           2 - critical
+           3 - error
+           4 - warning
+           5 - note
+           6 - info
+           7 - debug
+           8 - debug content
+           9 - debug hardware I/O
 
 config LOG_CONSOLE
        bool "Allow log output to the console"
@@ -496,9 +584,19 @@ config LOG_CONSOLE
          log message is shown - other details like level, category, file and
          line number are omitted.
 
-config LOG_SPL_CONSOLE
+config SPL_LOG_CONSOLE
        bool "Allow log output to the console in SPL"
-       depends on LOG_SPL
+       depends on SPL_LOG
+       default y
+       help
+         Enables a log driver which writes log records to the console.
+         Generally the console is the serial port or LCD display. Only the
+         log message is shown - other details like level, category, file and
+         line number are omitted.
+
+config TPL_LOG_CONSOLE
+       bool "Allow log output to the console in SPL"
+       depends on TPL_LOG
        default y
        help
          Enables a log driver which writes log records to the console.
@@ -514,14 +612,14 @@ config LOG_TEST
          This enables a 'log test' command to test logging. It is normally
          executed from a pytest and simply outputs logging information
          in various different ways to test that the logging system works
-         correctly with varoius settings.
+         correctly with various settings.
 
 config LOG_ERROR_RETURN
        bool "Log all functions which return an error"
        depends on LOG
        help
          When an error is returned in U-Boot it is sometimes difficult to
-         figure out the root cause. For eaxmple, reading from SPI flash may
+         figure out the root cause. For example, reading from SPI flash may
          fail due to a problem in the SPI controller or due to the flash part
          not returning the expected information. This option changes
          log_ret() to log any errors it sees. With this option disabled,
@@ -594,6 +692,25 @@ config DISPLAY_BOARDINFO_LATE
          the relocation phase. The board function checkboard() is called to do
          this.
 
+config BOUNCE_BUFFER
+       bool "Include bounce buffer API"
+       help
+         Some peripherals support DMA from a subset of physically
+         addressable memory only.  To support such peripherals, the
+         bounce buffer API uses a temporary buffer: it copies data
+         to/from DMA regions while managing cache operations.
+
+         A second possible use of bounce buffers is their ability to
+         provide aligned buffers for DMA operations.
+
+config BOARD_TYPES
+       bool "Call get_board_type() to get and display the board type"
+       help
+         If this option is enabled, checkboard() will call get_board_type()
+         to get a string containing the board type and this will be
+         displayed immediately after the model is shown on the console
+         early in boot.
+
 menu "Start-up hooks"
 
 config ARCH_EARLY_INIT_R
@@ -610,7 +727,7 @@ config ARCH_MISC_INIT
          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.
+         and will be called after the console is set up, after relocation.
 
 config BOARD_EARLY_INIT_F
        bool "Call board-specific init before relocation"
@@ -660,6 +777,22 @@ config AVB_VERIFY
            * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
            * Helpers to alloc/init/free avb ops.
 
+config SPL_HASH
+       bool # "Support hashing API (SHA1, SHA256, etc.)"
+       help
+         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.
+
+config TPL_HASH
+       bool # "Support hashing API (SHA1, SHA256, etc.)"
+       help
+         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
 
 menu "Update support"
@@ -683,4 +816,52 @@ config UPDATE_TFTP_MSEC_MAX
 
 endmenu
 
+menu "Blob list"
+
+config BLOBLIST
+       bool "Support for a bloblist"
+       help
+         This enables support for a bloblist in U-Boot, which can be passed
+         from TPL to SPL to U-Boot proper (and potentially to Linux). The
+         blob list supports multiple binary blobs of data, each with a tag,
+         so that different U-Boot components can store data which can survive
+         through to the next stage of the boot.
+
+config SPL_BLOBLIST
+       bool "Support for a bloblist in SPL"
+       depends on BLOBLIST
+       default y if SPL
+       help
+         This enables a bloblist in SPL. If this is the first part of U-Boot
+         to run, then the bloblist is set up in SPL and passed to U-Boot
+         proper. If TPL also has a bloblist, then SPL uses the one from there.
+
+config TPL_BLOBLIST
+       bool "Support for a bloblist in TPL"
+       depends on BLOBLIST
+       default y if TPL
+       help
+         This enables a bloblist in TPL. The bloblist is set up in TPL and
+         passed to SPL and U-Boot proper.
+
+config BLOBLIST_SIZE
+       hex "Size of bloblist"
+       depends on BLOBLIST
+       default 0x400
+       help
+         Sets the size of the bloblist in bytes. This must include all
+         overhead (alignment, bloblist header, record header). The bloblist
+         is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
+         proper), and this sane bloblist is used for subsequent stages.
+
+config BLOBLIST_ADDR
+       hex "Address of bloblist"
+       depends on BLOBLIST
+       default 0xe000 if SANDBOX
+       help
+         Sets the address of the bloblist, set up by the first part of U-Boot
+         which runs. Subsequent U-Boot stages typically use the same address.
+
+endmenu
+
 source "common/spl/Kconfig"