Merge branch 'master' of git://git.denx.de/u-boot-spi
[platform/kernel/u-boot.git] / common / spl / Kconfig
index 99c9053..0ddbffc 100644 (file)
@@ -25,8 +25,28 @@ config SPL_FRAMEWORK
          supports MMC, NAND and YMODEM and other methods loading of U-Boot
          and the Linux Kernel.  If unsure, say Y.
 
+config HANDOFF
+       bool "Pass hand-off information from SPL to U-Boot proper"
+       depends on BLOBLIST
+       help
+         It is useful to be able to pass information from SPL to U-Boot
+         proper to preserve state that is known in SPL and is needed in U-Boot.
+         Enable this to locate the handoff information in U-Boot proper, early
+         in boot. It is available in gd->handoff. The state state is set up
+         in SPL (or TPL if that is being used).
+
 if SPL
 
+config SPL_HANDOFF
+       bool "Pass hand-off information from SPL to U-Boot proper"
+       depends on HANDOFF
+       default y
+       help
+         This option enables SPL to write handoff information. This can be
+         used to pass information like the size of SDRAM from SPL to U-Boot
+         proper. Also SPL can receive information from TPL in the same place
+         if that is enabled.
+
 config SPL_LDSCRIPT
        string "Linker script for the SPL stage"
        default "arch/$(ARCH)/cpu/u-boot-spl.lds"
@@ -135,12 +155,21 @@ config SPL_SEPARATE_BSS
          location is used. Normally we put the device tree at the end of BSS
          but with this option enabled, it goes at _image_binary_end.
 
-config SPL_DISABLE_BANNER_PRINT
-       bool "Disable output of the SPL banner 'U-Boot SPL ...'"
+config SPL_BANNER_PRINT
+       bool "Enable output of the SPL banner 'U-Boot SPL ...'"
+       default y
+       help
+         If this option is enabled, SPL will print the banner with version
+         info. Disabling this option could be useful to reduce TPL boot time
+         (e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
+
+config TPL_BANNER_PRINT
+       bool "Enable output of the TPL banner 'U-Boot TPL ...'"
+       default y
        help
          If this option is enabled, SPL will not print the banner with version
-         info. Selecting this option could be useful to reduce SPL boot time
-         (e.g. approx. 6 ms slower, when output on i.MX6 with 115200 baud).
+         info. Disabling this option could be useful to reduce SPL boot time
+         (e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
 
 config SPL_DISPLAY_PRINT
        bool "Display a board-specific message in SPL"
@@ -171,7 +200,7 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
        default 0x140 if ARCH_MVEBU
        default 0x200 if ARCH_SOCFPGA || ARCH_AT91
        default 0x300 if ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || OMAP44XX || \
-                        OMAP54XX || AM33XX || AM43XX
+                        OMAP54XX || AM33XX || AM43XX || ARCH_K3
        default 0x4000 if ARCH_ROCKCHIP
        help
          Address on the MMC to load U-Boot from, when the MMC is being used
@@ -256,7 +285,7 @@ config SPL_SHA256_SUPPORT
 config SPL_FIT_IMAGE_TINY
        bool "Remove functionality from SPL FIT loading to reduce size"
        depends on SPL_FIT
-       default y if MACH_SUN50I || MACH_SUN50I_H5
+       default y if MACH_SUN50I || MACH_SUN50I_H5 || MACH_SUN50I_H6
        help
          Enable this to reduce the size of the FIT image loading code
          in SPL, if space for the SPL binary is very tight.
@@ -295,6 +324,16 @@ config SPL_HASH_SUPPORT
          this option to build system-specific drivers for hash acceleration
          as part of an SPL build.
 
+config TPL_HASH_SUPPORT
+       bool "Support hashing drivers in TPL"
+       select SHA1
+       select SHA256
+       help
+         Enable hashing drivers in SPL. These drivers can be used to
+         accelerate secure boot processing in secure applications. Enable
+         this option to build system-specific drivers for hash acceleration
+         as part of an SPL build.
+
 config SPL_DMA_SUPPORT
        bool "Support DMA drivers"
        help
@@ -376,7 +415,7 @@ config SPL_FPGA_SUPPORT
          within SPL.
 
 config SPL_GPIO_SUPPORT
-       bool "Support GPIO"
+       bool "Support GPIO in SPL"
        help
          Enable support for GPIOs (General-purpose Input/Output) in SPL.
          GPIOs allow U-Boot to read the state of an input line (high or
@@ -409,7 +448,7 @@ config SPL_LIBCOMMON_SUPPORT
          an SPL build.
 
 config SPL_LIBDISK_SUPPORT
-       bool "Support disk paritions"
+       bool "Support disk partitions"
        help
          Enable support for disk partitions within SPL. 'Disk' is something
          of a misnomer as it includes non-spinning media such as flash (as
@@ -430,6 +469,14 @@ config SPL_LIBGENERIC_SUPPORT
          boards. Enable this option to build the code in lib/ as part of an
          SPL build.
 
+config SPL_DM_MAILBOX
+       bool "Support Mailbox"
+       help
+         Enable support for Mailbox within SPL. This enable the inter
+         processor communication protocols tobe used within SPL. Enable
+         this option to build the drivers in drivers/mailbox as part of
+         SPL build.
+
 config SPL_MMC_SUPPORT
        bool "Support MMC"
        depends on MMC
@@ -479,7 +526,7 @@ config SPL_NAND_SUPPORT
        help
          Enable support for NAND (Negative AND) flash in SPL. NAND flash
          can be used to allow SPL to load U-Boot from supported devices.
-         This enables the drivers in drivers/mtd/nand as part of an SPL
+         This enables the drivers in drivers/mtd/nand/raw as part of an SPL
          build.
 
 config SPL_NET_SUPPORT
@@ -553,6 +600,16 @@ config SYS_OS_BASE
 
 endif # SPL_OS_BOOT
 
+config SPL_PAYLOAD
+       string "SPL payload"
+       default "tpl/u-boot-with-tpl.bin" if TPL
+       default "u-boot.bin"
+       help
+         Payload for SPL boot. For backward compability, default to
+         u-boot.bin, i.e. RAW image without any header. In case of
+         TPL, tpl/u-boot-with-tpl.bin. For new boards, suggest to
+         use u-boot.img.
+
 config SPL_PCI_SUPPORT
        bool "Support PCI drivers"
        help
@@ -599,6 +656,15 @@ config SPL_POWER_SUPPORT
          in drivers/power, drivers/power/pmic and drivers/power/regulator
          as part of an SPL build.
 
+config SPL_POWER_DOMAIN
+       bool "Support power domain drivers"
+       help
+         Enable support for power domain control in SPL. Many SoCs allow
+         power to be applied to or removed from portions of the SoC (power
+         domains). This may be used to save power. This API provides the
+         means to control such power management hardware. This enables
+         the drivers in drivers/power/domain as part of a SPL build.
+
 config SPL_RAM_SUPPORT
        bool "Support booting from RAM"
        default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ
@@ -615,6 +681,12 @@ config SPL_RAM_DEVICE
          be already in memory when SPL takes over, e.g. loaded by the boot
          ROM.
 
+config SPL_REMOTEPROC
+       bool "Support REMOTEPROCS"
+       help
+         Enable support for REMOTEPROCs in SPL. This permits to load
+         a remote processor firmware in SPL.
+
 config SPL_RTC_SUPPORT
        bool "Support RTC drivers"
        help
@@ -719,12 +791,12 @@ config SPL_USB_ETHER
          See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT.
 
 config SPL_DFU_SUPPORT
-       bool "Support DFU (Device Firmware Upgarde)"
+       bool "Support DFU (Device Firmware Upgrade)"
        select SPL_HASH_SUPPORT
        select SPL_DFU_NO_RESET
        depends on SPL_RAM_SUPPORT
        help
-         This feature enables the DFU (Device Firmware Upgarde) in SPL with
+         This feature enables the DFU (Device Firmware Upgrade) in SPL with
          RAM memory device support. The ROM code will load and execute
          the SPL built with dfu. The user can load binaries (u-boot/kernel) to
          selected device partition from host-pc using dfu-utils.
@@ -799,6 +871,13 @@ config SPL_AM33XX_ENABLE_RTC32K_OSC
          Enable access to the AM33xx RTC and select the external 32kHz clock
          source.
 
+config SPL_OPTEE
+       bool "Support OP-TEE Trusted OS"
+       depends on ARM
+       help
+         OP-TEE is an open source Trusted OS  which is loaded by SPL.
+         More detail at: https://github.com/OP-TEE/optee_os
+
 config TPL
        bool
        depends on SUPPORT_TPL
@@ -808,6 +887,16 @@ config TPL
 
 if TPL
 
+config TPL_HANDOFF
+       bool "Pass hand-off information from TPL to SPL and U-Boot proper"
+       depends on HANDOFF
+       default y
+       help
+         This option enables TPL to write handoff information. This can be
+         used to pass information like the size of SDRAM from TPL to U-Boot
+         proper. The information is also available to SPL if it is useful
+         there.
+
 config TPL_BOARD_INIT
        bool "Call board-specific initialization in TPL"
        help
@@ -888,6 +977,17 @@ config TPL_ENV_SUPPORT
        help
          Enable environment support in TPL. See SPL_ENV_SUPPORT for details.
 
+config TPL_GPIO_SUPPORT
+       bool "Support GPIO in TPL"
+       help
+         Enable support for GPIOs (General-purpose Input/Output) in TPL.
+         GPIOs allow U-Boot to read the state of an input line (high or
+         low) and set the state of an output line. This can be used to
+         drive LEDs, control power to various system parts and read user
+         input. GPIOs can be useful in TPL to enable a 'sign-of-life' LED,
+         for example. Enable this option to build the drivers in
+         drivers/gpio as part of an TPL build.
+
 config TPL_I2C_SUPPORT
        bool "Support I2C"
        help
@@ -923,6 +1023,22 @@ config TPL_NAND_SUPPORT
        help
          Enable support for NAND in TPL. See SPL_NAND_SUPPORT for details.
 
+config TPL_PCI_SUPPORT
+       bool "Support PCI drivers"
+       help
+         Enable support for PCI in TPL. For platforms that need PCI to boot,
+         or must perform some init using PCI in SPL, this provides the
+         necessary driver support. This enables the drivers in drivers/pci
+         as part of a TPL build.
+
+config TPL_PCH_SUPPORT
+       bool "Support PCH drivers"
+       help
+         Enable support for PCH (Platform Controller Hub) devices in TPL.
+         These are used to set up GPIOs and the SPI peripheral early in
+         boot. This enables the drivers in drivers/pch as part of a TPL
+         build.
+
 config TPL_RAM_SUPPORT
        bool "Support booting from RAM"
        help
@@ -937,6 +1053,15 @@ config TPL_RAM_DEVICE
          be already in memory when TPL takes over, e.g. loaded by the boot
          ROM.
 
+config TPL_RTC_SUPPORT
+       bool "Support RTC drivers"
+       help
+         Enable RTC (Real-time Clock) support in TPL. This includes support
+         for reading and setting the time. Some RTC devices also have some
+         non-volatile (battery-backed) memory which is accessible if
+         needed. This enables the drivers in drivers/rtc as part of an TPL
+         build.
+
 config TPL_SERIAL_SUPPORT
        bool "Support serial"
        select TPL_PRINTF