powerpc: mpc5200: Correct return value of memcpy function
[platform/kernel/u-boot.git] / common / spl / Kconfig
1 menu "SPL / TPL"
2
3 config SUPPORT_SPL
4         bool
5
6 config SUPPORT_TPL
7         bool
8
9 config SPL
10         bool
11         depends on SUPPORT_SPL
12         prompt "Enable SPL"
13         help
14           If you want to build SPL as well as the normal image, say Y.
15
16 config SPL_SYS_MALLOC_SIMPLE
17         bool
18         depends on SPL
19         prompt "Only use malloc_simple functions in the SPL"
20         help
21           Say Y here to only use the *_simple malloc functions from
22           malloc_simple.c, rather then using the versions from dlmalloc.c;
23           this will make the SPL binary smaller at the cost of more heap
24           usage as the *_simple malloc functions do not re-use free-ed mem.
25
26 config SPL_STACK_R
27         depends on SPL
28         bool "Enable SDRAM location for SPL stack"
29         help
30           SPL starts off execution in SRAM and thus typically has only a small
31           stack available. Since SPL sets up DRAM while in its board_init_f()
32           function, it is possible for the stack to move there before
33           board_init_r() is reached. This option enables a special SDRAM
34           location for the SPL stack. U-Boot SPL switches to this after
35           board_init_f() completes, and before board_init_r() starts.
36
37 config SPL_STACK_R_ADDR
38         depends on SPL_STACK_R
39         hex "SDRAM location for SPL stack"
40         help
41           Specify the address in SDRAM for the SPL stack. This will be set up
42           before board_init_r() is called.
43
44 config SPL_STACK_R_MALLOC_SIMPLE_LEN
45         depends on SPL_STACK_R && SPL_SYS_MALLOC_SIMPLE
46         hex "Size of malloc_simple heap after switching to DRAM SPL stack"
47         default 0x100000
48         help
49           Specify the amount of the stack to use as memory pool for
50           malloc_simple after switching the stack to DRAM. This may be set
51           to give board_init_r() a larger heap then the initial heap in
52           SRAM which is limited to SYS_MALLOC_F_LEN bytes.
53
54 config SPL_SEPARATE_BSS
55         depends on SPL
56         bool "BSS section is in a different memory region from text"
57         help
58           Some platforms need a large BSS region in SPL and can provide this
59           because RAM is already set up. In this case BSS can be moved to RAM.
60           This option should then be enabled so that the correct device tree
61           location is used. Normally we put the device tree at the end of BSS
62           but with this option enabled, it goes at _image_binary_end.
63
64 config SPL_DISPLAY_PRINT
65         depends on SPL
66         bool "Display a board-specific message in SPL"
67         help
68           If this option is enabled, U-Boot will call the function
69           spl_display_print() immediately after displaying the SPL console
70           banner ("U-Boot SPL ..."). This function should be provided by
71           the board.
72
73 config SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
74         bool "MMC raw mode: by sector"
75         depends on SPL
76         default y if ARCH_SUNXI || ARCH_DAVINCI || ARCH_UNIPHIER ||ARCH_MX6 || \
77                      ARCH_ROCKCHIP || ARCH_MVEBU ||  ARCH_SOCFPGA || \
78                      ARCH_AT91 || ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || \
79                      OMAP44XX || OMAP54XX || AM33XX || AM43XX
80         help
81           Use sector number for specifying U-Boot location on MMC/SD in
82           raw mode.
83
84 config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
85         hex "Address on the MMC to load U-Boot from"
86         depends on SPL && SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
87         default 0x50 if ARCH_SUNXI
88         default 0x75 if ARCH_DAVINCI
89         default 0x80 if ARCH_UNIPHIER
90         default 0x8a if ARCH_MX6
91         default 0x100 if ARCH_ROCKCHIP
92         default 0x140 if ARCH_MVEBU
93         default 0x200 if ARCH_SOCFPGA || ARCH_AT91
94         default 0x300 if ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || OMAP44XX || \
95                          OMAP54XX || AM33XX || AM43XX
96         help
97           Address on the MMC to load U-Boot from, when the MMC is being used
98           in raw mode. Units: MMC sectors (1 sector = 512 bytes).
99
100 config TPL
101         bool
102         depends on SPL && SUPPORT_TPL
103         prompt "Enable TPL"
104         help
105           If you want to build TPL as well as the normal image and SPL, say Y.
106
107 config SPL_CRC32_SUPPORT
108         bool "Support CRC32"
109         depends on SPL_FIT
110         help
111           Enable this to support CRC32 in FIT images within SPL. This is a
112           32-bit checksum value that can be used to verify images. This is
113           the least secure type of checksum, suitable for detected
114           accidental image corruption. For secure applications you should
115           consider SHA1 or SHA256.
116
117 config SPL_MD5_SUPPORT
118         bool "Support MD5"
119         depends on SPL_FIT
120         help
121           Enable this to support MD5 in FIT images within SPL. An MD5
122           checksum is a 128-bit hash value used to check that the image
123           contents have not been corrupted. Note that MD5 is not considered
124           secure as it is possible (with a brute-force attack) to adjust the
125           image while still retaining the same MD5 hash value. For secure
126           applications where images may be changed maliciously, you should
127           consider SHA1 or SHA256.
128
129 config SPL_SHA1_SUPPORT
130         bool "Support SHA1"
131         depends on SPL_FIT
132         help
133           Enable this to support SHA1 in FIT images within SPL. A SHA1
134           checksum is a 160-bit (20-byte) hash value used to check that the
135           image contents have not been corrupted or maliciously altered.
136           While SHA1 is fairly secure it is coming to the end of its life
137           due to the expanding computing power avaiable to brute-force
138           attacks. For more security, consider SHA256.
139
140 config SPL_SHA256_SUPPORT
141         bool "Support SHA256"
142         depends on SPL_FIT
143         help
144           Enable this to support SHA256 in FIT images within SPL. A SHA256
145           checksum is a 256-bit (32-byte) hash value used to check that the
146           image contents have not been corrupted. SHA256 is recommended for
147           use in secure applications since (as at 2016) there is no known
148           feasible attack that could produce a 'collision' with differing
149           input data. Use this for the highest security. Note that only the
150           SHA256 variant is supported: SHA512 and others are not currently
151           supported in U-Boot.
152
153 config SPL_CRYPTO_SUPPORT
154         bool "Support crypto drivers"
155         depends on SPL
156         help
157           Enable crypto drivers in SPL. These drivers can be used to
158           accelerate secure boot processing in secure applications. Enable
159           this option to build the drivers in drivers/crypto as part of an
160           SPL build.
161
162 config SPL_HASH_SUPPORT
163         bool "Support hashing drivers"
164         depends on SPL
165         help
166           Enable hashing drivers in SPL. These drivers can be used to
167           accelerate secure boot processing in secure applications. Enable
168           this option to build system-specific drivers for hash acceleration
169           as part of an SPL build.
170
171 config SPL_DMA_SUPPORT
172         bool "Support DMA drivers"
173         depends on SPL
174         help
175           Enable DMA (direct-memory-access) drivers in SPL. These drivers
176           can be used to handle memory-to-peripheral data transfer without
177           the CPU moving the data. Enable this option to build the drivers
178           in drivers/dma as part of an SPL build.
179
180 config SPL_DRIVERS_MISC_SUPPORT
181         bool "Support misc drivers"
182         depends on SPL
183         help
184           Enable miscellaneous drivers in SPL. These drivers perform various
185           tasks that don't fall nicely into other categories, Enable this
186           option to build the drivers in drivers/misc as part of an SPL
187           build, for those that support building in SPL (not all drivers do).
188
189 config SPL_ENV_SUPPORT
190         bool "Support an environment"
191         depends on SPL
192         help
193           Enable environment support in SPL. The U-Boot environment provides
194           a number of settings (essentially name/value pairs) which can
195           control many aspects of U-Boot's operation. Normally this is not
196           needed in SPL as it has a much simpler task with less
197           configuration. But some boards use this to support 'Falcon' boot
198           on EXT2 and FAT, where SPL boots directly into Linux without
199           starting U-Boot first. Enabling this option will make getenv()
200           and setenv() available in SPL.
201
202 config SPL_SAVEENV
203         bool "Support save environment"
204         depends on SPL && SPL_ENV_SUPPORT
205         help
206           Enable save environment support in SPL after setenv. By default
207           the saveenv option is not provided in SPL, but some boards need
208           this support in 'Falcon' boot, where SPL need to boot from
209           different images based on environment variable set by OS. For
210           example OS may set "reboot_image" environment variable to
211           "recovery" inorder to boot recovery image by SPL. The SPL read
212           "reboot_image" and act accordingly and change the reboot_image
213           to default mode using setenv and save the environemnt.
214
215 config SPL_ETH_SUPPORT
216         bool "Support Ethernet"
217         depends on SPL_ENV_SUPPORT
218         help
219           Enable access to the network subsystem and associated Ethernet
220           drivers in SPL. This permits SPL to load U-Boot over an Ethernet
221           link rather than from an on-board peripheral. Environment support
222           is required since the network stack uses a number of environment
223           variables. See also SPL_NET_SUPPORT.
224
225 config SPL_EXT_SUPPORT
226         bool "Support EXT filesystems"
227         depends on SPL
228         help
229           Enable support for EXT2/3/4 filesystems with SPL. This permits
230           U-Boot (or Linux in Falcon mode) to be loaded from an EXT
231           filesystem from within SPL. Support for the underlying block
232           device (e.g. MMC or USB) must be enabled separately.
233
234 config SPL_FAT_SUPPORT
235         bool "Support FAT filesystems"
236         depends on SPL
237         help
238           Enable support for FAT and VFAT filesystems with SPL. This
239           permits U-Boot (or Linux in Falcon mode) to be loaded from a FAT
240           filesystem from within SPL. Support for the underlying block
241           device (e.g. MMC or USB) must be enabled separately.
242
243 config SPL_FPGA_SUPPORT
244         bool "Support FPGAs"
245         depends on SPL
246         help
247           Enable support for FPGAs in SPL. Field-programmable Gate Arrays
248           provide software-configurable hardware which is typically used to
249           implement peripherals (such as UARTs, LCD displays, MMC) or
250           accelerate custom processing functions, such as image processing
251           or machine learning. Sometimes it is useful to program the FPGA
252           as early as possible during boot, and this option can enable that
253           within SPL.
254
255 config SPL_GPIO_SUPPORT
256         bool "Support GPIO"
257         depends on SPL
258         help
259           Enable support for GPIOs (General-purpose Input/Output) in SPL.
260           GPIOs allow U-Boot to read the state of an input line (high or
261           low) and set the state of an output line. This can be used to
262           drive LEDs, control power to various system parts and read user
263           input. GPIOs can be useful in SPL to enable a 'sign-of-life' LED,
264           for example. Enable this option to build the drivers in
265           drivers/gpio as part of an SPL build.
266
267 config SPL_I2C_SUPPORT
268         bool "Support I2C"
269         depends on SPL
270         help
271           Enable support for the I2C (Inter-Integrated Circuit) bus in SPL.
272           I2C works with a clock and data line which can be driven by a
273           one or more masters or slaves. It is a fairly complex bus but is
274           widely used as it only needs two lines for communication. Speeds of
275           400kbps are typical but up to 3.4Mbps is supported by some
276           hardware. I2C can be useful in SPL to configure power management
277           ICs (PMICs) before raising the CPU clock speed, for example.
278           Enable this option to build the drivers in drivers/i2c as part of
279           an SPL build.
280
281 config SPL_LIBCOMMON_SUPPORT
282         bool "Support common libraries"
283         depends on SPL
284         help
285           Enable support for common U-Boot libraries within SPL. These
286           libraries include common code to deal with U-Boot images,
287           environment and USB, for example. This option is enabled on many
288           boards. Enable this option to build the code in common/ as part of
289           an SPL build.
290
291 config SPL_LIBDISK_SUPPORT
292         bool "Support disk paritions"
293         depends on SPL
294         help
295           Enable support for disk partitions within SPL. 'Disk' is something
296           of a misnomer as it includes non-spinning media such as flash (as
297           used in MMC and USB sticks). Partitions provide a way for a disk
298           to be split up into separate regions, with a partition table placed
299           at the start or end which describes the location and size of each
300           'partition'. These partitions are typically uses as individual block
301           devices, typically with an EXT2 or FAT filesystem in each. This
302           option enables whatever partition support has been enabled in
303           U-Boot to also be used in SPL. It brings in the code in disk/.
304
305 config SPL_LIBGENERIC_SUPPORT
306         bool "Support generic libraries"
307         depends on SPL
308         help
309           Enable support for generic U-Boot libraries within SPL. These
310           libraries include generic code to deal with device tree, hashing,
311           printf(), compression and the like. This option is enabled on many
312           boards. Enable this option to build the code in lib/ as part of an
313           SPL build.
314
315 config SPL_MMC_SUPPORT
316         bool "Support MMC"
317         depends on SPL
318         help
319           Enable support for MMC (Multimedia Card) within SPL. This enables
320           the MMC protocol implementation and allows any enabled drivers to
321           be used within SPL. MMC can be used with or without disk partition
322           support depending on the application (SPL_LIBDISK_SUPPORT). Enable
323           this option to build the drivers in drivers/mmc as part of an SPL
324           build.
325
326 config SPL_MPC8XXX_INIT_DDR_SUPPORT
327         bool "Support MPC8XXX DDR init"
328         depends on SPL
329         help
330           Enable support for DDR-SDRAM (double-data-rate synchronous dynamic
331           random-access memory) on the MPC8XXX family within SPL. This
332           allows DRAM to be set up before loading U-Boot into that DRAM,
333           where it can run.
334
335 config SPL_MTD_SUPPORT
336         bool "Support MTD drivers"
337         depends on SPL
338         help
339           Enable support for MTD (Memory Technology Device) within SPL. MTD
340           provides a block interface over raw NAND and can also be used with
341           SPI flash. This allows SPL to load U-Boot from supported MTD
342           devices. See SPL_NAND_SUPPORT and SPL_ONENAND_SUPPORT for how
343           to enable specific MTD drivers.
344
345 config SPL_MUSB_NEW_SUPPORT
346         bool "Support new Mentor Graphics USB"
347         depends on SPL
348         help
349           Enable support for Mentor Graphics USB in SPL. This is a new
350           driver used by some boards. Enable this option to build
351           the drivers in drivers/usb/musb-new as part of an SPL build. The
352           old drivers are in drivers/usb/musb.
353
354 config SPL_NAND_SUPPORT
355         bool "Support NAND flash"
356         depends on SPL
357         help
358           Enable support for NAND (Negative AND) flash in SPL. NAND flash
359           can be used to allow SPL to load U-Boot from supported devices.
360           This enables the drivers in drivers/mtd/nand as part of an SPL
361           build.
362
363 config SPL_NET_SUPPORT
364         bool "Support networking"
365         depends on SPL
366         help
367           Enable support for network devices (such as Ethernet) in SPL.
368           This permits SPL to load U-Boot over a network link rather than
369           from an on-board peripheral. Environment support is required since
370           the network stack uses a number of environment variables. See also
371           SPL_ETH_SUPPORT.
372
373 if SPL_NET_SUPPORT
374 config SPL_NET_VCI_STRING
375         string "BOOTP Vendor Class Identifier string sent by SPL"
376         help
377           As defined by RFC 2132 the vendor class identifier field can be
378           sent by the client to identify the vendor type and configuration
379           of a client.  This is often used in practice to allow for the DHCP
380           server to specify different files to load depending on if the ROM,
381           SPL or U-Boot itself makes the request
382 endif   # if SPL_NET_SUPPORT
383
384 config SPL_NO_CPU_SUPPORT
385         bool "Drop CPU code in SPL"
386         depends on SPL
387         help
388           This is specific to the ARM926EJ-S CPU. It disables the standard
389           start.S start-up code, presumably so that a replacement can be
390           used on that CPU. You should not enable it unless you know what
391           you are doing.
392
393 config SPL_NOR_SUPPORT
394         bool "Support NOR flash"
395         depends on SPL
396         help
397           Enable support for loading U-Boot from memory-mapped NOR (Negative
398           OR) flash in SPL. NOR flash is slow to write but fast to read, and
399           a memory-mapped device makes it very easy to access. Loading from
400           NOR is typically achieved with just a memcpy().
401
402 config SPL_ONENAND_SUPPORT
403         bool "Support OneNAND flash"
404         depends on SPL
405         help
406           Enable support for OneNAND (Negative AND) flash in SPL. OneNAND is
407           a type of NAND flash and therefore can be used to allow SPL to
408           load U-Boot from supported devices. This enables the drivers in
409           drivers/mtd/onenand as part of an SPL build.
410
411 config SPL_OS_BOOT
412         bool "Activate Falcon Mode"
413         depends on SPL && !TI_SECURE_DEVICE
414         default n
415         help
416           Enable booting directly to an OS from SPL.
417           for more info read doc/README.falcon
418
419 if SPL_OS_BOOT
420 config SYS_OS_BASE
421         hex "addr, where OS is found"
422         depends on SPL && SPL_NOR_SUPPORT
423         help
424           Specify the address, where the OS image is found, which
425           gets booted.
426
427 endif # SPL_OS_BOOT
428
429 config SPL_POST_MEM_SUPPORT
430         bool "Support POST drivers"
431         depends on SPL
432         help
433           Enable support for POST (Power-on Self Test) in SPL. POST is a
434           procedure that checks that the hardware (CPU or board) appears to
435           be functionally correctly. It is a sanity check that can be
436           performed before booting. This enables the drivers in post/drivers
437           as part of an SPL build.
438
439 config SPL_POWER_SUPPORT
440         bool "Support power drivers"
441         depends on SPL
442         help
443           Enable support for power control in SPL. This includes support
444           for PMICs (Power-management Integrated Circuits) and some of the
445           features provided by PMICs. In particular, voltage regulators can
446           be used to enable/disable power and vary its voltage. That can be
447           useful in SPL to turn on boot peripherals and adjust CPU voltage
448           so that the clock speed can be increased. This enables the drivers
449           in drivers/power, drivers/power/pmic and drivers/power/regulator
450           as part of an SPL build.
451
452 config SPL_RAM_SUPPORT
453         bool "Support booting from RAM"
454         depends on SPL
455         default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ
456         help
457           Enable booting of an image in RAM. The image can be preloaded or
458           it can be loaded by SPL directly into RAM (e.g. using USB).
459
460 config SPL_RAM_DEVICE
461         bool "Support booting from preloaded image in RAM"
462         depends on SPL_RAM_SUPPORT
463         default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ
464         help
465           Enable booting of an image already loaded in RAM. The image has to
466           be already in memory when SPL takes over, e.g. loaded by the boot
467           ROM.
468
469 config SPL_SATA_SUPPORT
470         bool "Support loading from SATA"
471         depends on SPL
472         help
473           Enable support for SATA (Serial AT attachment) in SPL. This allows
474           use of SATA devices such as hard drives and flash drivers for
475           loading U-Boot. SATA is used in higher-end embedded systems and
476           can provide higher performance than MMC , at somewhat higher
477           expense and power consumption. This enables loading from SATA
478           using a configured device.
479
480 config SPL_SERIAL_SUPPORT
481         bool "Support serial"
482         depends on SPL
483         help
484           Enable support for serial in SPL. This allows use of a serial UART
485           for displaying messages while SPL is running. It also brings in
486           printf() and panic() functions. This should normally be enabled
487           unless there are space reasons not to. Even then, consider
488           enabling USE_TINY_PRINTF which is a small printf() version.
489
490 config SPL_SPI_FLASH_SUPPORT
491         bool "Support SPI flash drivers"
492         depends on SPL
493         help
494           Enable support for using SPI flash in SPL, and loading U-Boot from
495           SPI flash. SPI flash (Serial Peripheral Bus flash) is named after
496           the SPI bus that is used to connect it to a system. It is a simple
497           but fast bidirectional 4-wire bus (clock, chip select and two data
498           lines). This enables the drivers in drivers/mtd/spi as part of an
499           SPL build. This normally requires SPL_SPI_SUPPORT.
500
501 config SPL_SPI_SUPPORT
502         bool "Support SPI drivers"
503         depends on SPL
504         help
505           Enable support for using SPI in SPL. This is used for connecting
506           to SPI flash for loading U-Boot. See SPL_SPI_FLASH_SUPPORT for
507           more details on that. The SPI driver provides the transport for
508           data between the SPI flash and the CPU. This option can be used to
509           enable SPI drivers that are needed for other purposes also, such
510           as a SPI PMIC.
511
512 config SPL_USB_HOST_SUPPORT
513         bool "Support USB host drivers"
514         depends on SPL
515         help
516           Enable access to USB (Universal Serial Bus) host devices so that
517           SPL can load U-Boot from a connected USB peripheral, such as a USB
518           flash stick. While USB takes a little longer to start up than most
519           buses, it is very flexible since many different types of storage
520           device can be attached. This option enables the drivers in
521           drivers/usb/host as part of an SPL build.
522
523 config SPL_USB_SUPPORT
524         bool "Support loading from USB"
525         depends on SPL_USB_HOST_SUPPORT
526         help
527           Enable support for USB devices in SPL. This allows use of USB
528           devices such as hard drives and flash drivers for loading U-Boot.
529           The actual drivers are enabled separately using the normal U-Boot
530           config options. This enables loading from USB using a configured
531           device.
532
533 config SPL_USB_GADGET_SUPPORT
534         bool "Suppport USB Gadget drivers"
535         depends on SPL
536         help
537           Enable USB Gadget API which allows to enable USB device functions
538           in SPL.
539
540 if SPL_USB_GADGET_SUPPORT
541
542 config SPL_USBETH_SUPPORT
543         bool "Support USB Ethernet drivers"
544         help
545           Enable access to the USB network subsystem and associated
546           drivers in SPL. This permits SPL to load U-Boot over a
547           USB-connected Ethernet link (such as a USB Ethernet dongle) rather
548           than from an onboard peripheral. Environment support is required
549           since the network stack uses a number of environment variables.
550           See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT.
551
552 config SPL_DFU_SUPPORT
553         bool "Support DFU (Device Firmware Upgarde)"
554         select SPL_HASH_SUPPORT
555         help
556           This feature enables the DFU (Device Firmware Upgarde) in SPL with
557           RAM memory device support. The ROM code will load and execute
558           the SPL built with dfu. The user can load binaries (u-boot/kernel) to
559           selected device partition from host-pc using dfu-utils.
560           This feature is useful to flash the binaries to factory or bare-metal
561           boards using USB interface.
562
563 choice
564         bool "DFU device selection"
565         depends on SPL_DFU_SUPPORT
566
567 config SPL_DFU_RAM
568         bool "RAM device"
569         depends on SPL_DFU_SUPPORT && SPL_RAM_SUPPORT
570         help
571          select RAM/DDR memory device for loading binary images
572          (u-boot/kernel) to the selected device partition using
573          DFU and execute the u-boot/kernel from RAM.
574
575 endchoice
576
577 endif
578
579 config SPL_WATCHDOG_SUPPORT
580         bool "Support watchdog drivers"
581         depends on SPL
582         help
583           Enable support for watchdog drivers in SPL. A watchdog is
584           typically a hardware peripheral which can reset the system when it
585           detects no activity for a while (such as a software crash). This
586           enables the drivers in drivers/watchdog as part of an SPL build.
587
588 config SPL_YMODEM_SUPPORT
589         bool "Support loading using Ymodem"
590         depends on SPL
591         help
592           While loading from serial is slow it can be a useful backup when
593           there is no other option. The Ymodem protocol provides a reliable
594           means of transmitting U-Boot over a serial line for using in SPL,
595           with a checksum to ensure correctness.
596
597 config TPL_ENV_SUPPORT
598         bool "Support an environment"
599         depends on TPL
600         help
601           Enable environment support in TPL. See SPL_ENV_SUPPORT for details.
602
603 config TPL_I2C_SUPPORT
604         bool "Support I2C"
605         depends on TPL
606         help
607           Enable support for the I2C bus in SPL. See SPL_I2C_SUPPORT for
608           details.
609
610 config TPL_LIBCOMMON_SUPPORT
611         bool "Support common libraries"
612         depends on TPL
613         help
614           Enable support for common U-Boot libraries within TPL. See
615           SPL_LIBCOMMON_SUPPORT for details.
616
617 config TPL_LIBGENERIC_SUPPORT
618         bool "Support generic libraries"
619         depends on TPL
620         help
621           Enable support for generic U-Boot libraries within TPL. See
622           SPL_LIBGENERIC_SUPPORT for details.
623
624 config TPL_MPC8XXX_INIT_DDR_SUPPORT
625         bool "Support MPC8XXX DDR init"
626         depends on TPL
627         help
628           Enable support for DDR-SDRAM on the MPC8XXX family within TPL. See
629           SPL_MPC8XXX_INIT_DDR_SUPPORT for details.
630
631 config TPL_MMC_SUPPORT
632         bool "Support MMC"
633         depends on TPL
634         help
635           Enable support for MMC within TPL. See SPL_MMC_SUPPORT for details.
636
637 config TPL_NAND_SUPPORT
638         bool "Support NAND flash"
639         depends on TPL
640         help
641           Enable support for NAND in SPL. See SPL_NAND_SUPPORT for details.
642
643 config TPL_SERIAL_SUPPORT
644         bool "Support serial"
645         depends on TPL
646         help
647           Enable support for serial in SPL. See SPL_SERIAL_SUPPORT for
648           details.
649
650 config TPL_SPI_FLASH_SUPPORT
651         bool "Support SPI flash drivers"
652         depends on TPL
653         help
654           Enable support for using SPI flash in SPL. See SPL_SPI_FLASH_SUPPORT
655           for details.
656
657 config TPL_SPI_SUPPORT
658         bool "Support SPI drivers"
659         depends on TPL
660         help
661           Enable support for using SPI in SPL. See SPL_SPI_SUPPORT for
662           details.
663
664 endmenu