]> Git Repo - J-u-boot.git/blobdiff - boot/Kconfig
event: Rename EVENT_SPY to EVENT_SPY_FULL
[J-u-boot.git] / boot / Kconfig
index 4a001bcee851f0f657e260daccaddc80a32d1400..86ccfd78031283b179638f7097190b4fde650e2a 100644 (file)
@@ -36,10 +36,9 @@ config TIMESTAMP
          loaded that does not, the message 'Wrong FIT format: no timestamp'
          is shown.
 
-if FIT
-
 config FIT_EXTERNAL_OFFSET
        hex "FIT external data offset"
+       depends on FIT
        default 0x0
        help
          This specifies a data offset in fit image.
@@ -50,6 +49,7 @@ config FIT_EXTERNAL_OFFSET
 
 config FIT_FULL_CHECK
        bool "Do a full check of the FIT before using it"
+       depends on FIT
        default y
        help
          Enable this do a full check of the FIT to make sure it is valid. This
@@ -59,7 +59,7 @@ config FIT_FULL_CHECK
 
 config FIT_SIGNATURE
        bool "Enable signature verification of FIT uImages"
-       depends on DM
+       depends on DM && FIT
        select HASH
        imply RSA
        imply RSA_VERIFY
@@ -97,7 +97,7 @@ config FIT_RSASSA_PSS
 
 config FIT_CIPHER
        bool "Enable ciphering data in a FIT uImages"
-       depends on DM
+       depends on DM && FIT
        select AES
        help
          Enable the feature of data ciphering/unciphering in the tool mkimage
@@ -105,6 +105,7 @@ config FIT_CIPHER
 
 config FIT_VERBOSE
        bool "Show verbose messages when FIT images fail"
+       depends on FIT
        help
          Generally a system will have valid FIT images so debug messages
          are a waste of code space. If you are debugging your images then
@@ -113,6 +114,7 @@ config FIT_VERBOSE
 
 config FIT_BEST_MATCH
        bool "Select the best match for the kernel device tree"
+       depends on FIT
        help
          When no configuration is explicitly selected, default to the
          one whose fdt's compatibility field best matches that of
@@ -122,8 +124,8 @@ config FIT_BEST_MATCH
 
 config FIT_IMAGE_POST_PROCESS
        bool "Enable post-processing of FIT artifacts after loading by U-Boot"
-       depends on TI_SECURE_DEVICE || SOCFPGA_SECURE_VAB_AUTH
-       default y if TI_SECURE_DEVICE
+       depends on FIT
+       depends on SOCFPGA_SECURE_VAB_AUTH
        help
          Allows doing any sort of manipulation to blobs after they got extracted
          from FIT images like stripping off headers or modifying the size of the
@@ -137,15 +139,14 @@ config FIT_IMAGE_POST_PROCESS
 
 config FIT_PRINT
         bool "Support FIT printing"
+       depends on FIT
         default y
         help
           Support printing the content of the fitImage in a verbose manner.
 
-if SPL
-
 config SPL_FIT
        bool "Support Flattened Image Tree within SPL"
-       depends on SPL
+       depends on SPL && FIT
        select SPL_HASH
        select SPL_OF_LIBFDT
 
@@ -157,13 +158,13 @@ config SPL_FIT_PRINT
 
 config SPL_FIT_FULL_CHECK
        bool "Do a full check of the FIT before using it"
+       depends on SPL_FIT
        help
          Enable this do a full check of the FIT to make sure it is valid. This
          helps to protect against carefully crafted FITs which take advantage
          of bugs or omissions in the code. This includes a bad structure,
          multiple root nodes and the like.
 
-
 config SPL_FIT_SIGNATURE
        bool "Enable signature verification of FIT firmware within SPL"
        depends on SPL_DM
@@ -196,6 +197,7 @@ config SPL_FIT_RSASSA_PSS
 
 config SPL_LOAD_FIT
        bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
+       depends on SPL && FIT
        select SPL_FIT
        help
          Normally with the SPL framework a legacy image is generated as part
@@ -217,7 +219,7 @@ config SPL_LOAD_FIT
 
 config SPL_LOAD_FIT_ADDRESS
        hex "load address of fit image"
-       depends on SPL_LOAD_FIT
+       depends on SPL_LOAD_FIT || SPL_RAM_SUPPORT || TPL_RAM_SUPPORT
        default 0x0
        help
          Specify the load address of the fit image that will be loaded
@@ -228,7 +230,7 @@ config SPL_LOAD_FIT_APPLY_OVERLAY
        depends on SPL_LOAD_FIT
        select OF_LIBFDT_OVERLAY
        help
-         The device tree is loaded from the FIT image. Allow the SPL is to
+         The device tree is loaded from the FIT image. Allow the SPL to
          also load device-tree overlays from the FIT image an apply them
          over the device tree.
 
@@ -243,6 +245,7 @@ config SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ
 
 config SPL_LOAD_FIT_FULL
        bool "Enable SPL loading U-Boot as a FIT (full fitImage features)"
+       depends on FIT
        select SPL_FIT
        help
          Normally with the SPL framework a legacy image is generated as part
@@ -277,12 +280,12 @@ config SPL_FIT_SOURCE
 
 config USE_SPL_FIT_GENERATOR
        bool "Use a script to generate the .its script"
-       default y if SPL_FIT && (!ARCH_SUNXI && !RISCV)
+       depends on SPL_FIT
+       default y if SPL_FIT && ARCH_ZYNQMP
 
 config SPL_FIT_GENERATOR
        string ".its file generator script for U-Boot FIT image"
        depends on USE_SPL_FIT_GENERATOR
-       default "arch/arm/mach-rockchip/make_fit_atf.py" if SPL_LOAD_FIT && ARCH_ROCKCHIP
        default "arch/arm/mach-zynqmp/mkimage_fit_atf.sh" if SPL_LOAD_FIT && ARCH_ZYNQMP
        help
          Specifies a (platform specific) script file to generate the FIT
@@ -290,8 +293,6 @@ config SPL_FIT_GENERATOR
          passed a list of supported device tree file stub names to
          include in the generated image.
 
-endif # SPL
-
 if VPL
 
 config VPL_FIT
@@ -342,14 +343,38 @@ config VPL_FIT_SIGNATURE_MAX_SIZE
 
 endif # VPL
 
-endif # FIT
-
 config PXE_UTILS
        bool
        select MENU
        help
          Utilities for parsing PXE file formats.
 
+config BOOT_DEFAULTS
+       bool  # Common defaults for standard boot and distroboot
+       imply USE_BOOTCOMMAND
+       select CMD_ENV_EXISTS
+       select CMD_EXT2
+       select CMD_EXT4
+       select CMD_FAT
+       select CMD_FS_GENERIC
+       select CMD_PART if PARTITIONS
+       select CMD_DHCP if CMD_NET
+       select CMD_PING if CMD_NET
+       select CMD_PXE if CMD_NET
+       select SUPPORT_RAW_INITRD
+       select ENV_VARS_UBOOT_CONFIG
+       select CMD_BOOTI if ARM64
+       select CMD_BOOTZ if ARM && !ARM64
+       imply CMD_MII if NET
+       imply USB_STORAGE
+       imply EFI_PARTITION
+       imply ISO_PARTITION
+       help
+         These are not required but are commonly needed to support a good
+         selection of booting methods. Enable this to improve the capability
+         of U-Boot to boot various images. Currently much functionality is
+         tied to enabling the command that exercises it.
+
 config BOOTSTD
        bool "Standard boot support"
        default y
@@ -371,21 +396,8 @@ config BOOTSTD
                U-Boot)
            - bootflow - a description of how to boot (owned by the distro)
 
-config BOOTSTD_FULL
-       bool "Enhanced features for standard boot"
-       default y if SANDBOX
-       help
-         This enables various useful features for standard boot, which are not
-         essential for operation:
-
-         - bootdev, bootmeth commands
-         - extra features in the bootflow command
-         - support for selecting the ordering of bootmeths ("bootmeth order")
-         - support for selecting the ordering of bootdevs using the devicetree
-           as well as the "boot_targets" environment variable
-
 config SPL_BOOTSTD
-       bool "Standard boot support in VPL"
+       bool "Standard boot support in SPL"
        depends on SPL && SPL_DM && SPL_OF_CONTROL && SPL_BLK
        default y if VPL
        help
@@ -406,6 +418,30 @@ config VPL_BOOTSTD
 
 if BOOTSTD
 
+config BOOTSTD_FULL
+       bool "Enhanced features for standard boot"
+       default y if SANDBOX
+       help
+         This enables various useful features for standard boot, which are not
+         essential for operation:
+
+         - bootdev, bootmeth commands
+         - extra features in the bootflow command
+         - support for selecting the ordering of bootmeths ("bootmeth order")
+         - support for selecting the ordering of bootdevs using the devicetree
+           as well as the "boot_targets" environment variable
+
+config BOOTSTD_DEFAULTS
+       bool "Select some common defaults for standard boot"
+       depends on BOOTSTD
+       imply USE_BOOTCOMMAND
+       select BOOT_DEFAULTS
+       select BOOTMETH_DISTRO
+       help
+         These are not required but are commonly needed to support a good
+         selection of booting methods. Enable this to improve the capability
+         of U-Boot to boot various images.
+
 config BOOTSTD_BOOTCOMMAND
        bool "Use bootstd to boot"
        default y if !DISTRO_DEFAULTS
@@ -426,30 +462,52 @@ config BOOTMETH_GLOBAL
          EFI bootmgr, since they take full control over which bootdevs are
          selected to boot.
 
-config BOOTMETH_DISTRO
-       bool "Bootdev support for distro boot"
+config BOOTMETH_CROS
+       bool "Bootdev support for Chromium OS"
+       depends on X86 || ARM || SANDBOX
+       default y if !ARM
+       select EFI_PARTITION
+       select PARTITION_TYPE_GUID
+       select PARTITION_UUIDS
+       help
+         Enables support for booting Chromium OS using bootdevs. This uses the
+         kernel A slot and obtains the kernel command line from the parameters
+         provided there.
+
+         Note that only x86 devices are supported at present.
+
+config BOOTMETH_EXTLINUX
+       bool "Bootdev support for extlinux boot"
        select PXE_UTILS
        default y
        help
-         Enables support for distro boot using bootdevs. This makes the
+         Enables support for extlinux boot using bootdevs. This makes the
          bootdevs look for a 'extlinux/extlinux.conf' on each filesystem
          they scan.
 
+         The specification for this filed is here:
+
+           https://uapi-group.org/specifications/specs/boot_loader_specification/
+
          This provides a way to try out standard boot on an existing boot flow.
 
-config BOOTMETH_DISTRO_PXE
-       bool "Bootdev support for distro boot over network"
+config BOOTMETH_EXTLINUX_PXE
+       bool "Bootdev support for extlinux boot over network"
        depends on CMD_PXE && CMD_NET && DM_ETH
        default y
        help
-         Enables support for distro boot using bootdevs. This makes the
+         Enables support for extlinux boot using bootdevs. This makes the
          bootdevs look for a 'extlinux/extlinux.conf' on the tftp server.
 
+         The specification for this file is here:
+
+           https://uapi-group.org/specifications/specs/boot_loader_specification/
+
          This provides a way to try out standard boot on an existing boot flow.
 
 config BOOTMETH_EFILOADER
        bool "Bootdev support for EFI boot"
-       depends on CMD_BOOTEFI
+       depends on EFI_LOADER
        default y
        help
          Enables support for EFI boot using bootdevs. This makes the
@@ -473,14 +531,23 @@ config BOOTMETH_VBE
        depends on FIT
        default y
        select BOOTMETH_GLOBAL
+       select EVENT
        help
          Enables support for VBE boot. This is a standard boot method which
          supports selection of various firmware components, seleciton of an OS to
          boot as well as updating these using fwupd.
 
+config BOOTMETH_DISTRO
+       bool  # Options needed to boot any distro
+       select BOOTMETH_SCRIPT  # E.g. Armbian uses scripts
+       select BOOTMETH_EXTLINUX  # E.g. Debian uses these
+       select BOOTMETH_EXTLINUX_PXE if CMD_PXE && CMD_NET && DM_ETH
+       select BOOTMETH_EFILOADER if EFI_LOADER # E.g. Ubuntu uses this
+
 config SPL_BOOTMETH_VBE
        bool "Bootdev support for Verified Boot for Embedded (SPL)"
        depends on SPL && FIT
+       select EVENT
        default y if VPL
        help
          Enables support for VBE boot. This is a standard boot method which
@@ -490,6 +557,7 @@ config SPL_BOOTMETH_VBE
 config VPL_BOOTMETH_VBE
        bool "Bootdev support for Verified Boot for Embedded (VPL)"
        depends on VPL && FIT
+       select EVENT
        default y
        help
          Enables support for VBE boot. This is a standard boot method which
@@ -498,6 +566,26 @@ config VPL_BOOTMETH_VBE
 
 if BOOTMETH_VBE
 
+config BOOTMETH_VBE_REQUEST
+       bool "Support for serving VBE OS requests"
+       default y
+       help
+         Enables support for looking that the requests made by the
+         Operating System being booted. These requests result in additions to
+         the device tree /chosen node, added during the device tree fixup
+         phase.
+
+config SPL_BOOTMETH_VBE_REQUEST
+       bool "Support for serving VBE OS requests (SPL)"
+       depends on SPL
+       help
+         Enables support for looking that the requests made by the
+         Operating System being booted. These requests result in additions to
+         the device tree /chosen node, added during the device tree fixup
+         phase.
+
+         This is only useful if you are booting an OS direct from SPL.
+
 config BOOTMETH_VBE_SIMPLE
        bool "Bootdev support for VBE 'simple' method"
        default y
@@ -556,6 +644,19 @@ config VPL_BOOTMETH_VBE_SIMPLE_FW
 
 endif # BOOTMETH_VBE
 
+config EXPO
+       bool "Support for expos - groups of scenes displaying a UI"
+       depends on VIDEO
+       default y if BOOTMETH_VBE
+       help
+         An expo is a way of presenting and collecting information from the
+         user. It consists of a collection of 'scenes' of which only one is
+         presented at a time. An expo is typically used to show a boot menu
+         and allow settings to be changed.
+
+         The expo can be presented in graphics form using a vidconsole, or in
+         text form on a serial console.
+
 config BOOTMETH_SANDBOX
        def_bool y
        depends on SANDBOX
@@ -566,6 +667,7 @@ config BOOTMETH_SANDBOX
 config BOOTMETH_SCRIPT
        bool "Bootdev support for U-Boot scripts"
        default y if BOOTSTD_FULL
+       select HUSH_PARSER
        help
          Enables support for booting a distro via a U-Boot script. This makes
          the bootdevs look for a 'boot/boot.scr' file which can be used to
@@ -654,7 +756,7 @@ config SYS_MONITOR_BASE
        default TEXT_BASE
        help
          The physical start address of boot monitor code (which is the same as
-         CONFIG_TEXT_BASE when linking) and the same as CONFIG_SYS_FLASH_BASE
+         CONFIG_TEXT_BASE when linking) and the same as CFG_SYS_FLASH_BASE
          when booting from flash.
 
 config SPL_SYS_MONITOR_BASE
@@ -724,16 +826,19 @@ config RAMBOOT_PBL
          For more details refer to doc/README.pblimage
 
 choice
-       prompt "Freescale PBL load location"
+       prompt "Freescale PBL (or predecessor) load location"
        depends on RAMBOOT_PBL || ((TARGET_P1010RDB_PA || TARGET_P1010RDB_PB \
                || TARGET_P1020RDB_PC || TARGET_P1020RDB_PD || TARGET_P2020RDB) \
                && !CMD_NAND)
 
 config SDCARD
-       bool "Freescale PBL is found on SD card"
+       bool "Freescale PBL (or similar) is found on SD card"
 
 config SPIFLASH
-       bool "Freescale PBL is found on SPI flash"
+       bool "Freescale PBL (or similar) is found on SPI flash"
+
+config NO_PBL
+       bool "Freescale PBL (or similar) is not used in this case"
 
 endchoice
 
@@ -768,12 +873,25 @@ config SYS_BOOT_RAMDISK_HIGH
        depends on CMD_BOOTM || CMD_BOOTI || CMD_BOOTZ
        depends on !(NIOS2 || SANDBOX || SH || XTENSA)
        def_bool y
+       select LMB
        help
          Enable initrd_high functionality.  If defined then the initrd_high
          feature is enabled and the boot* ramdisk subcommand is enabled.
 
 endmenu                # Boot images
 
+config DISTRO_DEFAULTS
+       bool "Select defaults suitable for booting general purpose Linux distributions"
+       select BOOT_DEFAULTS
+       select AUTO_COMPLETE
+       select CMDLINE_EDITING
+       select CMD_SYSBOOT
+       select HUSH_PARSER
+       select SYS_LONGHELP
+       help
+         Select this to enable various options and commands which are suitable
+         for building u-boot for booting general purpose Linux distributions.
+
 menu "Boot timing"
 
 config BOOTSTAGE
@@ -892,7 +1010,7 @@ config BOOTSTAGE_STASH
 
 config BOOTSTAGE_STASH_ADDR
        hex "Address to stash boot timing information"
-       default 0
+       default 0x0
        help
          Provide an address which will not be overwritten by the OS when it
          starts, so that it can read this information when ready.
@@ -1465,8 +1583,8 @@ config USE_BOOTCOMMAND
 config BOOTCOMMAND
        string "bootcmd value"
        depends on USE_BOOTCOMMAND && !USE_DEFAULT_ENV_FILE
-       default "bootflow scan -lb" if BOOTSTD_BOOTCOMMAND && CMD_BOOTFLOW_FULL
-       default "bootflow scan" if BOOTSTD_BOOTCOMMAND && !CMD_BOOTFLOW_FULL
+       default "bootflow scan -lb" if BOOTSTD_DEFAULTS && CMD_BOOTFLOW_FULL
+       default "bootflow scan" if BOOTSTD_DEFAULTS && !CMD_BOOTFLOW_FULL
        default "run distro_bootcmd" if !BOOTSTD_BOOTCOMMAND && DISTRO_DEFAULTS
        help
          This is the string of commands that will be used as bootcmd and if
@@ -1525,4 +1643,18 @@ config SAVE_PREV_BL_INITRAMFS_START_ADDR
          If no initramfs was provided by previous bootloader, no env variables
          will be created.
 
+menu "Configuration editor"
+
+config CEDIT
+       bool "Configuration editor"
+       depends on BOOTSTD
+       help
+         Provides a way to deal with board configuration and present it to
+         the user for adjustment.
+
+         This is intended to provide both graphical and text-based user
+         interfaces, but only graphical is support at present.
+
+endmenu                # Configuration editor
+
 endmenu                # Booting
This page took 0.041488 seconds and 4 git commands to generate.