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