]> git.sur5r.net Git - u-boot/blob - common/spl/Kconfig
spl: Allow PCI drivers to be used in SPL
[u-boot] / 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_PCI_SUPPORT
439         bool "Support PCI drivers"
440         depends on SPL
441         help
442           Enable support for PCI in SPL. For platforms that need PCI to boot,
443           or must perform some init using PCI in SPL, this provides the
444           necessary driver support. This enables the drivers in drivers/pci
445           as part of an SPL build.
446
447 config SPL_POST_MEM_SUPPORT
448         bool "Support POST drivers"
449         depends on SPL
450         help
451           Enable support for POST (Power-on Self Test) in SPL. POST is a
452           procedure that checks that the hardware (CPU or board) appears to
453           be functionally correctly. It is a sanity check that can be
454           performed before booting. This enables the drivers in post/drivers
455           as part of an SPL build.
456
457 config SPL_POWER_SUPPORT
458         bool "Support power drivers"
459         depends on SPL
460         help
461           Enable support for power control in SPL. This includes support
462           for PMICs (Power-management Integrated Circuits) and some of the
463           features provided by PMICs. In particular, voltage regulators can
464           be used to enable/disable power and vary its voltage. That can be
465           useful in SPL to turn on boot peripherals and adjust CPU voltage
466           so that the clock speed can be increased. This enables the drivers
467           in drivers/power, drivers/power/pmic and drivers/power/regulator
468           as part of an SPL build.
469
470 config SPL_RAM_SUPPORT
471         bool "Support booting from RAM"
472         depends on SPL
473         default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ
474         help
475           Enable booting of an image in RAM. The image can be preloaded or
476           it can be loaded by SPL directly into RAM (e.g. using USB).
477
478 config SPL_RAM_DEVICE
479         bool "Support booting from preloaded image in RAM"
480         depends on SPL_RAM_SUPPORT
481         default y if MICROBLAZE || ARCH_SOCFPGA || TEGRA || ARCH_ZYNQ
482         help
483           Enable booting of an image already loaded in RAM. The image has to
484           be already in memory when SPL takes over, e.g. loaded by the boot
485           ROM.
486
487 config SPL_SATA_SUPPORT
488         bool "Support loading from SATA"
489         depends on SPL
490         help
491           Enable support for SATA (Serial AT attachment) in SPL. This allows
492           use of SATA devices such as hard drives and flash drivers for
493           loading U-Boot. SATA is used in higher-end embedded systems and
494           can provide higher performance than MMC , at somewhat higher
495           expense and power consumption. This enables loading from SATA
496           using a configured device.
497
498 config SPL_SERIAL_SUPPORT
499         bool "Support serial"
500         depends on SPL
501         help
502           Enable support for serial in SPL. This allows use of a serial UART
503           for displaying messages while SPL is running. It also brings in
504           printf() and panic() functions. This should normally be enabled
505           unless there are space reasons not to. Even then, consider
506           enabling USE_TINY_PRINTF which is a small printf() version.
507
508 config SPL_SPI_FLASH_SUPPORT
509         bool "Support SPI flash drivers"
510         depends on SPL
511         help
512           Enable support for using SPI flash in SPL, and loading U-Boot from
513           SPI flash. SPI flash (Serial Peripheral Bus flash) is named after
514           the SPI bus that is used to connect it to a system. It is a simple
515           but fast bidirectional 4-wire bus (clock, chip select and two data
516           lines). This enables the drivers in drivers/mtd/spi as part of an
517           SPL build. This normally requires SPL_SPI_SUPPORT.
518
519 config SPL_SPI_SUPPORT
520         bool "Support SPI drivers"
521         depends on SPL
522         help
523           Enable support for using SPI in SPL. This is used for connecting
524           to SPI flash for loading U-Boot. See SPL_SPI_FLASH_SUPPORT for
525           more details on that. The SPI driver provides the transport for
526           data between the SPI flash and the CPU. This option can be used to
527           enable SPI drivers that are needed for other purposes also, such
528           as a SPI PMIC.
529
530 config SPL_USB_HOST_SUPPORT
531         bool "Support USB host drivers"
532         depends on SPL
533         help
534           Enable access to USB (Universal Serial Bus) host devices so that
535           SPL can load U-Boot from a connected USB peripheral, such as a USB
536           flash stick. While USB takes a little longer to start up than most
537           buses, it is very flexible since many different types of storage
538           device can be attached. This option enables the drivers in
539           drivers/usb/host as part of an SPL build.
540
541 config SPL_USB_SUPPORT
542         bool "Support loading from USB"
543         depends on SPL_USB_HOST_SUPPORT
544         help
545           Enable support for USB devices in SPL. This allows use of USB
546           devices such as hard drives and flash drivers for loading U-Boot.
547           The actual drivers are enabled separately using the normal U-Boot
548           config options. This enables loading from USB using a configured
549           device.
550
551 config SPL_USB_GADGET_SUPPORT
552         bool "Suppport USB Gadget drivers"
553         depends on SPL
554         help
555           Enable USB Gadget API which allows to enable USB device functions
556           in SPL.
557
558 if SPL_USB_GADGET_SUPPORT
559
560 config SPL_USBETH_SUPPORT
561         bool "Support USB Ethernet drivers"
562         help
563           Enable access to the USB network subsystem and associated
564           drivers in SPL. This permits SPL to load U-Boot over a
565           USB-connected Ethernet link (such as a USB Ethernet dongle) rather
566           than from an onboard peripheral. Environment support is required
567           since the network stack uses a number of environment variables.
568           See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT.
569
570 config SPL_DFU_SUPPORT
571         bool "Support DFU (Device Firmware Upgarde)"
572         select SPL_HASH_SUPPORT
573         help
574           This feature enables the DFU (Device Firmware Upgarde) in SPL with
575           RAM memory device support. The ROM code will load and execute
576           the SPL built with dfu. The user can load binaries (u-boot/kernel) to
577           selected device partition from host-pc using dfu-utils.
578           This feature is useful to flash the binaries to factory or bare-metal
579           boards using USB interface.
580
581 choice
582         bool "DFU device selection"
583         depends on SPL_DFU_SUPPORT
584
585 config SPL_DFU_RAM
586         bool "RAM device"
587         depends on SPL_DFU_SUPPORT && SPL_RAM_SUPPORT
588         help
589          select RAM/DDR memory device for loading binary images
590          (u-boot/kernel) to the selected device partition using
591          DFU and execute the u-boot/kernel from RAM.
592
593 endchoice
594
595 endif
596
597 config SPL_WATCHDOG_SUPPORT
598         bool "Support watchdog drivers"
599         depends on SPL
600         help
601           Enable support for watchdog drivers in SPL. A watchdog is
602           typically a hardware peripheral which can reset the system when it
603           detects no activity for a while (such as a software crash). This
604           enables the drivers in drivers/watchdog as part of an SPL build.
605
606 config SPL_YMODEM_SUPPORT
607         bool "Support loading using Ymodem"
608         depends on SPL
609         help
610           While loading from serial is slow it can be a useful backup when
611           there is no other option. The Ymodem protocol provides a reliable
612           means of transmitting U-Boot over a serial line for using in SPL,
613           with a checksum to ensure correctness.
614
615 config TPL_ENV_SUPPORT
616         bool "Support an environment"
617         depends on TPL
618         help
619           Enable environment support in TPL. See SPL_ENV_SUPPORT for details.
620
621 config TPL_I2C_SUPPORT
622         bool "Support I2C"
623         depends on TPL
624         help
625           Enable support for the I2C bus in SPL. See SPL_I2C_SUPPORT for
626           details.
627
628 config TPL_LIBCOMMON_SUPPORT
629         bool "Support common libraries"
630         depends on TPL
631         help
632           Enable support for common U-Boot libraries within TPL. See
633           SPL_LIBCOMMON_SUPPORT for details.
634
635 config TPL_LIBGENERIC_SUPPORT
636         bool "Support generic libraries"
637         depends on TPL
638         help
639           Enable support for generic U-Boot libraries within TPL. See
640           SPL_LIBGENERIC_SUPPORT for details.
641
642 config TPL_MPC8XXX_INIT_DDR_SUPPORT
643         bool "Support MPC8XXX DDR init"
644         depends on TPL
645         help
646           Enable support for DDR-SDRAM on the MPC8XXX family within TPL. See
647           SPL_MPC8XXX_INIT_DDR_SUPPORT for details.
648
649 config TPL_MMC_SUPPORT
650         bool "Support MMC"
651         depends on TPL
652         help
653           Enable support for MMC within TPL. See SPL_MMC_SUPPORT for details.
654
655 config TPL_NAND_SUPPORT
656         bool "Support NAND flash"
657         depends on TPL
658         help
659           Enable support for NAND in SPL. See SPL_NAND_SUPPORT for details.
660
661 config TPL_SERIAL_SUPPORT
662         bool "Support serial"
663         depends on TPL
664         help
665           Enable support for serial in SPL. See SPL_SERIAL_SUPPORT for
666           details.
667
668 config TPL_SPI_FLASH_SUPPORT
669         bool "Support SPI flash drivers"
670         depends on TPL
671         help
672           Enable support for using SPI flash in SPL. See SPL_SPI_FLASH_SUPPORT
673           for details.
674
675 config TPL_SPI_SUPPORT
676         bool "Support SPI drivers"
677         depends on TPL
678         help
679           Enable support for using SPI in SPL. See SPL_SPI_SUPPORT for
680           details.
681
682 endmenu