]> Git Repo - J-u-boot.git/blobdiff - common/spl/Kconfig
Merge https://source.denx.de/u-boot/custodians/u-boot-marvell
[J-u-boot.git] / common / spl / Kconfig
index d8086bd9e87479b29bff459ebb58caab98d6cbf0..c155a3b5fcca3b101ad26ce0e729fe247d031a29 100644 (file)
@@ -91,6 +91,16 @@ config SPL_SYS_REPORT_STACK_F_USAGE
          occurrence of non 0xaa bytes.
          This default implementation works for stacks growing down only.
 
+config SPL_SHOW_ERRORS
+       bool "Show more information when something goes wrong"
+       help
+         This enabled more verbose error messages and checking when something
+         goes wrong in SPL. For example, it shows the error code when U-Boot
+         cannot be located. This can help to diagnose the problem and figure
+         out a fix, particularly during development.
+
+         This adds a small amount to SPL code size, perhaps 100 bytes.
+
 menu "PowerPC and LayerScape SPL Boot options"
 
 config SPL_NAND_BOOT
@@ -117,7 +127,7 @@ endmenu
 
 config HANDOFF
        bool "Pass hand-off information from SPL to U-Boot proper"
-       depends on BLOBLIST
+       depends on SPL && 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.
@@ -150,7 +160,7 @@ config SPL_TEXT_BASE
        hex "SPL Text Base"
        default ISW_ENTRY_ADDR if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
        default 0x10060 if MACH_SUN50I || MACH_SUN50I_H5 || MACH_SUN9I
-       default 0x20060 if MACH_SUN50I_H6
+       default 0x20060 if SUN50I_GEN_H6
        default 0x00060 if ARCH_SUNXI
        default 0xfffc0000 if ARCH_ZYNQMP
        default 0x0
@@ -165,7 +175,7 @@ config SPL_BOARD_INIT
          provided by the board.
 
 config SPL_BOOTROM_SUPPORT
-        bool "Support returning to the BOOTROM"
+       bool "Support returning to the BOOTROM"
        help
          Some platforms (e.g. the Rockchip RK3368) provide support in their
          ROM for loading the next boot-stage after performing basic setup
@@ -177,7 +187,7 @@ config SPL_BOOTROM_SUPPORT
 
 config SPL_BOOTCOUNT_LIMIT
        bool "Support bootcount in SPL"
-       depends on SPL_ENV_SUPPORT
+       depends on SPL_ENV_SUPPORT && !TPL_BOOTCOUNT_LIMIT
        help
          On some boards, which use 'falcon' mode, it is necessary to check
          and increment the number of boot attempts. Such boards do not
@@ -204,7 +214,7 @@ config SPL_LEGACY_IMAGE_SUPPORT
 config SPL_LEGACY_IMAGE_CRC_CHECK
        bool "Check CRC of Legacy images"
        depends on SPL_LEGACY_IMAGE_SUPPORT
-       select SPL_CRC32_SUPPORT
+       select SPL_CRC32
        help
          Enable this to check the CRC of Legacy images. While this increases
          reliability, it affects both code size and boot duration.
@@ -267,6 +277,19 @@ 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_READ_ONLY
+       bool
+       depends on SPL_OF_PLATDATA
+       # Bind cannot be supported because the udevice structs are in read-only
+       # memory so we cannot update the linked lists.
+       select SPL_OF_PLATDATA_NO_BIND
+       select SPL_OF_PLATDATA_RT
+       help
+         Some platforms (e.g. x86 Apollo Lake) load SPL into a read-only
+         section of memory. This means that of-platdata must make a copy (in
+         writeable memory) of anything it wants to modify, such as
+         device-private data.
+
 config SPL_BANNER_PRINT
        bool "Enable output of the SPL banner 'U-Boot SPL ...'"
        default y
@@ -308,7 +331,8 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
                     ARCH_MX6 || ARCH_MX7 || \
                     ARCH_ROCKCHIP || ARCH_MVEBU ||  ARCH_SOCFPGA || \
                     ARCH_AT91 || ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || \
-                    OMAP44XX || OMAP54XX || AM33XX || AM43XX || TARGET_SIFIVE_FU540
+                    OMAP44XX || OMAP54XX || AM33XX || AM43XX || \
+                    TARGET_SIFIVE_UNLEASHED || TARGET_SIFIVE_UNMATCHED
        help
          Use sector number for specifying U-Boot location on MMC/SD in
          raw mode.
@@ -316,16 +340,16 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
 config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
        hex "Address on the MMC to load U-Boot from"
        depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
-       default 0x50 if ARCH_SUNXI
+       default 0x40 if ARCH_SUNXI
        default 0x75 if ARCH_DAVINCI
        default 0x8a if ARCH_MX6 || ARCH_MX7
        default 0x100 if ARCH_UNIPHIER
-       default 0x140 if ARCH_MVEBU
+       default 0x0 if ARCH_MVEBU
        default 0x200 if ARCH_SOCFPGA || ARCH_AT91
        default 0x300 if ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || OMAP44XX || \
                         OMAP54XX || AM33XX || AM43XX || ARCH_K3
        default 0x4000 if ARCH_ROCKCHIP
-       default 0x822 if TARGET_SIFIVE_FU540
+       default 0x822 if TARGET_SIFIVE_UNLEASHED || TARGET_SIFIVE_UNMATCHED
        help
          Address on the MMC to load U-Boot from, when the MMC is being used
          in raw mode. Units: MMC sectors (1 sector = 512 bytes).
@@ -333,6 +357,7 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
 config SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET
        hex "U-Boot main hardware partition image offset"
        depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
+       default 0x10 if ARCH_SUNXI
        default 0x0
        help
          On some platforms SPL location depends on hardware partition. The ROM
@@ -392,7 +417,7 @@ config SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION
          the eMMC EXT_CSC_PART_CONFIG selection should be overridden in SPL
          by user defined partition number.
 
-config SPL_CRC32_SUPPORT
+config SPL_CRC32
        bool "Support CRC32"
        default y if SPL_LEGACY_IMAGE_SUPPORT
        help
@@ -402,7 +427,7 @@ config SPL_CRC32_SUPPORT
          for detected accidental image corruption. For secure applications you
          should consider SHA1 or SHA256.
 
-config SPL_MD5_SUPPORT
+config SPL_MD5
        bool "Support MD5"
        depends on SPL_FIT
        help
@@ -414,7 +439,7 @@ config SPL_MD5_SUPPORT
          applications where images may be changed maliciously, you should
          consider SHA256 or SHA384.
 
-config SPL_SHA1_SUPPORT
+config SPL_FIT_SHA1
        bool "Support SHA1"
        depends on SPL_FIT
        select SHA1
@@ -426,7 +451,7 @@ config SPL_SHA1_SUPPORT
          due to the expanding computing power available to brute-force
          attacks. For more security, consider SHA256 or SHA384.
 
-config SPL_SHA256_SUPPORT
+config SPL_FIT_SHA256
        bool "Support SHA256"
        depends on SPL_FIT
        select SHA256
@@ -435,7 +460,7 @@ config SPL_SHA256_SUPPORT
          checksum is a 256-bit (32-byte) hash value used to check that the
          image contents have not been corrupted.
 
-config SPL_SHA384_SUPPORT
+config SPL_FIT_SHA384
        bool "Support SHA384"
        depends on SPL_FIT
        select SHA384
@@ -446,7 +471,7 @@ config SPL_SHA384_SUPPORT
          image contents have not been corrupted. Use this for the highest
          security.
 
-config SPL_SHA512_SUPPORT
+config SPL_FIT_SHA512
        bool "Support SHA512"
        depends on SPL_FIT
        select SHA512
@@ -459,7 +484,7 @@ config SPL_SHA512_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 || MACH_SUN50I_H6
+       default y if MACH_SUN50I || MACH_SUN50I_H5 || SUN50I_GEN_H6
        default y if ARCH_IMX8M
        help
          Enable this to reduce the size of the FIT image loading code
@@ -477,7 +502,7 @@ config SPL_CACHE_SUPPORT
          future requests for that data can be served faster. Enable this option
          to build the drivers in drivers/cache as part of an SPL build.
 
-config SPL_CPU_SUPPORT
+config SPL_CPU
        bool "Support CPU drivers"
        help
          Enable this to support CPU drivers in SPL. These drivers can set
@@ -486,7 +511,7 @@ config SPL_CPU_SUPPORT
          may improve boot performance. Enable this option to build the
          drivers in drivers/cpu as part of an SPL build.
 
-config SPL_CRYPTO_SUPPORT
+config SPL_CRYPTO
        bool "Support crypto drivers"
        help
          Enable crypto drivers in SPL. These drivers can be used to
@@ -523,7 +548,7 @@ config SPL_DMA
          the CPU moving the data. Enable this option to build the drivers
          in drivers/dma as part of an SPL build.
 
-config SPL_DRIVERS_MISC_SUPPORT
+config SPL_DRIVERS_MISC
        bool "Support misc drivers"
        help
          Enable miscellaneous drivers in SPL. These drivers perform various
@@ -557,7 +582,7 @@ config SPL_SAVEENV
          "reboot_image" and act accordingly and change the reboot_image
          to default mode using setenv and save the environment.
 
-config SPL_ETH_SUPPORT
+config SPL_ETH
        bool "Support Ethernet"
        depends on SPL_ENV_SUPPORT
        help
@@ -611,7 +636,7 @@ config SPL_FPGA
          as early as possible during boot, and this option can enable that
          within SPL.
 
-config SPL_GPIO_SUPPORT
+config SPL_GPIO
        bool "Support GPIO in SPL"
        help
          Enable support for GPIOs (General-purpose Input/Output) in SPL.
@@ -622,7 +647,7 @@ config SPL_GPIO_SUPPORT
          for example. Enable this option to build the drivers in
          drivers/gpio as part of an SPL build.
 
-config SPL_I2C_SUPPORT
+config SPL_I2C
        bool "Support I2C"
        help
          Enable support for the I2C (Inter-Integrated Circuit) bus in SPL.
@@ -692,7 +717,7 @@ config SYS_MMCSD_FS_BOOT_PARTITION
        default 1
        help
          Partition on the MMC to load U-Boot from when the MMC is being
-          used in fs mode
+         used in fs mode
 
 config SPL_MMC_TINY
        bool "Tiny MMC framework in SPL"
@@ -736,7 +761,7 @@ config SPL_MTD_SUPPORT
          devices. See SPL_NAND_SUPPORT and SPL_ONENAND_SUPPORT for how
          to enable specific MTD drivers.
 
-config SPL_MUSB_NEW_SUPPORT
+config SPL_MUSB_NEW
        bool "Support new Mentor Graphics USB"
        help
          Enable support for Mentor Graphics USB in SPL. This is a new
@@ -769,8 +794,8 @@ config SPL_NAND_SIMPLE
 config SPL_NAND_BASE
        depends on SPL_NAND_DRIVERS
        bool "Use Base NAND Driver"
-        help
-          Include nand_base.c in the SPL.
+       help
+         Include nand_base.c in the SPL.
 
 config SPL_NAND_IDENT
        depends on SPL_NAND_BASE
@@ -901,7 +926,7 @@ config SPL_NET_SUPPORT
          This permits SPL to load U-Boot over a network link rather than
          from an on-board peripheral. Environment support is required since
          the network stack uses a number of environment variables. See also
-         SPL_ETH_SUPPORT.
+         SPL_ETH.
 
 if SPL_NET_SUPPORT
 config SPL_NET_VCI_STRING
@@ -1009,7 +1034,7 @@ config SPL_DM_RESET
          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
+config SPL_POWER
        bool "Support power drivers"
        help
          Enable support for power control in SPL. This includes support
@@ -1074,6 +1099,7 @@ config SPL_SATA_SUPPORT
 config SPL_SATA_RAW_U_BOOT_USE_SECTOR
        bool "SATA raw mode: by sector"
        depends on SPL_SATA_SUPPORT
+       default y if ARCH_MVEBU
        help
          Use sector number for specifying U-Boot location on SATA disk in
          raw mode.
@@ -1081,6 +1107,7 @@ config SPL_SATA_RAW_U_BOOT_USE_SECTOR
 config SPL_SATA_RAW_U_BOOT_SECTOR
        hex "Sector on the SATA disk to load U-Boot from"
        depends on SPL_SATA_RAW_U_BOOT_USE_SECTOR
+       default 0x1 if ARCH_MVEBU
        help
          Sector on the SATA disk to load U-Boot from, when the SATA disk is being
          used in raw mode. Units: SATA disk sectors (1 sector = 512 bytes).
@@ -1167,7 +1194,7 @@ config SPL_THERMAL
          automatic power-off when the temperature gets too high or low. Other
          devices may be discrete but connected on a suitable bus.
 
-config SPL_USB_HOST_SUPPORT
+config SPL_USB_HOST
        bool "Support USB host drivers"
        select HAVE_BLOCK_DEVICE
        help
@@ -1180,7 +1207,7 @@ config SPL_USB_HOST_SUPPORT
 
 config SPL_USB_STORAGE
        bool "Support loading from USB"
-       depends on SPL_USB_HOST_SUPPORT && !(BLK && !DM_USB)
+       depends on SPL_USB_HOST && !(BLK && !DM_USB)
        help
          Enable support for USB devices in SPL. This allows use of USB
          devices such as hard drives and flash drivers for loading U-Boot.
@@ -1204,7 +1231,7 @@ config SPL_USB_ETHER
          USB-connected Ethernet link (such as a USB Ethernet dongle) rather
          than from an onboard peripheral. Environment support is required
          since the network stack uses a number of environment variables.
-         See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT.
+         See also SPL_NET_SUPPORT and SPL_ETH.
 
 config SPL_DFU
        bool "Support DFU (Device Firmware Upgrade)"
@@ -1250,7 +1277,7 @@ config SPL_SDP_USB_DEV
          so it can be used in compiled environment.
 endif
 
-config SPL_WATCHDOG_SUPPORT
+config SPL_WATCHDOG
        bool "Support watchdog drivers"
        imply SPL_WDT if !HW_WATCHDOG
        help
@@ -1276,8 +1303,17 @@ config SPL_ATF
          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_LOAD_IMAGE_V2
+       bool "Use the new LOAD_IMAGE_V2 parameter passing"
+       depends on SPL_ATF
+       help
+         Some platforms use the newer LOAD_IMAGE_V2 parameter passing.
+
+         If you want to load a bl31 image from the SPL and need the new
+         method, say Y.
+
 config SPL_ATF_NO_PLATFORM_PARAM
-        bool "Pass no platform parameter"
+       bool "Pass no platform parameter"
        depends on SPL_ATF
        help
          While we expect to call a pointer to a valid FDT (or NULL)
@@ -1363,8 +1399,15 @@ config TPL_BOARD_INIT
          spl_board_init() from board_init_r(). This function should be
          provided by the board.
 
+config TPL_BOOTCOUNT_LIMIT
+       bool "Support bootcount in TPL"
+       depends on TPL_ENV_SUPPORT
+       help
+         If this option is enabled, the TPL will support bootcount.
+         For example, it may be useful to choose the device to boot.
+
 config TPL_LDSCRIPT
-        string "Linker script for the TPL stage"
+       string "Linker script for the TPL stage"
        depends on TPL
        default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
        default "arch/\$(ARCH)/cpu/u-boot-spl.lds"
@@ -1378,7 +1421,7 @@ config TPL_LDSCRIPT
          fall back to the linker-script used for the SPL stage.
 
 config TPL_NEEDS_SEPARATE_TEXT_BASE
-        bool "TPL needs a separate text-base"
+       bool "TPL needs a separate text-base"
        default n
        depends on TPL
        help
@@ -1387,7 +1430,7 @@ config TPL_NEEDS_SEPARATE_TEXT_BASE
          .text sections of the TPL stage has to be set below.
 
 config TPL_NEEDS_SEPARATE_STACK
-        bool "TPL needs a separate initial stack-pointer"
+       bool "TPL needs a separate initial stack-pointer"
        default n
        depends on TPL
        help
@@ -1395,27 +1438,38 @@ config TPL_NEEDS_SEPARATE_STACK
          stack-pointer from the settings for the SPL stage.
 
 config TPL_TEXT_BASE
-        hex "Base address for the .text section of the TPL stage"
+       hex "Base address for the .text section of the TPL stage"
        depends on TPL_NEEDS_SEPARATE_TEXT_BASE
        help
          The base address for the .text section of the TPL stage.
 
 config TPL_MAX_SIZE
-        int "Maximum size (in bytes) for the TPL stage"
+       int "Maximum size (in bytes) for the TPL stage"
        default 0
        depends on TPL
        help
          The maximum size (in bytes) of the TPL stage.
 
 config TPL_STACK
-        hex "Address of the initial stack-pointer for the TPL stage"
+       hex "Address of the initial stack-pointer for the TPL stage"
        depends on TPL_NEEDS_SEPARATE_STACK
        help
          The address of the initial stack-pointer for the TPL stage.
          Usually this will be the (aligned) top-of-stack.
 
+config TPL_READ_ONLY
+       bool
+       depends on TPL_OF_PLATDATA
+       select TPL_OF_PLATDATA_NO_BIND
+       select TPL_OF_PLATDATA_RT
+       help
+         Some platforms (e.g. x86 Apollo Lake) load SPL into a read-only
+         section of memory. This means that of-platdata must make a copy (in
+         writeable memory) of anything it wants to modify, such as
+         device-private data.
+
 config TPL_BOOTROM_SUPPORT
-        bool "Support returning to the BOOTROM (from TPL)"
+       bool "Support returning to the BOOTROM (from TPL)"
        help
          Some platforms (e.g. the Rockchip RK3368) provide support in their
          ROM for loading the next boot-stage after performing basic setup
@@ -1425,7 +1479,7 @@ config TPL_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 TPL_DRIVERS_MISC_SUPPORT
+config TPL_DRIVERS_MISC
        bool "Support misc drivers in TPL"
        help
          Enable miscellaneous drivers in TPL. These drivers perform various
@@ -1438,7 +1492,7 @@ config TPL_ENV_SUPPORT
        help
          Enable environment support in TPL. See SPL_ENV_SUPPORT for details.
 
-config TPL_GPIO_SUPPORT
+config TPL_GPIO
        bool "Support GPIO in TPL"
        help
          Enable support for GPIOs (General-purpose Input/Output) in TPL.
@@ -1449,10 +1503,10 @@ config TPL_GPIO_SUPPORT
          for example. Enable this option to build the drivers in
          drivers/gpio as part of an TPL build.
 
-config TPL_I2C_SUPPORT
+config TPL_I2C
        bool "Support I2C"
        help
-         Enable support for the I2C bus in TPL. See SPL_I2C_SUPPORT for
+         Enable support for the I2C bus in TPL. See SPL_I2C for
          details.
 
 config TPL_LIBCOMMON_SUPPORT
This page took 0.042574 seconds and 4 git commands to generate.