1*4882a593Smuzhiyunmenu "SPL / TPL" 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunconfig SUPPORT_SPL 4*4882a593Smuzhiyun bool 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig SUPPORT_TPL 7*4882a593Smuzhiyun bool 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunconfig SPL_DFU_NO_RESET 10*4882a593Smuzhiyun bool 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig SPL 13*4882a593Smuzhiyun bool 14*4882a593Smuzhiyun depends on SUPPORT_SPL 15*4882a593Smuzhiyun prompt "Enable SPL" 16*4882a593Smuzhiyun help 17*4882a593Smuzhiyun If you want to build SPL as well as the normal image, say Y. 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunif SPL 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunconfig SPL_ADC_SUPPORT 22*4882a593Smuzhiyun bool "Support ADC driver in SPL" 23*4882a593Smuzhiyun depends on SPL 24*4882a593Smuzhiyun help 25*4882a593Smuzhiyun The adc drive can be used to measure voltage in spl if need. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunconfig SPL_DECOMP_HEADER 28*4882a593Smuzhiyun bool "Support SPL DECOMP header" 29*4882a593Smuzhiyun default n 30*4882a593Smuzhiyun help 31*4882a593Smuzhiyun Support to build SPL as decomp header. 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunconfig SPL_LDSCRIPT 34*4882a593Smuzhiyun string "Linker script for the SPL stage" 35*4882a593Smuzhiyun default "arch/$(ARCH)/cpu/u-boot-spl.lds" 36*4882a593Smuzhiyun depends on SPL 37*4882a593Smuzhiyun help 38*4882a593Smuzhiyun The SPL stage will usually require a different linker-script 39*4882a593Smuzhiyun (as it runs from a different memory region) than the regular 40*4882a593Smuzhiyun U-Boot stage. Set this to the path of the linker-script to 41*4882a593Smuzhiyun be used for SPL. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunconfig SPL_BOARD_INIT 44*4882a593Smuzhiyun bool "Call board-specific initialization in SPL" 45*4882a593Smuzhiyun help 46*4882a593Smuzhiyun If this option is enabled, U-Boot will call the function 47*4882a593Smuzhiyun spl_board_init() from board_init_r(). This function should be 48*4882a593Smuzhiyun provided by the board. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunconfig SPL_BOOTROM_SUPPORT 51*4882a593Smuzhiyun bool "Support returning to the BOOTROM" 52*4882a593Smuzhiyun help 53*4882a593Smuzhiyun Some platforms (e.g. the Rockchip RK3368) provide support in their 54*4882a593Smuzhiyun ROM for loading the next boot-stage after performing basic setup 55*4882a593Smuzhiyun from the SPL stage. 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun Enable this option, to return to the BOOTROM through the 58*4882a593Smuzhiyun BOOT_DEVICE_BOOTROM (or fall-through to the next boot device in the 59*4882a593Smuzhiyun boot device list, if not implemented for a given board) 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunconfig SPL_RAW_IMAGE_SUPPORT 62*4882a593Smuzhiyun bool "Support SPL loading and booting of RAW images" 63*4882a593Smuzhiyun default n if (ARCH_MX6 && (SPL_MMC_SUPPORT || SPL_SATA_SUPPORT)) 64*4882a593Smuzhiyun default y if !TI_SECURE_DEVICE 65*4882a593Smuzhiyun help 66*4882a593Smuzhiyun SPL will support loading and booting a RAW image when this option 67*4882a593Smuzhiyun is y. If this is not set, SPL will move on to other available 68*4882a593Smuzhiyun boot media to find a suitable image. 69*4882a593Smuzhiyun 70*4882a593Smuzhiyunconfig SPL_LEGACY_IMAGE_SUPPORT 71*4882a593Smuzhiyun bool "Support SPL loading and booting of Legacy images" 72*4882a593Smuzhiyun default y if !TI_SECURE_DEVICE 73*4882a593Smuzhiyun help 74*4882a593Smuzhiyun SPL will support loading and booting Legacy images when this option 75*4882a593Smuzhiyun is y. If this is not set, SPL will move on to other available 76*4882a593Smuzhiyun boot media to find a suitable image. 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunconfig SPL_SYS_MALLOC_SIMPLE 79*4882a593Smuzhiyun bool 80*4882a593Smuzhiyun prompt "Only use malloc_simple functions in the SPL" 81*4882a593Smuzhiyun help 82*4882a593Smuzhiyun Say Y here to only use the *_simple malloc functions from 83*4882a593Smuzhiyun malloc_simple.c, rather then using the versions from dlmalloc.c; 84*4882a593Smuzhiyun this will make the SPL binary smaller at the cost of more heap 85*4882a593Smuzhiyun usage as the *_simple malloc functions do not re-use free-ed mem. 86*4882a593Smuzhiyun 87*4882a593Smuzhiyunconfig TPL_SYS_MALLOC_SIMPLE 88*4882a593Smuzhiyun bool 89*4882a593Smuzhiyun prompt "Only use malloc_simple functions in the TPL" 90*4882a593Smuzhiyun help 91*4882a593Smuzhiyun Say Y here to only use the *_simple malloc functions from 92*4882a593Smuzhiyun malloc_simple.c, rather then using the versions from dlmalloc.c; 93*4882a593Smuzhiyun this will make the TPL binary smaller at the cost of more heap 94*4882a593Smuzhiyun usage as the *_simple malloc functions do not re-use free-ed mem. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunconfig SPL_STACK_R 97*4882a593Smuzhiyun bool "Enable SDRAM location for SPL stack" 98*4882a593Smuzhiyun help 99*4882a593Smuzhiyun SPL starts off execution in SRAM and thus typically has only a small 100*4882a593Smuzhiyun stack available. Since SPL sets up DRAM while in its board_init_f() 101*4882a593Smuzhiyun function, it is possible for the stack to move there before 102*4882a593Smuzhiyun board_init_r() is reached. This option enables a special SDRAM 103*4882a593Smuzhiyun location for the SPL stack. U-Boot SPL switches to this after 104*4882a593Smuzhiyun board_init_f() completes, and before board_init_r() starts. 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunconfig SPL_STACK_R_ADDR 107*4882a593Smuzhiyun depends on SPL_STACK_R 108*4882a593Smuzhiyun hex "SDRAM location for SPL stack" 109*4882a593Smuzhiyun help 110*4882a593Smuzhiyun Specify the address in SDRAM for the SPL stack. This will be set up 111*4882a593Smuzhiyun before board_init_r() is called. 112*4882a593Smuzhiyun 113*4882a593Smuzhiyunconfig SPL_STACK_R_MALLOC_SIMPLE_LEN 114*4882a593Smuzhiyun depends on SPL_STACK_R && SPL_SYS_MALLOC_SIMPLE 115*4882a593Smuzhiyun hex "Size of malloc_simple heap after switching to DRAM SPL stack" 116*4882a593Smuzhiyun default 0x100000 117*4882a593Smuzhiyun help 118*4882a593Smuzhiyun Specify the amount of the stack to use as memory pool for 119*4882a593Smuzhiyun malloc_simple after switching the stack to DRAM. This may be set 120*4882a593Smuzhiyun to give board_init_r() a larger heap then the initial heap in 121*4882a593Smuzhiyun SRAM which is limited to SYS_MALLOC_F_LEN bytes. 122*4882a593Smuzhiyun 123*4882a593Smuzhiyunconfig SPL_SEPARATE_BSS 124*4882a593Smuzhiyun bool "BSS section is in a different memory region from text" 125*4882a593Smuzhiyun help 126*4882a593Smuzhiyun Some platforms need a large BSS region in SPL and can provide this 127*4882a593Smuzhiyun because RAM is already set up. In this case BSS can be moved to RAM. 128*4882a593Smuzhiyun This option should then be enabled so that the correct device tree 129*4882a593Smuzhiyun location is used. Normally we put the device tree at the end of BSS 130*4882a593Smuzhiyun but with this option enabled, it goes at _image_binary_end. 131*4882a593Smuzhiyun 132*4882a593Smuzhiyunconfig SPL_DISPLAY_PRINT 133*4882a593Smuzhiyun bool "Display a board-specific message in SPL" 134*4882a593Smuzhiyun help 135*4882a593Smuzhiyun If this option is enabled, U-Boot will call the function 136*4882a593Smuzhiyun spl_display_print() immediately after displaying the SPL console 137*4882a593Smuzhiyun banner ("U-Boot SPL ..."). This function should be provided by 138*4882a593Smuzhiyun the board. 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunconfig SPL_SKIP_RELOCATE 141*4882a593Smuzhiyun bool "Skip code relocation in SPL" 142*4882a593Smuzhiyun default y 143*4882a593Smuzhiyun help 144*4882a593Smuzhiyun The SPL code will be relocated to a high memory if you say no here. 145*4882a593Smuzhiyun Only ARM64 and PowerPC SPL support relocate now. 146*4882a593Smuzhiyun 147*4882a593Smuzhiyunconfig SPL_BOOT_IMAGE 148*4882a593Smuzhiyun bool "SPL boot image load support" 149*4882a593Smuzhiyun default n 150*4882a593Smuzhiyun help 151*4882a593Smuzhiyun This enable SPL boot image load support 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig SPL_BOOT_IMAGE_BUF 154*4882a593Smuzhiyun hex "SPL boot image memory buffer" 155*4882a593Smuzhiyun depends on SPL_BOOT_IMAGE 156*4882a593Smuzhiyun default 0x10000000 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunconfig SPL_RELOC_TEXT_BASE 159*4882a593Smuzhiyun hex "Address the SPL relocate to" 160*4882a593Smuzhiyun depends on !SPL_SKIP_RELOCATE 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun The address on the ram where the SPL relocate to. 163*4882a593Smuzhiyun 164*4882a593Smuzhiyunconfig SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR 165*4882a593Smuzhiyun bool "MMC raw mode: by sector" 166*4882a593Smuzhiyun default y if ARCH_SUNXI || ARCH_DAVINCI || ARCH_UNIPHIER ||ARCH_MX6 || \ 167*4882a593Smuzhiyun ARCH_ROCKCHIP || ARCH_MVEBU || ARCH_SOCFPGA || \ 168*4882a593Smuzhiyun ARCH_AT91 || ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || \ 169*4882a593Smuzhiyun OMAP44XX || OMAP54XX || AM33XX || AM43XX 170*4882a593Smuzhiyun help 171*4882a593Smuzhiyun Use sector number for specifying U-Boot location on MMC/SD in 172*4882a593Smuzhiyun raw mode. 173*4882a593Smuzhiyun 174*4882a593Smuzhiyunconfig SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 175*4882a593Smuzhiyun hex "Address on the MMC to load U-Boot from" 176*4882a593Smuzhiyun depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR 177*4882a593Smuzhiyun default 0x50 if ARCH_SUNXI 178*4882a593Smuzhiyun default 0x75 if ARCH_DAVINCI 179*4882a593Smuzhiyun default 0x8a if ARCH_MX6 180*4882a593Smuzhiyun default 0x100 if ARCH_UNIPHIER 181*4882a593Smuzhiyun default 0x140 if ARCH_MVEBU 182*4882a593Smuzhiyun default 0x200 if ARCH_SOCFPGA || ARCH_AT91 183*4882a593Smuzhiyun default 0x300 if ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || OMAP44XX || \ 184*4882a593Smuzhiyun OMAP54XX || AM33XX || AM43XX 185*4882a593Smuzhiyun default 0x4000 if ARCH_ROCKCHIP 186*4882a593Smuzhiyun help 187*4882a593Smuzhiyun Address on the MMC to load U-Boot from, when the MMC is being used 188*4882a593Smuzhiyun in raw mode. Units: MMC sectors (1 sector = 512 bytes). 189*4882a593Smuzhiyun 190*4882a593Smuzhiyunconfig SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 191*4882a593Smuzhiyun bool "MMC Raw mode: by partition" 192*4882a593Smuzhiyun depends on SPL_LIBDISK_SUPPORT 193*4882a593Smuzhiyun help 194*4882a593Smuzhiyun Use a partition for loading U-Boot when using MMC/SD in raw mode. 195*4882a593Smuzhiyun 196*4882a593Smuzhiyunconfig SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION 197*4882a593Smuzhiyun hex "Partition to use to load U-Boot from" 198*4882a593Smuzhiyun depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 199*4882a593Smuzhiyun default 1 200*4882a593Smuzhiyun help 201*4882a593Smuzhiyun Partition on the MMC to load U-Boot from when the MMC is being 202*4882a593Smuzhiyun used in raw mode 203*4882a593Smuzhiyun 204*4882a593Smuzhiyunconfig SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE 205*4882a593Smuzhiyun bool "MMC raw mode: by partition type" 206*4882a593Smuzhiyun depends on DOS_PARTITION && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 207*4882a593Smuzhiyun help 208*4882a593Smuzhiyun Use partition type for specifying U-Boot partition on MMC/SD in 209*4882a593Smuzhiyun raw mode. U-Boot will be loaded from the first partition of this 210*4882a593Smuzhiyun type to be found. 211*4882a593Smuzhiyun 212*4882a593Smuzhiyunconfig SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_NAME 213*4882a593Smuzhiyun string "Partition Name on the MMC to load U-Boot from" 214*4882a593Smuzhiyun depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 215*4882a593Smuzhiyun default "uboot" 216*4882a593Smuzhiyun help 217*4882a593Smuzhiyun Partition Name on the MMC to load U-Boot from, when the MMC is being 218*4882a593Smuzhiyun used in raw mode. 219*4882a593Smuzhiyun 220*4882a593Smuzhiyunconfig SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE 221*4882a593Smuzhiyun hex "Partition Type on the MMC to load U-Boot from" 222*4882a593Smuzhiyun depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE 223*4882a593Smuzhiyun help 224*4882a593Smuzhiyun Partition Type on the MMC to load U-Boot from, when the MMC is being 225*4882a593Smuzhiyun used in raw mode. 226*4882a593Smuzhiyun 227*4882a593Smuzhiyunconfig SPL_MISC_SECTOR 228*4882a593Smuzhiyun hex "Sector address to load misc in SPL" 229*4882a593Smuzhiyun depends on !SPL_LIBDISK_SUPPORT && SPL_KERNEL_BOOT 230*4882a593Smuzhiyun default 0x8000 231*4882a593Smuzhiyun 232*4882a593Smuzhiyunconfig SPL_CRC32_SUPPORT 233*4882a593Smuzhiyun bool "Support CRC32" 234*4882a593Smuzhiyun depends on SPL_FIT 235*4882a593Smuzhiyun help 236*4882a593Smuzhiyun Enable this to support CRC32 in FIT images within SPL. This is a 237*4882a593Smuzhiyun 32-bit checksum value that can be used to verify images. This is 238*4882a593Smuzhiyun the least secure type of checksum, suitable for detected 239*4882a593Smuzhiyun accidental image corruption. For secure applications you should 240*4882a593Smuzhiyun consider SHA1 or SHA256. 241*4882a593Smuzhiyun 242*4882a593Smuzhiyunconfig SPL_MD5_SUPPORT 243*4882a593Smuzhiyun bool "Support MD5" 244*4882a593Smuzhiyun depends on SPL_FIT 245*4882a593Smuzhiyun help 246*4882a593Smuzhiyun Enable this to support MD5 in FIT images within SPL. An MD5 247*4882a593Smuzhiyun checksum is a 128-bit hash value used to check that the image 248*4882a593Smuzhiyun contents have not been corrupted. Note that MD5 is not considered 249*4882a593Smuzhiyun secure as it is possible (with a brute-force attack) to adjust the 250*4882a593Smuzhiyun image while still retaining the same MD5 hash value. For secure 251*4882a593Smuzhiyun applications where images may be changed maliciously, you should 252*4882a593Smuzhiyun consider SHA1 or SHA256. 253*4882a593Smuzhiyun 254*4882a593Smuzhiyunconfig SPL_SHA1_SUPPORT 255*4882a593Smuzhiyun bool "Support SHA1" 256*4882a593Smuzhiyun depends on SPL_FIT 257*4882a593Smuzhiyun select SHA1 258*4882a593Smuzhiyun help 259*4882a593Smuzhiyun Enable this to support SHA1 in FIT images within SPL. A SHA1 260*4882a593Smuzhiyun checksum is a 160-bit (20-byte) hash value used to check that the 261*4882a593Smuzhiyun image contents have not been corrupted or maliciously altered. 262*4882a593Smuzhiyun While SHA1 is fairly secure it is coming to the end of its life 263*4882a593Smuzhiyun due to the expanding computing power avaiable to brute-force 264*4882a593Smuzhiyun attacks. For more security, consider SHA256. 265*4882a593Smuzhiyun 266*4882a593Smuzhiyunconfig SPL_SHA256_SUPPORT 267*4882a593Smuzhiyun bool "Support SHA256" 268*4882a593Smuzhiyun depends on SPL_FIT 269*4882a593Smuzhiyun select SHA256 270*4882a593Smuzhiyun help 271*4882a593Smuzhiyun Enable this to support SHA256 in FIT images within SPL. A SHA256 272*4882a593Smuzhiyun checksum is a 256-bit (32-byte) hash value used to check that the 273*4882a593Smuzhiyun image contents have not been corrupted. SHA256 is recommended for 274*4882a593Smuzhiyun use in secure applications since (as at 2016) there is no known 275*4882a593Smuzhiyun feasible attack that could produce a 'collision' with differing 276*4882a593Smuzhiyun input data. Use this for the highest security. Note that only the 277*4882a593Smuzhiyun SHA256 variant is supported: SHA512 and others are not currently 278*4882a593Smuzhiyun supported in U-Boot. 279*4882a593Smuzhiyun 280*4882a593Smuzhiyunconfig SPL_FIT_IMAGE_TINY 281*4882a593Smuzhiyun bool "Remove functionality from SPL FIT loading to reduce size" 282*4882a593Smuzhiyun depends on SPL_FIT 283*4882a593Smuzhiyun default y if MACH_SUN50I || MACH_SUN50I_H5 284*4882a593Smuzhiyun default y if ARCH_OMAP2PLUS 285*4882a593Smuzhiyun help 286*4882a593Smuzhiyun Enable this to reduce the size of the FIT image loading code 287*4882a593Smuzhiyun in SPL, if space for the SPL binary is very tight. 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun This removes the detection of image types (which forces the 290*4882a593Smuzhiyun first image to be treated as having a U-Boot style calling 291*4882a593Smuzhiyun convention) and skips the recording of each loaded payload 292*4882a593Smuzhiyun (i.e. loadable) into the FDT (modifying the loaded FDT to 293*4882a593Smuzhiyun ensure this information is available to the next image 294*4882a593Smuzhiyun invoked). 295*4882a593Smuzhiyun 296*4882a593Smuzhiyunconfig SPL_CPU_SUPPORT 297*4882a593Smuzhiyun bool "Support CPU drivers" 298*4882a593Smuzhiyun help 299*4882a593Smuzhiyun Enable this to support CPU drivers in SPL. These drivers can set 300*4882a593Smuzhiyun up CPUs and provide information about them such as the model and 301*4882a593Smuzhiyun name. This can be useful in SPL since setting up the CPUs earlier 302*4882a593Smuzhiyun may improve boot performance. Enable this option to build the 303*4882a593Smuzhiyun drivers in drivers/cpu as part of an SPL build. 304*4882a593Smuzhiyun 305*4882a593Smuzhiyunconfig SPL_CRYPTO_SUPPORT 306*4882a593Smuzhiyun bool "Support crypto drivers" 307*4882a593Smuzhiyun help 308*4882a593Smuzhiyun Enable crypto drivers in SPL. These drivers can be used to 309*4882a593Smuzhiyun accelerate secure boot processing in secure applications. Enable 310*4882a593Smuzhiyun this option to build the drivers in drivers/crypto as part of an 311*4882a593Smuzhiyun SPL build. 312*4882a593Smuzhiyun 313*4882a593Smuzhiyunconfig SPL_HASH_SUPPORT 314*4882a593Smuzhiyun bool "Support hashing drivers" 315*4882a593Smuzhiyun select SHA1 316*4882a593Smuzhiyun select SHA256 317*4882a593Smuzhiyun help 318*4882a593Smuzhiyun Enable hashing drivers in SPL. These drivers can be used to 319*4882a593Smuzhiyun accelerate secure boot processing in secure applications. Enable 320*4882a593Smuzhiyun this option to build system-specific drivers for hash acceleration 321*4882a593Smuzhiyun as part of an SPL build. 322*4882a593Smuzhiyun 323*4882a593Smuzhiyunconfig SPL_DMA_SUPPORT 324*4882a593Smuzhiyun bool "Support DMA drivers" 325*4882a593Smuzhiyun help 326*4882a593Smuzhiyun Enable DMA (direct-memory-access) drivers in SPL. These drivers 327*4882a593Smuzhiyun can be used to handle memory-to-peripheral data transfer without 328*4882a593Smuzhiyun the CPU moving the data. Enable this option to build the drivers 329*4882a593Smuzhiyun in drivers/dma as part of an SPL build. 330*4882a593Smuzhiyun 331*4882a593Smuzhiyunconfig SPL_DRIVERS_MISC_SUPPORT 332*4882a593Smuzhiyun bool "Support misc drivers" 333*4882a593Smuzhiyun help 334*4882a593Smuzhiyun Enable miscellaneous drivers in SPL. These drivers perform various 335*4882a593Smuzhiyun tasks that don't fall nicely into other categories, Enable this 336*4882a593Smuzhiyun option to build the drivers in drivers/misc as part of an SPL 337*4882a593Smuzhiyun build, for those that support building in SPL (not all drivers do). 338*4882a593Smuzhiyun 339*4882a593Smuzhiyunconfig SPL_ENV_SUPPORT 340*4882a593Smuzhiyun bool "Support an environment" 341*4882a593Smuzhiyun help 342*4882a593Smuzhiyun Enable environment support in SPL. The U-Boot environment provides 343*4882a593Smuzhiyun a number of settings (essentially name/value pairs) which can 344*4882a593Smuzhiyun control many aspects of U-Boot's operation. Normally this is not 345*4882a593Smuzhiyun needed in SPL as it has a much simpler task with less 346*4882a593Smuzhiyun configuration. But some boards use this to support 'Falcon' boot 347*4882a593Smuzhiyun on EXT2 and FAT, where SPL boots directly into Linux without 348*4882a593Smuzhiyun starting U-Boot first. Enabling this option will make env_get() 349*4882a593Smuzhiyun and env_set() available in SPL. 350*4882a593Smuzhiyun 351*4882a593Smuzhiyunconfig SPL_SAVEENV 352*4882a593Smuzhiyun bool "Support save environment" 353*4882a593Smuzhiyun depends on SPL_ENV_SUPPORT 354*4882a593Smuzhiyun select SPL_MMC_WRITE if ENV_IS_IN_MMC 355*4882a593Smuzhiyun help 356*4882a593Smuzhiyun Enable save environment support in SPL after setenv. By default 357*4882a593Smuzhiyun the saveenv option is not provided in SPL, but some boards need 358*4882a593Smuzhiyun this support in 'Falcon' boot, where SPL need to boot from 359*4882a593Smuzhiyun different images based on environment variable set by OS. For 360*4882a593Smuzhiyun example OS may set "reboot_image" environment variable to 361*4882a593Smuzhiyun "recovery" inorder to boot recovery image by SPL. The SPL read 362*4882a593Smuzhiyun "reboot_image" and act accordingly and change the reboot_image 363*4882a593Smuzhiyun to default mode using setenv and save the environemnt. 364*4882a593Smuzhiyun 365*4882a593Smuzhiyunconfig SPL_ETH_SUPPORT 366*4882a593Smuzhiyun bool "Support Ethernet" 367*4882a593Smuzhiyun depends on SPL_ENV_SUPPORT 368*4882a593Smuzhiyun help 369*4882a593Smuzhiyun Enable access to the network subsystem and associated Ethernet 370*4882a593Smuzhiyun drivers in SPL. This permits SPL to load U-Boot over an Ethernet 371*4882a593Smuzhiyun link rather than from an on-board peripheral. Environment support 372*4882a593Smuzhiyun is required since the network stack uses a number of environment 373*4882a593Smuzhiyun variables. See also SPL_NET_SUPPORT. 374*4882a593Smuzhiyun 375*4882a593Smuzhiyunconfig SPL_EXT_SUPPORT 376*4882a593Smuzhiyun bool "Support EXT filesystems" 377*4882a593Smuzhiyun help 378*4882a593Smuzhiyun Enable support for EXT2/3/4 filesystems with SPL. This permits 379*4882a593Smuzhiyun U-Boot (or Linux in Falcon mode) to be loaded from an EXT 380*4882a593Smuzhiyun filesystem from within SPL. Support for the underlying block 381*4882a593Smuzhiyun device (e.g. MMC or USB) must be enabled separately. 382*4882a593Smuzhiyun 383*4882a593Smuzhiyunconfig SPL_FAT_SUPPORT 384*4882a593Smuzhiyun bool "Support FAT filesystems" 385*4882a593Smuzhiyun select FS_FAT 386*4882a593Smuzhiyun help 387*4882a593Smuzhiyun Enable support for FAT and VFAT filesystems with SPL. This 388*4882a593Smuzhiyun permits U-Boot (or Linux in Falcon mode) to be loaded from a FAT 389*4882a593Smuzhiyun filesystem from within SPL. Support for the underlying block 390*4882a593Smuzhiyun device (e.g. MMC or USB) must be enabled separately. 391*4882a593Smuzhiyun 392*4882a593Smuzhiyunconfig SPL_FPGA_SUPPORT 393*4882a593Smuzhiyun bool "Support FPGAs" 394*4882a593Smuzhiyun help 395*4882a593Smuzhiyun Enable support for FPGAs in SPL. Field-programmable Gate Arrays 396*4882a593Smuzhiyun provide software-configurable hardware which is typically used to 397*4882a593Smuzhiyun implement peripherals (such as UARTs, LCD displays, MMC) or 398*4882a593Smuzhiyun accelerate custom processing functions, such as image processing 399*4882a593Smuzhiyun or machine learning. Sometimes it is useful to program the FPGA 400*4882a593Smuzhiyun as early as possible during boot, and this option can enable that 401*4882a593Smuzhiyun within SPL. 402*4882a593Smuzhiyun 403*4882a593Smuzhiyunconfig SPL_GPIO_SUPPORT 404*4882a593Smuzhiyun bool "Support GPIO" 405*4882a593Smuzhiyun help 406*4882a593Smuzhiyun Enable support for GPIOs (General-purpose Input/Output) in SPL. 407*4882a593Smuzhiyun GPIOs allow U-Boot to read the state of an input line (high or 408*4882a593Smuzhiyun low) and set the state of an output line. This can be used to 409*4882a593Smuzhiyun drive LEDs, control power to various system parts and read user 410*4882a593Smuzhiyun input. GPIOs can be useful in SPL to enable a 'sign-of-life' LED, 411*4882a593Smuzhiyun for example. Enable this option to build the drivers in 412*4882a593Smuzhiyun drivers/gpio as part of an SPL build. 413*4882a593Smuzhiyun 414*4882a593Smuzhiyunconfig SPL_I2C_SUPPORT 415*4882a593Smuzhiyun bool "Support I2C" 416*4882a593Smuzhiyun help 417*4882a593Smuzhiyun Enable support for the I2C (Inter-Integrated Circuit) bus in SPL. 418*4882a593Smuzhiyun I2C works with a clock and data line which can be driven by a 419*4882a593Smuzhiyun one or more masters or slaves. It is a fairly complex bus but is 420*4882a593Smuzhiyun widely used as it only needs two lines for communication. Speeds of 421*4882a593Smuzhiyun 400kbps are typical but up to 3.4Mbps is supported by some 422*4882a593Smuzhiyun hardware. I2C can be useful in SPL to configure power management 423*4882a593Smuzhiyun ICs (PMICs) before raising the CPU clock speed, for example. 424*4882a593Smuzhiyun Enable this option to build the drivers in drivers/i2c as part of 425*4882a593Smuzhiyun an SPL build. 426*4882a593Smuzhiyun 427*4882a593Smuzhiyunconfig SPL_LIBCOMMON_SUPPORT 428*4882a593Smuzhiyun bool "Support common libraries" 429*4882a593Smuzhiyun help 430*4882a593Smuzhiyun Enable support for common U-Boot libraries within SPL. These 431*4882a593Smuzhiyun libraries include common code to deal with U-Boot images, 432*4882a593Smuzhiyun environment and USB, for example. This option is enabled on many 433*4882a593Smuzhiyun boards. Enable this option to build the code in common/ as part of 434*4882a593Smuzhiyun an SPL build. 435*4882a593Smuzhiyun 436*4882a593Smuzhiyunconfig SPL_LIBDISK_SUPPORT 437*4882a593Smuzhiyun bool "Support disk paritions" 438*4882a593Smuzhiyun help 439*4882a593Smuzhiyun Enable support for disk partitions within SPL. 'Disk' is something 440*4882a593Smuzhiyun of a misnomer as it includes non-spinning media such as flash (as 441*4882a593Smuzhiyun used in MMC and USB sticks). Partitions provide a way for a disk 442*4882a593Smuzhiyun to be split up into separate regions, with a partition table placed 443*4882a593Smuzhiyun at the start or end which describes the location and size of each 444*4882a593Smuzhiyun 'partition'. These partitions are typically uses as individual block 445*4882a593Smuzhiyun devices, typically with an EXT2 or FAT filesystem in each. This 446*4882a593Smuzhiyun option enables whatever partition support has been enabled in 447*4882a593Smuzhiyun U-Boot to also be used in SPL. It brings in the code in disk/. 448*4882a593Smuzhiyun 449*4882a593Smuzhiyunconfig SPL_LIBGENERIC_SUPPORT 450*4882a593Smuzhiyun bool "Support generic libraries" 451*4882a593Smuzhiyun help 452*4882a593Smuzhiyun Enable support for generic U-Boot libraries within SPL. These 453*4882a593Smuzhiyun libraries include generic code to deal with device tree, hashing, 454*4882a593Smuzhiyun printf(), compression and the like. This option is enabled on many 455*4882a593Smuzhiyun boards. Enable this option to build the code in lib/ as part of an 456*4882a593Smuzhiyun SPL build. 457*4882a593Smuzhiyun 458*4882a593Smuzhiyunconfig SPL_MMC_SUPPORT 459*4882a593Smuzhiyun bool "Support MMC" 460*4882a593Smuzhiyun depends on MMC 461*4882a593Smuzhiyun help 462*4882a593Smuzhiyun Enable support for MMC (Multimedia Card) within SPL. This enables 463*4882a593Smuzhiyun the MMC protocol implementation and allows any enabled drivers to 464*4882a593Smuzhiyun be used within SPL. MMC can be used with or without disk partition 465*4882a593Smuzhiyun support depending on the application (SPL_LIBDISK_SUPPORT). Enable 466*4882a593Smuzhiyun this option to build the drivers in drivers/mmc as part of an SPL 467*4882a593Smuzhiyun build. 468*4882a593Smuzhiyun 469*4882a593Smuzhiyunconfig SPL_MMC_WRITE 470*4882a593Smuzhiyun bool "MMC/SD/SDIO card support for write operations in SPL" 471*4882a593Smuzhiyun depends on SPL_MMC_SUPPORT 472*4882a593Smuzhiyun default n 473*4882a593Smuzhiyun help 474*4882a593Smuzhiyun Enable write access to MMC and SD Cards in SPL 475*4882a593Smuzhiyun 476*4882a593Smuzhiyun 477*4882a593Smuzhiyunconfig SPL_MPC8XXX_INIT_DDR_SUPPORT 478*4882a593Smuzhiyun bool "Support MPC8XXX DDR init" 479*4882a593Smuzhiyun help 480*4882a593Smuzhiyun Enable support for DDR-SDRAM (double-data-rate synchronous dynamic 481*4882a593Smuzhiyun random-access memory) on the MPC8XXX family within SPL. This 482*4882a593Smuzhiyun allows DRAM to be set up before loading U-Boot into that DRAM, 483*4882a593Smuzhiyun where it can run. 484*4882a593Smuzhiyun 485*4882a593Smuzhiyunconfig SPL_MTD_SUPPORT 486*4882a593Smuzhiyun bool "Support MTD drivers" 487*4882a593Smuzhiyun help 488*4882a593Smuzhiyun Enable support for MTD (Memory Technology Device) within SPL. MTD 489*4882a593Smuzhiyun provides a block interface over raw NAND and can also be used with 490*4882a593Smuzhiyun SPI flash. This allows SPL to load U-Boot from supported MTD 491*4882a593Smuzhiyun devices. See SPL_NAND_SUPPORT and SPL_ONENAND_SUPPORT for how 492*4882a593Smuzhiyun to enable specific MTD drivers. 493*4882a593Smuzhiyun 494*4882a593Smuzhiyunconfig MTD_BLK_U_BOOT_OFFS 495*4882a593Smuzhiyun hex "Location in MTD block to read U-Boot from" 496*4882a593Smuzhiyun default 0x4000 497*4882a593Smuzhiyun depends on SPL_MTD_SUPPORT 498*4882a593Smuzhiyun help 499*4882a593Smuzhiyun Set the offset from the start of the nand,spi nand and nor flash where 500*4882a593Smuzhiyun u-boot should be loaded from. 501*4882a593Smuzhiyun 502*4882a593Smuzhiyunconfig SPL_MTD_WRITE 503*4882a593Smuzhiyun bool "nand & spi nand & spi nor support for write operations in SPL" 504*4882a593Smuzhiyun depends on SPL_MTD_SUPPORT 505*4882a593Smuzhiyun default n 506*4882a593Smuzhiyun help 507*4882a593Smuzhiyun Enable write access to nand & spi nand & spi nor in SPL 508*4882a593Smuzhiyun 509*4882a593Smuzhiyunconfig SPL_MUSB_NEW_SUPPORT 510*4882a593Smuzhiyun bool "Support new Mentor Graphics USB" 511*4882a593Smuzhiyun help 512*4882a593Smuzhiyun Enable support for Mentor Graphics USB in SPL. This is a new 513*4882a593Smuzhiyun driver used by some boards. Enable this option to build 514*4882a593Smuzhiyun the drivers in drivers/usb/musb-new as part of an SPL build. The 515*4882a593Smuzhiyun old drivers are in drivers/usb/musb. 516*4882a593Smuzhiyun 517*4882a593Smuzhiyunconfig SPL_NAND_SUPPORT 518*4882a593Smuzhiyun bool "Support NAND flash" 519*4882a593Smuzhiyun help 520*4882a593Smuzhiyun Enable support for NAND (Negative AND) flash in SPL. NAND flash 521*4882a593Smuzhiyun can be used to allow SPL to load U-Boot from supported devices. 522*4882a593Smuzhiyun This enables the drivers in drivers/mtd/nand/raw as part of an SPL 523*4882a593Smuzhiyun build. 524*4882a593Smuzhiyun 525*4882a593Smuzhiyunconfig SPL_NET_SUPPORT 526*4882a593Smuzhiyun bool "Support networking" 527*4882a593Smuzhiyun help 528*4882a593Smuzhiyun Enable support for network devices (such as Ethernet) in SPL. 529*4882a593Smuzhiyun This permits SPL to load U-Boot over a network link rather than 530*4882a593Smuzhiyun from an on-board peripheral. Environment support is required since 531*4882a593Smuzhiyun the network stack uses a number of environment variables. See also 532*4882a593Smuzhiyun SPL_ETH_SUPPORT. 533*4882a593Smuzhiyun 534*4882a593Smuzhiyunif SPL_NET_SUPPORT 535*4882a593Smuzhiyunconfig SPL_NET_VCI_STRING 536*4882a593Smuzhiyun string "BOOTP Vendor Class Identifier string sent by SPL" 537*4882a593Smuzhiyun help 538*4882a593Smuzhiyun As defined by RFC 2132 the vendor class identifier field can be 539*4882a593Smuzhiyun sent by the client to identify the vendor type and configuration 540*4882a593Smuzhiyun of a client. This is often used in practice to allow for the DHCP 541*4882a593Smuzhiyun server to specify different files to load depending on if the ROM, 542*4882a593Smuzhiyun SPL or U-Boot itself makes the request 543*4882a593Smuzhiyunendif # if SPL_NET_SUPPORT 544*4882a593Smuzhiyun 545*4882a593Smuzhiyunconfig SPL_NO_CPU_SUPPORT 546*4882a593Smuzhiyun bool "Drop CPU code in SPL" 547*4882a593Smuzhiyun help 548*4882a593Smuzhiyun This is specific to the ARM926EJ-S CPU. It disables the standard 549*4882a593Smuzhiyun start.S start-up code, presumably so that a replacement can be 550*4882a593Smuzhiyun used on that CPU. You should not enable it unless you know what 551*4882a593Smuzhiyun you are doing. 552*4882a593Smuzhiyun 553*4882a593Smuzhiyunconfig SPL_NOR_SUPPORT 554*4882a593Smuzhiyun bool "Support NOR flash" 555*4882a593Smuzhiyun help 556*4882a593Smuzhiyun Enable support for loading U-Boot from memory-mapped NOR (Negative 557*4882a593Smuzhiyun OR) flash in SPL. NOR flash is slow to write but fast to read, and 558*4882a593Smuzhiyun a memory-mapped device makes it very easy to access. Loading from 559*4882a593Smuzhiyun NOR is typically achieved with just a memcpy(). 560*4882a593Smuzhiyun 561*4882a593Smuzhiyunconfig SPL_XIP_SUPPORT 562*4882a593Smuzhiyun bool "Support XIP" 563*4882a593Smuzhiyun depends on SPL 564*4882a593Smuzhiyun help 565*4882a593Smuzhiyun Enable support for execute in place of U-Boot or kernel image. There 566*4882a593Smuzhiyun is no need to copy image from flash to ram if flash supports execute 567*4882a593Smuzhiyun in place. Its very useful in systems having enough flash but not 568*4882a593Smuzhiyun enough ram to load the image. 569*4882a593Smuzhiyun 570*4882a593Smuzhiyunconfig SPL_ONENAND_SUPPORT 571*4882a593Smuzhiyun bool "Support OneNAND flash" 572*4882a593Smuzhiyun help 573*4882a593Smuzhiyun Enable support for OneNAND (Negative AND) flash in SPL. OneNAND is 574*4882a593Smuzhiyun a type of NAND flash and therefore can be used to allow SPL to 575*4882a593Smuzhiyun load U-Boot from supported devices. This enables the drivers in 576*4882a593Smuzhiyun drivers/mtd/onenand as part of an SPL build. 577*4882a593Smuzhiyun 578*4882a593Smuzhiyunconfig SPL_OS_BOOT 579*4882a593Smuzhiyun bool "Activate Falcon Mode" 580*4882a593Smuzhiyun depends on !TI_SECURE_DEVICE 581*4882a593Smuzhiyun default n 582*4882a593Smuzhiyun help 583*4882a593Smuzhiyun Enable booting directly to an OS from SPL. 584*4882a593Smuzhiyun for more info read doc/README.falcon 585*4882a593Smuzhiyun 586*4882a593Smuzhiyunif SPL_OS_BOOT 587*4882a593Smuzhiyunconfig SYS_OS_BASE 588*4882a593Smuzhiyun hex "addr, where OS is found" 589*4882a593Smuzhiyun depends on SPL_NOR_SUPPORT 590*4882a593Smuzhiyun help 591*4882a593Smuzhiyun Specify the address, where the OS image is found, which 592*4882a593Smuzhiyun gets booted. 593*4882a593Smuzhiyun 594*4882a593Smuzhiyunendif # SPL_OS_BOOT 595*4882a593Smuzhiyun 596*4882a593Smuzhiyunconfig SPL_PCI_SUPPORT 597*4882a593Smuzhiyun bool "Support PCI drivers" 598*4882a593Smuzhiyun help 599*4882a593Smuzhiyun Enable support for PCI in SPL. For platforms that need PCI to boot, 600*4882a593Smuzhiyun or must perform some init using PCI in SPL, this provides the 601*4882a593Smuzhiyun necessary driver support. This enables the drivers in drivers/pci 602*4882a593Smuzhiyun as part of an SPL build. 603*4882a593Smuzhiyun 604*4882a593Smuzhiyunconfig SPL_PCH_SUPPORT 605*4882a593Smuzhiyun bool "Support PCH drivers" 606*4882a593Smuzhiyun help 607*4882a593Smuzhiyun Enable support for PCH (Platform Controller Hub) devices in SPL. 608*4882a593Smuzhiyun These are used to set up GPIOs and the SPI peripheral early in 609*4882a593Smuzhiyun boot. This enables the drivers in drivers/pch as part of an SPL 610*4882a593Smuzhiyun build. 611*4882a593Smuzhiyun 612*4882a593Smuzhiyunconfig SPL_PCIE_EP_SUPPORT 613*4882a593Smuzhiyun bool "Support loading from PCIE EP" 614*4882a593Smuzhiyun help 615*4882a593Smuzhiyun Enable support for PCIE EP driver in SPL. The RC will download the 616*4882a593Smuzhiyun image as a RAM partition for firmware. 617*4882a593Smuzhiyun 618*4882a593Smuzhiyunconfig SPL_POST_MEM_SUPPORT 619*4882a593Smuzhiyun bool "Support POST drivers" 620*4882a593Smuzhiyun help 621*4882a593Smuzhiyun Enable support for POST (Power-on Self Test) in SPL. POST is a 622*4882a593Smuzhiyun procedure that checks that the hardware (CPU or board) appears to 623*4882a593Smuzhiyun be functionally correctly. It is a sanity check that can be 624*4882a593Smuzhiyun performed before booting. This enables the drivers in post/drivers 625*4882a593Smuzhiyun as part of an SPL build. 626*4882a593Smuzhiyun 627*4882a593Smuzhiyunconfig SPL_POWER_SUPPORT 628*4882a593Smuzhiyun bool "Support power drivers" 629*4882a593Smuzhiyun help 630*4882a593Smuzhiyun Enable support for power control in SPL. This includes support 631*4882a593Smuzhiyun for PMICs (Power-management Integrated Circuits) and some of the 632*4882a593Smuzhiyun features provided by PMICs. In particular, voltage regulators can 633*4882a593Smuzhiyun be used to enable/disable power and vary its voltage. That can be 634*4882a593Smuzhiyun useful in SPL to turn on boot peripherals and adjust CPU voltage 635*4882a593Smuzhiyun so that the clock speed can be increased. This enables the drivers 636*4882a593Smuzhiyun in drivers/power, drivers/power/pmic and drivers/power/regulator 637*4882a593Smuzhiyun as part of an SPL build. 638*4882a593Smuzhiyun 639*4882a593Smuzhiyunconfig SPL_PWM_SUPPORT 640*4882a593Smuzhiyun bool "Support PWM driver" 641*4882a593Smuzhiyun depends on SPL 642*4882a593Smuzhiyun help 643*4882a593Smuzhiyun Enable support for pwm in SPL. This allows use pwm to control 644*4882a593Smuzhiyun somethings, for example control voltage. 645*4882a593Smuzhiyun 646*4882a593Smuzhiyunconfig SPL_RAM_SUPPORT 647*4882a593Smuzhiyun bool "Support booting from RAM" 648*4882a593Smuzhiyun default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ 649*4882a593Smuzhiyun help 650*4882a593Smuzhiyun Enable booting of an image in RAM. The image can be preloaded or 651*4882a593Smuzhiyun it can be loaded by SPL directly into RAM (e.g. using USB). 652*4882a593Smuzhiyun 653*4882a593Smuzhiyunconfig SPL_RAM_DEVICE 654*4882a593Smuzhiyun bool "Support booting from preloaded image in RAM" 655*4882a593Smuzhiyun depends on SPL_RAM_SUPPORT 656*4882a593Smuzhiyun default y if ARCH_ROCKCHIP || MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ 657*4882a593Smuzhiyun help 658*4882a593Smuzhiyun Enable booting of an image already loaded in RAM. The image has to 659*4882a593Smuzhiyun be already in memory when SPL takes over, e.g. loaded by the boot 660*4882a593Smuzhiyun ROM. 661*4882a593Smuzhiyun 662*4882a593Smuzhiyunconfig SPL_RTC_SUPPORT 663*4882a593Smuzhiyun bool "Support RTC drivers" 664*4882a593Smuzhiyun help 665*4882a593Smuzhiyun Enable RTC (Real-time Clock) support in SPL. This includes support 666*4882a593Smuzhiyun for reading and setting the time. Some RTC devices also have some 667*4882a593Smuzhiyun non-volatile (battery-backed) memory which is accessible if 668*4882a593Smuzhiyun needed. This enables the drivers in drivers/rtc as part of an SPL 669*4882a593Smuzhiyun build. 670*4882a593Smuzhiyun 671*4882a593Smuzhiyunconfig SPL_SATA_SUPPORT 672*4882a593Smuzhiyun bool "Support loading from SATA" 673*4882a593Smuzhiyun help 674*4882a593Smuzhiyun Enable support for SATA (Serial AT attachment) in SPL. This allows 675*4882a593Smuzhiyun use of SATA devices such as hard drives and flash drivers for 676*4882a593Smuzhiyun loading U-Boot. SATA is used in higher-end embedded systems and 677*4882a593Smuzhiyun can provide higher performance than MMC , at somewhat higher 678*4882a593Smuzhiyun expense and power consumption. This enables loading from SATA 679*4882a593Smuzhiyun using a configured device. 680*4882a593Smuzhiyun 681*4882a593Smuzhiyunconfig SPL_SERIAL_SUPPORT 682*4882a593Smuzhiyun bool "Support serial" 683*4882a593Smuzhiyun help 684*4882a593Smuzhiyun Enable support for serial in SPL. This allows use of a serial UART 685*4882a593Smuzhiyun for displaying messages while SPL is running. It also brings in 686*4882a593Smuzhiyun printf() and panic() functions. This should normally be enabled 687*4882a593Smuzhiyun unless there are space reasons not to. Even then, consider 688*4882a593Smuzhiyun enabling USE_TINY_PRINTF which is a small printf() version. 689*4882a593Smuzhiyun 690*4882a593Smuzhiyunconfig SPL_SPI_FLASH_SUPPORT 691*4882a593Smuzhiyun bool "Support SPI flash drivers" 692*4882a593Smuzhiyun help 693*4882a593Smuzhiyun Enable support for using SPI flash in SPL, and loading U-Boot from 694*4882a593Smuzhiyun SPI flash. SPI flash (Serial Peripheral Bus flash) is named after 695*4882a593Smuzhiyun the SPI bus that is used to connect it to a system. It is a simple 696*4882a593Smuzhiyun but fast bidirectional 4-wire bus (clock, chip select and two data 697*4882a593Smuzhiyun lines). This enables the drivers in drivers/mtd/spi as part of an 698*4882a593Smuzhiyun SPL build. This normally requires SPL_SPI_SUPPORT. 699*4882a593Smuzhiyun 700*4882a593Smuzhiyunconfig SPL_RKNAND_SUPPORT 701*4882a593Smuzhiyun bool "Rockchip NAND FLASH device support" 702*4882a593Smuzhiyun depends on BLK 703*4882a593Smuzhiyun select RKNAND 704*4882a593Smuzhiyun select ZFTL if (ROCKCHIP_PX30 || ROCKCHIP_RK3568) 705*4882a593Smuzhiyun help 706*4882a593Smuzhiyun This option enables support for Rockchip NAND FLASH devices. 707*4882a593Smuzhiyun It supports block interface(with rk ftl) to read and write NAND FLASH. 708*4882a593Smuzhiyun 709*4882a593Smuzhiyunconfig RKNAND_BLK_U_BOOT_OFFS 710*4882a593Smuzhiyun hex "Location in RKNAND block to read U-Boot from" 711*4882a593Smuzhiyun default 0x4000 712*4882a593Smuzhiyun depends on SPL_RKNAND_SUPPORT 713*4882a593Smuzhiyun help 714*4882a593Smuzhiyun Set the offset from the start of the rknand device where 715*4882a593Smuzhiyun u-boot should be loaded from. 716*4882a593Smuzhiyun 717*4882a593Smuzhiyunif SPL_SPI_FLASH_SUPPORT 718*4882a593Smuzhiyun 719*4882a593Smuzhiyunconfig SPL_SPI_FLASH_TINY 720*4882a593Smuzhiyun bool "Enable low footprint SPL SPI Flash support" 721*4882a593Smuzhiyun depends on !SPI_FLASH_BAR 722*4882a593Smuzhiyun help 723*4882a593Smuzhiyun Enable lightweight SPL SPI Flash support that supports just reading 724*4882a593Smuzhiyun data/images from flash. No support to write/erase flash. Enable 725*4882a593Smuzhiyun this if you have SPL size limitations and don't need full 726*4882a593Smuzhiyun fledged SPI flash support. 727*4882a593Smuzhiyun 728*4882a593Smuzhiyunconfig SPL_SPI_FLASH_SFDP_SUPPORT 729*4882a593Smuzhiyun bool "SFDP table parsing support for SPI NOR flashes" 730*4882a593Smuzhiyun depends on !SPI_FLASH_BAR && !SPL_SPI_FLASH_TINY 731*4882a593Smuzhiyun help 732*4882a593Smuzhiyun Enable support for parsing and auto discovery of parameters for 733*4882a593Smuzhiyun SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP) 734*4882a593Smuzhiyun tables as per JESD216 standard in SPL. 735*4882a593Smuzhiyun 736*4882a593Smuzhiyunconfig SPL_SPI_LOAD 737*4882a593Smuzhiyun bool "Support loading from SPI flash" 738*4882a593Smuzhiyun help 739*4882a593Smuzhiyun Enable support for loading next stage, U-Boot or otherwise, from 740*4882a593Smuzhiyun SPI NOR in U-Boot SPL. 741*4882a593Smuzhiyun 742*4882a593Smuzhiyunendif # SPL_SPI_FLASH_SUPPORT 743*4882a593Smuzhiyun 744*4882a593Smuzhiyunconfig SPL_SPI_SUPPORT 745*4882a593Smuzhiyun bool "Support SPI drivers" 746*4882a593Smuzhiyun help 747*4882a593Smuzhiyun Enable support for using SPI in SPL. This is used for connecting 748*4882a593Smuzhiyun to SPI flash for loading U-Boot. See SPL_SPI_FLASH_SUPPORT for 749*4882a593Smuzhiyun more details on that. The SPI driver provides the transport for 750*4882a593Smuzhiyun data between the SPI flash and the CPU. This option can be used to 751*4882a593Smuzhiyun enable SPI drivers that are needed for other purposes also, such 752*4882a593Smuzhiyun as a SPI PMIC. 753*4882a593Smuzhiyun 754*4882a593Smuzhiyunconfig SPL_USB_HOST_SUPPORT 755*4882a593Smuzhiyun bool "Support USB host drivers" 756*4882a593Smuzhiyun help 757*4882a593Smuzhiyun Enable access to USB (Universal Serial Bus) host devices so that 758*4882a593Smuzhiyun SPL can load U-Boot from a connected USB peripheral, such as a USB 759*4882a593Smuzhiyun flash stick. While USB takes a little longer to start up than most 760*4882a593Smuzhiyun buses, it is very flexible since many different types of storage 761*4882a593Smuzhiyun device can be attached. This option enables the drivers in 762*4882a593Smuzhiyun drivers/usb/host as part of an SPL build. 763*4882a593Smuzhiyun 764*4882a593Smuzhiyunconfig SPL_USB_SUPPORT 765*4882a593Smuzhiyun bool "Support loading from USB" 766*4882a593Smuzhiyun depends on SPL_USB_HOST_SUPPORT 767*4882a593Smuzhiyun help 768*4882a593Smuzhiyun Enable support for USB devices in SPL. This allows use of USB 769*4882a593Smuzhiyun devices such as hard drives and flash drivers for loading U-Boot. 770*4882a593Smuzhiyun The actual drivers are enabled separately using the normal U-Boot 771*4882a593Smuzhiyun config options. This enables loading from USB using a configured 772*4882a593Smuzhiyun device. 773*4882a593Smuzhiyun 774*4882a593Smuzhiyunconfig SPL_USB_GADGET 775*4882a593Smuzhiyun bool "Suppport USB Gadget drivers" 776*4882a593Smuzhiyun help 777*4882a593Smuzhiyun Enable USB Gadget API which allows to enable USB device functions 778*4882a593Smuzhiyun in SPL. 779*4882a593Smuzhiyun 780*4882a593Smuzhiyunif SPL_USB_GADGET 781*4882a593Smuzhiyun 782*4882a593Smuzhiyunconfig SPL_USBETH_SUPPORT 783*4882a593Smuzhiyun bool "Support USB Ethernet drivers" 784*4882a593Smuzhiyun help 785*4882a593Smuzhiyun Enable access to the USB network subsystem and associated 786*4882a593Smuzhiyun drivers in SPL. This permits SPL to load U-Boot over a 787*4882a593Smuzhiyun USB-connected Ethernet link (such as a USB Ethernet dongle) rather 788*4882a593Smuzhiyun than from an onboard peripheral. Environment support is required 789*4882a593Smuzhiyun since the network stack uses a number of environment variables. 790*4882a593Smuzhiyun See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT. 791*4882a593Smuzhiyun 792*4882a593Smuzhiyunconfig SPL_DFU 793*4882a593Smuzhiyun bool "Support DFU (Device Firmware Upgrade)" 794*4882a593Smuzhiyun select SPL_HASH_SUPPORT 795*4882a593Smuzhiyun select SPL_DFU_NO_RESET 796*4882a593Smuzhiyun depends on SPL_RAM_SUPPORT 797*4882a593Smuzhiyun help 798*4882a593Smuzhiyun This feature enables the DFU (Device Firmware Upgarde) in SPL with 799*4882a593Smuzhiyun RAM memory device support. The ROM code will load and execute 800*4882a593Smuzhiyun the SPL built with dfu. The user can load binaries (u-boot/kernel) to 801*4882a593Smuzhiyun selected device partition from host-pc using dfu-utils. 802*4882a593Smuzhiyun This feature is useful to flash the binaries to factory or bare-metal 803*4882a593Smuzhiyun boards using USB interface. 804*4882a593Smuzhiyun 805*4882a593Smuzhiyunchoice 806*4882a593Smuzhiyun bool "DFU device selection" 807*4882a593Smuzhiyun depends on SPL_DFU 808*4882a593Smuzhiyun 809*4882a593Smuzhiyunconfig SPL_DFU_RAM 810*4882a593Smuzhiyun bool "RAM device" 811*4882a593Smuzhiyun depends on SPL_DFU && SPL_RAM_SUPPORT 812*4882a593Smuzhiyun help 813*4882a593Smuzhiyun select RAM/DDR memory device for loading binary images 814*4882a593Smuzhiyun (u-boot/kernel) to the selected device partition using 815*4882a593Smuzhiyun DFU and execute the u-boot/kernel from RAM. 816*4882a593Smuzhiyun 817*4882a593Smuzhiyunendchoice 818*4882a593Smuzhiyun 819*4882a593Smuzhiyunconfig SPL_USB_SDP_SUPPORT 820*4882a593Smuzhiyun bool "Support SDP (Serial Download Protocol)" 821*4882a593Smuzhiyun help 822*4882a593Smuzhiyun Enable Serial Download Protocol (SDP) device support in SPL. This 823*4882a593Smuzhiyun allows to download images into memory and execute (jump to) them 824*4882a593Smuzhiyun using the same protocol as implemented by the i.MX family's boot ROM. 825*4882a593Smuzhiyunendif 826*4882a593Smuzhiyun 827*4882a593Smuzhiyunconfig SPL_WATCHDOG_SUPPORT 828*4882a593Smuzhiyun bool "Support watchdog drivers" 829*4882a593Smuzhiyun help 830*4882a593Smuzhiyun Enable support for watchdog drivers in SPL. A watchdog is 831*4882a593Smuzhiyun typically a hardware peripheral which can reset the system when it 832*4882a593Smuzhiyun detects no activity for a while (such as a software crash). This 833*4882a593Smuzhiyun enables the drivers in drivers/watchdog as part of an SPL build. 834*4882a593Smuzhiyun 835*4882a593Smuzhiyunconfig SPL_YMODEM_SUPPORT 836*4882a593Smuzhiyun bool "Support loading using Ymodem" 837*4882a593Smuzhiyun help 838*4882a593Smuzhiyun While loading from serial is slow it can be a useful backup when 839*4882a593Smuzhiyun there is no other option. The Ymodem protocol provides a reliable 840*4882a593Smuzhiyun means of transmitting U-Boot over a serial line for using in SPL, 841*4882a593Smuzhiyun with a checksum to ensure correctness. 842*4882a593Smuzhiyun 843*4882a593Smuzhiyunconfig SPL_ATF 844*4882a593Smuzhiyun bool "Support ARM Trusted Firmware" 845*4882a593Smuzhiyun depends on ARM64 846*4882a593Smuzhiyun help 847*4882a593Smuzhiyun ATF(ARM Trusted Firmware) is a component for ARM AArch64 which 848*4882a593Smuzhiyun is loaded by SPL (which is considered as BL2 in ATF terminology). 849*4882a593Smuzhiyun More detail at: https://github.com/ARM-software/arm-trusted-firmware 850*4882a593Smuzhiyun 851*4882a593Smuzhiyunconfig SPL_OPTEE_SUPPORT 852*4882a593Smuzhiyun bool "Support OP-TEE Trusted OS" 853*4882a593Smuzhiyun depends on ARM 854*4882a593Smuzhiyun help 855*4882a593Smuzhiyun OP-TEE is an open source Trusted OS which is loaded by SPL. 856*4882a593Smuzhiyun More detail at: https://github.com/OP-TEE/optee_os 857*4882a593Smuzhiyun 858*4882a593Smuzhiyunconfig SPL_ATF_NO_PLATFORM_PARAM 859*4882a593Smuzhiyun bool "Pass no platform parameter" 860*4882a593Smuzhiyun depends on SPL_ATF 861*4882a593Smuzhiyun help 862*4882a593Smuzhiyun While we expect to call a pointer to a valid FDT (or NULL) 863*4882a593Smuzhiyun as the platform parameter to an ATF, some ATF versions are 864*4882a593Smuzhiyun not U-Boot aware and have an insufficiently robust parameter 865*4882a593Smuzhiyun validation to gracefully reject a FDT being passed. 866*4882a593Smuzhiyun 867*4882a593Smuzhiyun If this option is enabled, the spl_atf os-type handler will 868*4882a593Smuzhiyun always pass NULL for the platform parameter. 869*4882a593Smuzhiyun 870*4882a593Smuzhiyun If your ATF is affected, say Y. 871*4882a593Smuzhiyun 872*4882a593Smuzhiyunconfig SPL_ATF_AARCH32_BL33 873*4882a593Smuzhiyun bool "Support BL33 runs as AArch32 mode" 874*4882a593Smuzhiyun depends on SPL_ATF 875*4882a593Smuzhiyun help 876*4882a593Smuzhiyun This option setup the AArch32 Mode for BL33. 877*4882a593Smuzhiyun 878*4882a593Smuzhiyunconfig SPL_OPTEE 879*4882a593Smuzhiyun bool "Support OP-TEE Trusted OS" 880*4882a593Smuzhiyun depends on ARM 881*4882a593Smuzhiyun help 882*4882a593Smuzhiyun OP-TEE is an open source Trusted OS which is loaded by SPL. 883*4882a593Smuzhiyun More detail at: https://github.com/OP-TEE/optee_os 884*4882a593Smuzhiyun 885*4882a593Smuzhiyunconfig SPL_AB 886*4882a593Smuzhiyun bool "Support AB system boot" 887*4882a593Smuzhiyun depends on SPL && SPL_EFI_PARTITION 888*4882a593Smuzhiyun help 889*4882a593Smuzhiyun Enable this config to support AB system boot. 890*4882a593Smuzhiyun 891*4882a593Smuzhiyunconfig SPL_LOAD_RKFW 892*4882a593Smuzhiyun bool "SPL support load rockchip firmware images" 893*4882a593Smuzhiyun depends on SPL 894*4882a593Smuzhiyun help 895*4882a593Smuzhiyun This enables SPL support load rockchip firmware images. 896*4882a593Smuzhiyun Please define both RKFW_TRUST_SECTOR and RKFW_U_BOOT_SECTOR 897*4882a593Smuzhiyun for trust and U-Boot images. 898*4882a593Smuzhiyun 899*4882a593Smuzhiyunconfig RKFW_TRUST_SECTOR 900*4882a593Smuzhiyun hex "rockchip trust image load sector" 901*4882a593Smuzhiyun depends on SPL_LOAD_RKFW 902*4882a593Smuzhiyun default 0x6000 903*4882a593Smuzhiyun 904*4882a593Smuzhiyunconfig RKFW_U_BOOT_SECTOR 905*4882a593Smuzhiyun hex "rockchip uboot image load sector" 906*4882a593Smuzhiyun depends on SPL_LOAD_RKFW 907*4882a593Smuzhiyun default 0x4000 908*4882a593Smuzhiyun 909*4882a593Smuzhiyunconfig RKFW_BOOT_SECTOR 910*4882a593Smuzhiyun hex "rockchip boot image load sector" 911*4882a593Smuzhiyun depends on SPL_LOAD_RKFW 912*4882a593Smuzhiyun default 0xa000 913*4882a593Smuzhiyun 914*4882a593Smuzhiyunconfig SPL_KERNEL_BOOT 915*4882a593Smuzhiyun bool "Enable boot kernel in SPL" 916*4882a593Smuzhiyun depends on SPL 917*4882a593Smuzhiyun help 918*4882a593Smuzhiyun Enable boot kernel in SPL. 919*4882a593Smuzhiyun 920*4882a593Smuzhiyunconfig SPL_KERNEL_BOOT_PREBUILT 921*4882a593Smuzhiyun bool "Enable boot kernel in SPL with prebuilt program" 922*4882a593Smuzhiyun depends on SPL_KERNEL_BOOT 923*4882a593Smuzhiyun default y 924*4882a593Smuzhiyun help 925*4882a593Smuzhiyun Enable boot kernel in SPL with prebuilt program. 926*4882a593Smuzhiyun 927*4882a593Smuzhiyunconfig SPL_KERNEL_BOOT_SECTOR 928*4882a593Smuzhiyun hex "Sector address to load kernel in SPL" 929*4882a593Smuzhiyun depends on SPL_KERNEL_BOOT 930*4882a593Smuzhiyun depends on !SPL_LIBDISK_SUPPORT 931*4882a593Smuzhiyun default 0xa000 932*4882a593Smuzhiyun 933*4882a593Smuzhiyunif SPL_LOAD_RKFW 934*4882a593Smuzhiyunconfig SPL_KERNEL_ADDR 935*4882a593Smuzhiyun hex "Kernel load address in spl" 936*4882a593Smuzhiyun depends on SPL 937*4882a593Smuzhiyun default 0x280000 938*4882a593Smuzhiyun help 939*4882a593Smuzhiyun Define the kernel address where load kernel image to. 940*4882a593Smuzhiyun This is used to boot kernel in spl. 941*4882a593Smuzhiyun 942*4882a593Smuzhiyunconfig SPL_KERNEL_COMPRESS_ADDR 943*4882a593Smuzhiyun hex "The compressed kernel in spl" 944*4882a593Smuzhiyun depends on SPL && SPL_ROCKCHIP_HW_DECOMPRESS 945*4882a593Smuzhiyun help 946*4882a593Smuzhiyun Load compressed kernel in this address, then call the 947*4882a593Smuzhiyun decompress process to decompress the firmware. 948*4882a593Smuzhiyun 949*4882a593Smuzhiyunconfig SPL_KERNEL_DECOM_LIMIT_SIZE 950*4882a593Smuzhiyun hex "The decompress limit size" 951*4882a593Smuzhiyun depends on SPL && SPL_ROCKCHIP_HW_DECOMPRESS 952*4882a593Smuzhiyun default 0x1ff8000 953*4882a593Smuzhiyun help 954*4882a593Smuzhiyun Define kernel maximum decompressible size that prevent 955*4882a593Smuzhiyun memory overrun. 956*4882a593Smuzhiyun 957*4882a593Smuzhiyunconfig SPL_FDT_ADDR 958*4882a593Smuzhiyun hex "Device tree blob load address in spl" 959*4882a593Smuzhiyun depends on SPL 960*4882a593Smuzhiyun default 0x01f00000 961*4882a593Smuzhiyun help 962*4882a593Smuzhiyun Define the fdt address where load dtb image to. 963*4882a593Smuzhiyun This is used to boot kernel in spl. 964*4882a593Smuzhiyun 965*4882a593Smuzhiyunconfig SPL_RAMDISK_ADDR 966*4882a593Smuzhiyun hex "Ramdisk load address in spl" 967*4882a593Smuzhiyun depends on SPL 968*4882a593Smuzhiyun default 0x0a200000 969*4882a593Smuzhiyun help 970*4882a593Smuzhiyun Define the ramdisk address where load ramdisk image to. 971*4882a593Smuzhiyun This is used to boot kernel in spl. 972*4882a593Smuzhiyun 973*4882a593Smuzhiyunconfig SPL_RAMDISK_COMPRESS_ADDR 974*4882a593Smuzhiyun hex "The compressed ramdisk in spl" 975*4882a593Smuzhiyun depends on SPL && SPL_ROCKCHIP_HW_DECOMPRESS 976*4882a593Smuzhiyun help 977*4882a593Smuzhiyun Load compressed ramdisk in this address, then call the 978*4882a593Smuzhiyun decompress process to decompress the firmware. 979*4882a593Smuzhiyun 980*4882a593Smuzhiyunconfig SPL_RAMDISK_DECOM_LIMIT_SIZE 981*4882a593Smuzhiyun hex "The decompress limit size" 982*4882a593Smuzhiyun depends on SPL && SPL_ROCKCHIP_HW_DECOMPRESS 983*4882a593Smuzhiyun default 0x3000000 984*4882a593Smuzhiyun help 985*4882a593Smuzhiyun Define ramdisk maximum decompressible size that prevent 986*4882a593Smuzhiyun memory overrun. 987*4882a593Smuzhiyunendif 988*4882a593Smuzhiyun 989*4882a593Smuzhiyunconfig TPL 990*4882a593Smuzhiyun bool 991*4882a593Smuzhiyun depends on SUPPORT_TPL 992*4882a593Smuzhiyun prompt "Enable TPL" 993*4882a593Smuzhiyun help 994*4882a593Smuzhiyun If you want to build TPL as well as the normal image and SPL, say Y. 995*4882a593Smuzhiyun 996*4882a593Smuzhiyunif TPL 997*4882a593Smuzhiyun 998*4882a593Smuzhiyunconfig TPL_BOARD_INIT 999*4882a593Smuzhiyun bool "Call board-specific initialization in TPL" 1000*4882a593Smuzhiyun help 1001*4882a593Smuzhiyun If this option is enabled, U-Boot will call the function 1002*4882a593Smuzhiyun spl_board_init() from board_init_r(). This function should be 1003*4882a593Smuzhiyun provided by the board. 1004*4882a593Smuzhiyun 1005*4882a593Smuzhiyunconfig TPL_LDSCRIPT 1006*4882a593Smuzhiyun string "Linker script for the TPL stage" 1007*4882a593Smuzhiyun depends on TPL 1008*4882a593Smuzhiyun help 1009*4882a593Smuzhiyun The TPL stage will usually require a different linker-script 1010*4882a593Smuzhiyun (as it runs from a different memory region) than the regular 1011*4882a593Smuzhiyun U-Boot stage. Set this to the path of the linker-script to 1012*4882a593Smuzhiyun be used for TPL. 1013*4882a593Smuzhiyun 1014*4882a593Smuzhiyun May be left empty to trigger the Makefile infrastructure to 1015*4882a593Smuzhiyun fall back to the linker-script used for the SPL stage. 1016*4882a593Smuzhiyun 1017*4882a593Smuzhiyunconfig TPL_NEEDS_SEPARATE_TEXT_BASE 1018*4882a593Smuzhiyun bool "TPL needs a separate text-base" 1019*4882a593Smuzhiyun default n 1020*4882a593Smuzhiyun depends on TPL 1021*4882a593Smuzhiyun help 1022*4882a593Smuzhiyun Enable, if the TPL stage should not inherit its text-base 1023*4882a593Smuzhiyun from the SPL stage. When enabled, a base address for the 1024*4882a593Smuzhiyun .text sections of the TPL stage has to be set below. 1025*4882a593Smuzhiyun 1026*4882a593Smuzhiyunconfig TPL_NEEDS_SEPARATE_STACK 1027*4882a593Smuzhiyun bool "TPL needs a separate initial stack-pointer" 1028*4882a593Smuzhiyun default n 1029*4882a593Smuzhiyun depends on TPL 1030*4882a593Smuzhiyun help 1031*4882a593Smuzhiyun Enable, if the TPL stage should not inherit its initial 1032*4882a593Smuzhiyun stack-pointer from the settings for the SPL stage. 1033*4882a593Smuzhiyun 1034*4882a593Smuzhiyunconfig TPL_TEXT_BASE 1035*4882a593Smuzhiyun hex "Base address for the .text section of the TPL stage" 1036*4882a593Smuzhiyun depends on TPL_NEEDS_SEPARATE_TEXT_BASE 1037*4882a593Smuzhiyun help 1038*4882a593Smuzhiyun The base address for the .text section of the TPL stage. 1039*4882a593Smuzhiyun 1040*4882a593Smuzhiyunconfig TPL_MAX_SIZE 1041*4882a593Smuzhiyun int "Maximum size (in bytes) for the TPL stage" 1042*4882a593Smuzhiyun default 0 1043*4882a593Smuzhiyun depends on TPL 1044*4882a593Smuzhiyun help 1045*4882a593Smuzhiyun The maximum size (in bytes) of the TPL stage. 1046*4882a593Smuzhiyun 1047*4882a593Smuzhiyunconfig TPL_STACK 1048*4882a593Smuzhiyun hex "Address of the initial stack-pointer for the TPL stage" 1049*4882a593Smuzhiyun depends on TPL_NEEDS_SEPARATE_STACK 1050*4882a593Smuzhiyun help 1051*4882a593Smuzhiyun The address of the initial stack-pointer for the TPL stage. 1052*4882a593Smuzhiyun Usually this will be the (aligned) top-of-stack. 1053*4882a593Smuzhiyun 1054*4882a593Smuzhiyunconfig TPL_BOOTROM_SUPPORT 1055*4882a593Smuzhiyun bool "Support returning to the BOOTROM (from TPL)" 1056*4882a593Smuzhiyun help 1057*4882a593Smuzhiyun Some platforms (e.g. the Rockchip RK3368) provide support in their 1058*4882a593Smuzhiyun ROM for loading the next boot-stage after performing basic setup 1059*4882a593Smuzhiyun from the TPL stage. 1060*4882a593Smuzhiyun 1061*4882a593Smuzhiyun Enable this option, to return to the BOOTROM through the 1062*4882a593Smuzhiyun BOOT_DEVICE_BOOTROM (or fall-through to the next boot device in the 1063*4882a593Smuzhiyun boot device list, if not implemented for a given board) 1064*4882a593Smuzhiyun 1065*4882a593Smuzhiyunconfig TPL_DRIVERS_MISC_SUPPORT 1066*4882a593Smuzhiyun bool "Support misc drivers in TPL" 1067*4882a593Smuzhiyun help 1068*4882a593Smuzhiyun Enable miscellaneous drivers in TPL. These drivers perform various 1069*4882a593Smuzhiyun tasks that don't fall nicely into other categories, Enable this 1070*4882a593Smuzhiyun option to build the drivers in drivers/misc as part of an TPL 1071*4882a593Smuzhiyun build, for those that support building in TPL (not all drivers do). 1072*4882a593Smuzhiyun 1073*4882a593Smuzhiyunconfig TPL_ENV_SUPPORT 1074*4882a593Smuzhiyun bool "Support an environment" 1075*4882a593Smuzhiyun help 1076*4882a593Smuzhiyun Enable environment support in TPL. See SPL_ENV_SUPPORT for details. 1077*4882a593Smuzhiyun 1078*4882a593Smuzhiyunconfig TPL_I2C_SUPPORT 1079*4882a593Smuzhiyun bool "Support I2C" 1080*4882a593Smuzhiyun help 1081*4882a593Smuzhiyun Enable support for the I2C bus in TPL. See SPL_I2C_SUPPORT for 1082*4882a593Smuzhiyun details. 1083*4882a593Smuzhiyun 1084*4882a593Smuzhiyunconfig TPL_LIBCOMMON_SUPPORT 1085*4882a593Smuzhiyun bool "Support common libraries" 1086*4882a593Smuzhiyun help 1087*4882a593Smuzhiyun Enable support for common U-Boot libraries within TPL. See 1088*4882a593Smuzhiyun SPL_LIBCOMMON_SUPPORT for details. 1089*4882a593Smuzhiyun 1090*4882a593Smuzhiyunconfig TPL_LIBGENERIC_SUPPORT 1091*4882a593Smuzhiyun bool "Support generic libraries" 1092*4882a593Smuzhiyun help 1093*4882a593Smuzhiyun Enable support for generic U-Boot libraries within TPL. See 1094*4882a593Smuzhiyun SPL_LIBGENERIC_SUPPORT for details. 1095*4882a593Smuzhiyun 1096*4882a593Smuzhiyunconfig TPL_TINY_FRAMEWORK 1097*4882a593Smuzhiyun bool "Support not to use spl framework in TPL" 1098*4882a593Smuzhiyun help 1099*4882a593Smuzhiyun Enable support for not using spl framework in TPL, to reduce the TPL size. 1100*4882a593Smuzhiyun 1101*4882a593Smuzhiyunconfig TPL_MPC8XXX_INIT_DDR_SUPPORT 1102*4882a593Smuzhiyun bool "Support MPC8XXX DDR init" 1103*4882a593Smuzhiyun help 1104*4882a593Smuzhiyun Enable support for DDR-SDRAM on the MPC8XXX family within TPL. See 1105*4882a593Smuzhiyun SPL_MPC8XXX_INIT_DDR_SUPPORT for details. 1106*4882a593Smuzhiyun 1107*4882a593Smuzhiyunconfig TPL_MMC_SUPPORT 1108*4882a593Smuzhiyun bool "Support MMC" 1109*4882a593Smuzhiyun depends on MMC 1110*4882a593Smuzhiyun help 1111*4882a593Smuzhiyun Enable support for MMC within TPL. See SPL_MMC_SUPPORT for details. 1112*4882a593Smuzhiyun 1113*4882a593Smuzhiyunconfig TPL_NAND_SUPPORT 1114*4882a593Smuzhiyun bool "Support NAND flash" 1115*4882a593Smuzhiyun help 1116*4882a593Smuzhiyun Enable support for NAND in TPL. See SPL_NAND_SUPPORT for details. 1117*4882a593Smuzhiyun 1118*4882a593Smuzhiyunconfig TPL_SERIAL_SUPPORT 1119*4882a593Smuzhiyun bool "Support serial" 1120*4882a593Smuzhiyun help 1121*4882a593Smuzhiyun Enable support for serial in TPL. See SPL_SERIAL_SUPPORT for 1122*4882a593Smuzhiyun details. 1123*4882a593Smuzhiyun 1124*4882a593Smuzhiyunconfig TPL_SPI_FLASH_SUPPORT 1125*4882a593Smuzhiyun bool "Support SPI flash drivers" 1126*4882a593Smuzhiyun help 1127*4882a593Smuzhiyun Enable support for using SPI flash in TPL. See SPL_SPI_FLASH_SUPPORT 1128*4882a593Smuzhiyun for details. 1129*4882a593Smuzhiyun 1130*4882a593Smuzhiyunconfig TPL_SPI_SUPPORT 1131*4882a593Smuzhiyun bool "Support SPI drivers" 1132*4882a593Smuzhiyun help 1133*4882a593Smuzhiyun Enable support for using SPI in TPL. See SPL_SPI_SUPPORT for 1134*4882a593Smuzhiyun details. 1135*4882a593Smuzhiyun 1136*4882a593Smuzhiyunendif # TPL 1137*4882a593Smuzhiyun 1138*4882a593Smuzhiyunendif # SPL 1139*4882a593Smuzhiyunendmenu 1140