]> git.sur5r.net Git - u-boot/blobdiff - common/spl/Kconfig
Merge git://git.denx.de/u-boot-socfpga
[u-boot] / common / spl / Kconfig
index c62b82fd68053f7ce1721b5f69c30807b1d25d05..431710a93bd98a2af525c70bb2651950a7318f56 100644 (file)
@@ -16,12 +16,20 @@ config SPL
        help
          If you want to build SPL as well as the normal image, say Y.
 
+config SPL_FRAMEWORK
+       bool "Support SPL based upon the common SPL framework"
+       depends on SPL
+       default y
+       help
+         Enable the SPL framework under common/spl/.  This framework
+         supports MMC, NAND and YMODEM and other methods loading of U-Boot
+         and the Linux Kernel.  If unsure, say Y.
+
 if SPL
 
 config SPL_LDSCRIPT
        string "Linker script for the SPL stage"
        default "arch/$(ARCH)/cpu/u-boot-spl.lds"
-       depends on SPL
        help
          The SPL stage will usually require a different linker-script
          (as it runs from a different memory region) than the regular
@@ -46,6 +54,15 @@ config SPL_BOOTROM_SUPPORT
          BOOT_DEVICE_BOOTROM (or fall-through to the next boot device in the
          boot device list, if not implemented for a given board)
 
+config SPL_BOOTCOUNT_LIMIT
+       bool "Support bootcount in SPL"
+       depends on SPL_ENV_SUPPORT
+       help
+         On some boards, which use 'falcon' mode, it is necessary to check
+         and increment the number of boot attempts. Such boards do not
+         use proper U-Boot for normal boot flow and hence needs those
+         adjustments to be done in the SPL.
+
 config SPL_RAW_IMAGE_SUPPORT
        bool "Support SPL loading and booting of RAW images"
        default n if (ARCH_MX6 && (SPL_MMC_SUPPORT || SPL_SATA_SUPPORT))
@@ -118,6 +135,13 @@ 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 ...'"
+       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).
+
 config SPL_DISPLAY_PRINT
        bool "Display a board-specific message in SPL"
        help
@@ -228,6 +252,21 @@ config SPL_SHA256_SUPPORT
          SHA256 variant is supported: SHA512 and others are not currently
          supported in U-Boot.
 
+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
+       help
+         Enable this to reduce the size of the FIT image loading code
+         in SPL, if space for the SPL binary is very tight.
+
+         This removes the detection of image types (which forces the
+         first image to be treated as having a U-Boot style calling
+         convention) and skips the recording of each loaded payload
+         (i.e. loadable) into the FDT (modifying the loaded FDT to
+         ensure this information is available to the next image
+         invoked).
+
 config SPL_CPU_SUPPORT
        bool "Support CPU drivers"
        help
@@ -286,6 +325,7 @@ config SPL_ENV_SUPPORT
 config SPL_SAVEENV
        bool "Support save environment"
        depends on SPL_ENV_SUPPORT
+       select SPL_MMC_WRITE if ENV_IS_IN_MMC
        help
          Enable save environment support in SPL after setenv. By default
          the saveenv option is not provided in SPL, but some boards need
@@ -400,6 +440,14 @@ config SPL_MMC_SUPPORT
          this option to build the drivers in drivers/mmc as part of an SPL
          build.
 
+config SPL_MMC_WRITE
+       bool "MMC/SD/SDIO card support for write operations in SPL"
+       depends on SPL_MMC_SUPPORT
+       default n
+       help
+         Enable write access to MMC and SD Cards in SPL
+
+
 config SPL_MPC8XXX_INIT_DDR_SUPPORT
        bool "Support MPC8XXX DDR init"
        help
@@ -529,6 +577,15 @@ config SPL_POST_MEM_SUPPORT
          performed before booting. This enables the drivers in post/drivers
          as part of an SPL build.
 
+config SPL_RESET_SUPPORT
+       bool "Support reset drivers"
+       depends on SPL
+       help
+         Enable support for reset control in SPL.
+         That can be useful in SPL to handle IP reset in driver, as in U-Boot,
+         by using the generic reset API provided by driver model.
+         This enables the drivers in drivers/reset as part of an SPL build.
+
 config SPL_POWER_SUPPORT
        bool "Support power drivers"
        help
@@ -578,6 +635,8 @@ config SPL_SATA_SUPPORT
 
 config SPL_SERIAL_SUPPORT
        bool "Support serial"
+       select SPL_PRINTF
+       select SPL_STRTO
        help
          Enable support for serial in SPL. This allows use of a serial UART
          for displaying messages while SPL is running. It also brings in
@@ -595,6 +654,13 @@ config SPL_SPI_FLASH_SUPPORT
          lines). This enables the drivers in drivers/mtd/spi as part of an
          SPL build. This normally requires SPL_SPI_SUPPORT.
 
+config SPL_SPI_LOAD
+       bool "Support loading from SPI flash"
+       depends on SPL_SPI_FLASH_SUPPORT
+       help
+         Enable support for loading next stage, U-Boot or otherwise, from
+         SPI NOR in U-Boot SPL.
+
 config SPL_SPI_SUPPORT
        bool "Support SPI drivers"
        help
@@ -641,7 +707,7 @@ config SPL_USB_GADGET_SUPPORT
 
 if SPL_USB_GADGET_SUPPORT
 
-config SPL_USBETH_SUPPORT
+config SPL_USB_ETHER
        bool "Support USB Ethernet drivers"
        help
          Enable access to the USB network subsystem and associated
@@ -696,25 +762,41 @@ config SPL_WATCHDOG_SUPPORT
 
 config SPL_YMODEM_SUPPORT
        bool "Support loading using Ymodem"
+       depends on SPL_SERIAL_SUPPORT
        help
          While loading from serial is slow it can be a useful backup when
          there is no other option. The Ymodem protocol provides a reliable
          means of transmitting U-Boot over a serial line for using in SPL,
          with a checksum to ensure correctness.
 
-config SPL_ATF_SUPPORT
+config SPL_ATF
        bool "Support ARM Trusted Firmware"
        depends on ARM64
        help
-         ATF(ARM Trusted Firmware) is a component for ARM arch64 which
-         is loaded by SPL(which is considered as BL2 in ATF terminology).
+         ATF(ARM Trusted Firmware) is a component for ARM AArch64 which
+         is loaded by SPL (which is considered as BL2 in ATF terminology).
          More detail at: https://github.com/ARM-software/arm-trusted-firmware
 
-config SPL_ATF_TEXT_BASE
-       depends on SPL_ATF_SUPPORT
-       hex "ATF BL31 base address"
+config SPL_ATF_NO_PLATFORM_PARAM
+        bool "Pass no platform parameter"
+       depends on SPL_ATF
+       help
+         While we expect to call a pointer to a valid FDT (or NULL)
+         as the platform parameter to an ATF, some ATF versions are
+         not U-Boot aware and have an insufficiently robust parameter
+         validation to gracefully reject a FDT being passed.
+
+         If this option is enabled, the spl_atf os-type handler will
+         always pass NULL for the platform parameter.
+
+         If your ATF is affected, say Y.
+
+config SPL_AM33XX_ENABLE_RTC32K_OSC
+       bool "Enable the RTC32K OSC on AM33xx based platforms"
+       default y if AM33XX
        help
-         This is the base address in memory for ATF BL31 text and entry point.
+         Enable access to the AM33xx RTC and select the external 32kHz clock
+         source.
 
 config TPL
        bool
@@ -725,6 +807,13 @@ config TPL
 
 if TPL
 
+config TPL_BOARD_INIT
+       bool "Call board-specific initialization in TPL"
+       help
+         If this option is enabled, U-Boot will call the function
+         spl_board_init() from board_init_r(). This function should be
+         provided by the board.
+
 config TPL_LDSCRIPT
         string "Linker script for the TPL stage"
        depends on TPL
@@ -833,8 +922,24 @@ config TPL_NAND_SUPPORT
        help
          Enable support for NAND in TPL. See SPL_NAND_SUPPORT for details.
 
+config TPL_RAM_SUPPORT
+       bool "Support booting from RAM"
+       help
+         Enable booting of an image in RAM. The image can be preloaded or
+         it can be loaded by TPL directly into RAM (e.g. using USB).
+
+config TPL_RAM_DEVICE
+       bool "Support booting from preloaded image in RAM"
+       depends on TPL_RAM_SUPPORT
+       help
+         Enable booting of an image already loaded in RAM. The image has to
+         be already in memory when TPL takes over, e.g. loaded by the boot
+         ROM.
+
 config TPL_SERIAL_SUPPORT
        bool "Support serial"
+       select TPL_PRINTF
+       select TPL_STRTO
        help
          Enable support for serial in TPL. See SPL_SERIAL_SUPPORT for
          details.
@@ -845,12 +950,28 @@ config TPL_SPI_FLASH_SUPPORT
          Enable support for using SPI flash in TPL. See SPL_SPI_FLASH_SUPPORT
          for details.
 
+config TPL_SPI_LOAD
+       bool "Support loading from SPI flash"
+       depends on TPL_SPI_FLASH_SUPPORT
+       help
+         Enable support for loading next stage, U-Boot or otherwise, from
+         SPI NOR in U-Boot TPL.
+
 config TPL_SPI_SUPPORT
        bool "Support SPI drivers"
        help
          Enable support for using SPI in TPL. See SPL_SPI_SUPPORT for
          details.
 
+config TPL_YMODEM_SUPPORT
+       bool "Support loading using Ymodem"
+       depends on TPL_SERIAL_SUPPORT
+       help
+         While loading from serial is slow it can be a useful backup when
+         there is no other option. The Ymodem protocol provides a reliable
+         means of transmitting U-Boot over a serial line for using in TPL,
+         with a checksum to ensure correctness.
+
 endif # TPL
 
 endif # SPL