]> 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.
 
        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"
 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
        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)
 
          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))
 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.
 
          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
 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.
 
          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
 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
 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
        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.
 
          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
 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.
 
          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
 config SPL_POWER_SUPPORT
        bool "Support power drivers"
        help
@@ -578,6 +635,8 @@ config SPL_SATA_SUPPORT
 
 config SPL_SERIAL_SUPPORT
        bool "Support serial"
 
 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
        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.
 
          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
 config SPL_SPI_SUPPORT
        bool "Support SPI drivers"
        help
@@ -641,7 +707,7 @@ config SPL_USB_GADGET_SUPPORT
 
 if 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
        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"
 
 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.
 
        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
        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
 
          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
        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
 
 config TPL
        bool
@@ -725,6 +807,13 @@ config TPL
 
 if 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
 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.
 
        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"
 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.
        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.
 
          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_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
 endif # TPL
 
 endif # SPL