X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=common%2Fspl%2FKconfig;h=9feadb5e43e7078268086d08af76c0c963422537;hb=c5c657644bc35fd6b3d6e5517698721e90646b8d;hp=562eafe2e5b2ef4d7cd450ccc912c1e2f0aea64f;hpb=6891152a4596d38ac25d2fe1238e3b6a938554b8;p=oweals%2Fu-boot.git diff --git a/common/spl/Kconfig b/common/spl/Kconfig index 562eafe2e5..9feadb5e43 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -91,20 +91,24 @@ config SPL_SYS_REPORT_STACK_F_USAGE occurrence of non 0xaa bytes. This default implementation works for stacks growing down only. -menu "PowerPC SPL Boot options" - depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK) +menu "PowerPC and LayerScape SPL Boot options" config SPL_NAND_BOOT bool "Load SPL from NAND flash" + depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK) config SPL_MMC_BOOT bool "Load SPL from SD Card / eMMC" + depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK) config SPL_SPI_BOOT bool "Load SPL from SPI flash" + depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK) config SPL_FSL_PBL bool "Create SPL in Freescale PBI format" + depends on (PPC || ARCH_LS1021A || ARCH_LS1043A || ARCH_LS1046A) && \ + SUPPORT_SPL help Create boot binary having SPL binary in PBI format concatenated with u-boot binary. @@ -135,7 +139,7 @@ config SPL_HANDOFF config SPL_LDSCRIPT string "Linker script for the SPL stage" - default "arch/$(ARCH)/cpu/u-boot-spl.lds" + default "arch/\$(ARCH)/cpu/u-boot-spl.lds" help The SPL stage will usually require a different linker-script (as it runs from a different memory region) than the regular @@ -268,7 +272,7 @@ config SPL_BANNER_PRINT 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 + 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 TPL_BANNER_PRINT @@ -276,8 +280,8 @@ config TPL_BANNER_PRINT depends on TPL default y help - If this option is enabled, SPL will not print the banner with version - info. Disabling this option could be useful to reduce SPL boot time + If this option is enabled, TPL 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 SPL_EARLY_BSS @@ -325,11 +329,17 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 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). -config SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION - int "Number of the eMMC boot partition to use" - default 1 +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 0x0 help - eMMC boot partition number to use when the eMMC in raw mode. + On some platforms SPL location depends on hardware partition. The ROM + code skips the MBR sector when loading SPL from main hardware data + partition. This adds offset to the main U-Boot image. Set this symbol + to the number of skipped sectors. + + If unsure, leave the default. config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION bool "MMC Raw mode: by partition" @@ -359,6 +369,28 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE Partition Type on the MMC to load U-Boot from, when the MMC is being used in raw mode. +config SUPPORT_EMMC_BOOT_OVERRIDE_PART_CONFIG + bool "Override eMMC EXT_CSC_PART_CONFIG by user defined partition" + depends on SUPPORT_EMMC_BOOT + help + eMMC boot partition is normally configured by the bits of the EXT_CSD + register (EXT_CSC_PART_CONFIG), BOOT_PARTITION_ENABLE field. In some + cases it might be required in SPL to load the image from different + partition than the partition selected by EXT_CSC_PART_CONFIG register. + Enable this option if you intend to use an eMMC boot partition other + then selected via EXT_CSC_PART_CONFIG register and specify the custom + partition number by the CONFIG_SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION + option. + +config SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION + int "Number of the eMMC boot partition to use" + depends on SUPPORT_EMMC_BOOT_OVERRIDE_PART_CONFIG + default 1 + help + eMMC boot partition number to use when the eMMC in raw mode and + the eMMC EXT_CSC_PART_CONFIG selection should be overridden in SPL + by user defined partition number. + config SPL_CRC32_SUPPORT bool "Support CRC32" default y if SPL_LEGACY_IMAGE_SUPPORT @@ -423,6 +455,13 @@ config SPL_FIT_IMAGE_TINY ensure this information is available to the next image invoked). +config SPL_CACHE_SUPPORT + bool "Support CACHE drivers" + help + Enable CACHE drivers in SPL. These drivers can keep data so that + 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 bool "Support CPU drivers" help @@ -461,7 +500,7 @@ config TPL_HASH_SUPPORT this option to build system-specific drivers for hash acceleration as part of an SPL build. -config SPL_DMA_SUPPORT +config SPL_DMA bool "Support DMA drivers" help Enable DMA (direct-memory-access) drivers in SPL. These drivers @@ -624,15 +663,6 @@ config SPL_MMC_SUPPORT this option to build the drivers in drivers/mmc as part of an SPL build. -config SPL_FORCE_MMC_BOOT - bool "Force SPL booting from MMC" - depends on SPL_MMC_SUPPORT - default n - help - Force SPL to use MMC device for Linux kernel booting even when the - SoC ROM recognized boot medium is not eMMC/SD. This is crucial for - factory or 'falcon mode' booting. - config SPL_MMC_TINY bool "Tiny MMC framework in SPL" depends on SPL_MMC_SUPPORT @@ -698,6 +728,12 @@ config SPL_UBI README.ubispl for more info. if SPL_DM +config SPL_CACHE + depends on CACHE + bool "Support cache drivers in SPL" + help + Enable support for cache drivers in SPL. + config SPL_DM_SPI bool "Support SPI DM drivers in SPL" help @@ -998,8 +1034,19 @@ config SPL_SERIAL_SUPPORT unless there are space reasons not to. Even then, consider enabling SPL_USE_TINY_PRINTF which is a small printf() version. +config SPL_SPI_SUPPORT + bool "Support SPI drivers" + help + Enable support for using SPI in SPL. This is used for connecting + to SPI flash for loading U-Boot. See SPL_SPI_FLASH_SUPPORT for + more details on that. The SPI driver provides the transport for + data between the SPI flash and the CPU. This option can be used to + enable SPI drivers that are needed for other purposes also, such + as a SPI PMIC. + config SPL_SPI_FLASH_SUPPORT bool "Support SPI flash drivers" + depends on SPL_SPI_SUPPORT help Enable support for using SPI flash in SPL, and loading U-Boot from SPI flash. SPI flash (Serial Peripheral Bus flash) is named after @@ -1038,22 +1085,13 @@ endif # SPL_SPI_FLASH_SUPPORT config SYS_SPI_U_BOOT_OFFS hex "address of u-boot payload in SPI flash" + default 0x8000 if ARCH_SUNXI default 0x0 depends on SPL_SPI_LOAD || SPL_SPI_SUNXI help Address within SPI-Flash from where the u-boot payload is fetched from. -config SPL_SPI_SUPPORT - bool "Support SPI drivers" - help - Enable support for using SPI in SPL. This is used for connecting - to SPI flash for loading U-Boot. See SPL_SPI_FLASH_SUPPORT for - more details on that. The SPI driver provides the transport for - data between the SPI flash and the CPU. This option can be used to - enable SPI drivers that are needed for other purposes also, such - as a SPI PMIC. - config SPL_THERMAL bool "Driver support for thermal devices" help @@ -1216,6 +1254,22 @@ config TPL if TPL +config TPL_SIZE_LIMIT + hex "Maximum size of TPL image" + depends on TPL + default 0 + help + Specifies the maximum length of the U-Boot TPL image. + If this value is zero, it is ignored. + +config TPL_FRAMEWORK + bool "Support TPL based upon the common SPL framework" + default y if SPL_FRAMEWORK + help + Enable the SPL framework under common/spl/ for TPL builds. + This framework supports MMC, NAND and YMODEM and other methods + loading of U-Boot's SPL stage. If unsure, say Y. + config TPL_HANDOFF bool "Pass hand-off information from TPL to SPL and U-Boot proper" depends on HANDOFF && TPL_BLOBLIST @@ -1237,7 +1291,7 @@ config TPL_LDSCRIPT 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" + default "arch/\$(ARCH)/cpu/u-boot-spl.lds" help The TPL stage will usually require a different linker-script (as it runs from a different memory region) than the regular