spl: add USB Gadget config option
[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 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_SATA_SUPPORT
453         bool "Support loading from SATA"
454         depends on SPL
455         help
456           Enable support for SATA (Serial AT attachment) in SPL. This allows
457           use of SATA devices such as hard drives and flash drivers for
458           loading U-Boot. SATA is used in higher-end embedded systems and
459           can provide higher performance than MMC , at somewhat higher
460           expense and power consumption. This enables loading from SATA
461           using a configured device.
462
463 config SPL_SERIAL_SUPPORT
464         bool "Support serial"
465         depends on SPL
466         help
467           Enable support for serial in SPL. This allows use of a serial UART
468           for displaying messages while SPL is running. It also brings in
469           printf() and panic() functions. This should normally be enabled
470           unless there are space reasons not to. Even then, consider
471           enabling USE_TINY_PRINTF which is a small printf() version.
472
473 config SPL_SPI_FLASH_SUPPORT
474         bool "Support SPI flash drivers"
475         depends on SPL
476         help
477           Enable support for using SPI flash in SPL, and loading U-Boot from
478           SPI flash. SPI flash (Serial Peripheral Bus flash) is named after
479           the SPI bus that is used to connect it to a system. It is a simple
480           but fast bidirectional 4-wire bus (clock, chip select and two data
481           lines). This enables the drivers in drivers/mtd/spi as part of an
482           SPL build. This normally requires SPL_SPI_SUPPORT.
483
484 config SPL_SPI_SUPPORT
485         bool "Support SPI drivers"
486         depends on SPL
487         help
488           Enable support for using SPI in SPL. This is used for connecting
489           to SPI flash for loading U-Boot. See SPL_SPI_FLASH_SUPPORT for
490           more details on that. The SPI driver provides the transport for
491           data between the SPI flash and the CPU. This option can be used to
492           enable SPI drivers that are needed for other purposes also, such
493           as a SPI PMIC.
494
495 config SPL_USB_HOST_SUPPORT
496         bool "Support USB host drivers"
497         depends on SPL
498         help
499           Enable access to USB (Universal Serial Bus) host devices so that
500           SPL can load U-Boot from a connected USB peripheral, such as a USB
501           flash stick. While USB takes a little longer to start up than most
502           buses, it is very flexible since many different types of storage
503           device can be attached. This option enables the drivers in
504           drivers/usb/host as part of an SPL build.
505
506 config SPL_USB_SUPPORT
507         bool "Support loading from USB"
508         depends on SPL_USB_HOST_SUPPORT
509         help
510           Enable support for USB devices in SPL. This allows use of USB
511           devices such as hard drives and flash drivers for loading U-Boot.
512           The actual drivers are enabled separately using the normal U-Boot
513           config options. This enables loading from USB using a configured
514           device.
515
516 config SPL_USB_GADGET_SUPPORT
517         bool "Suppport USB Gadget drivers"
518         depends on SPL
519         help
520           Enable USB Gadget API which allows to enable USB device functions
521           in SPL.
522
523 if SPL_USB_GADGET_SUPPORT
524
525 config SPL_USBETH_SUPPORT
526         bool "Support USB Ethernet drivers"
527         help
528           Enable access to the USB network subsystem and associated
529           drivers in SPL. This permits SPL to load U-Boot over a
530           USB-connected Ethernet link (such as a USB Ethernet dongle) rather
531           than from an onboard peripheral. Environment support is required
532           since the network stack uses a number of environment variables.
533           See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT.
534
535 config SPL_DFU_SUPPORT
536         bool "Support DFU (Device Firmware Upgarde)"
537         select SPL_HASH_SUPPORT
538         help
539           This feature enables the DFU (Device Firmware Upgarde) in SPL with
540           RAM memory device support. The ROM code will load and execute
541           the SPL built with dfu. The user can load binaries (u-boot/kernel) to
542           selected device partition from host-pc using dfu-utils.
543           This feature is useful to flash the binaries to factory or bare-metal
544           boards using USB interface.
545
546 choice
547         bool "DFU device selection"
548         depends on SPL_DFU_SUPPORT
549
550 config SPL_DFU_RAM
551         bool "RAM device"
552         depends on SPL_DFU_SUPPORT
553         help
554          select RAM/DDR memory device for loading binary images
555          (u-boot/kernel) to the selected device partition using
556          DFU and execute the u-boot/kernel from RAM.
557
558 endchoice
559
560 endif
561
562 config SPL_WATCHDOG_SUPPORT
563         bool "Support watchdog drivers"
564         depends on SPL
565         help
566           Enable support for watchdog drivers in SPL. A watchdog is
567           typically a hardware peripheral which can reset the system when it
568           detects no activity for a while (such as a software crash). This
569           enables the drivers in drivers/watchdog as part of an SPL build.
570
571 config SPL_YMODEM_SUPPORT
572         bool "Support loading using Ymodem"
573         depends on SPL
574         help
575           While loading from serial is slow it can be a useful backup when
576           there is no other option. The Ymodem protocol provides a reliable
577           means of transmitting U-Boot over a serial line for using in SPL,
578           with a checksum to ensure correctness.
579
580 config TPL_ENV_SUPPORT
581         bool "Support an environment"
582         depends on TPL
583         help
584           Enable environment support in TPL. See SPL_ENV_SUPPORT for details.
585
586 config TPL_I2C_SUPPORT
587         bool "Support I2C"
588         depends on TPL
589         help
590           Enable support for the I2C bus in SPL. See SPL_I2C_SUPPORT for
591           details.
592
593 config TPL_LIBCOMMON_SUPPORT
594         bool "Support common libraries"
595         depends on TPL
596         help
597           Enable support for common U-Boot libraries within TPL. See
598           SPL_LIBCOMMON_SUPPORT for details.
599
600 config TPL_LIBGENERIC_SUPPORT
601         bool "Support generic libraries"
602         depends on TPL
603         help
604           Enable support for generic U-Boot libraries within TPL. See
605           SPL_LIBGENERIC_SUPPORT for details.
606
607 config TPL_MPC8XXX_INIT_DDR_SUPPORT
608         bool "Support MPC8XXX DDR init"
609         depends on TPL
610         help
611           Enable support for DDR-SDRAM on the MPC8XXX family within TPL. See
612           SPL_MPC8XXX_INIT_DDR_SUPPORT for details.
613
614 config TPL_MMC_SUPPORT
615         bool "Support MMC"
616         depends on TPL
617         help
618           Enable support for MMC within TPL. See SPL_MMC_SUPPORT for details.
619
620 config TPL_NAND_SUPPORT
621         bool "Support NAND flash"
622         depends on TPL
623         help
624           Enable support for NAND in SPL. See SPL_NAND_SUPPORT for details.
625
626 config TPL_SERIAL_SUPPORT
627         bool "Support serial"
628         depends on TPL
629         help
630           Enable support for serial in SPL. See SPL_SERIAL_SUPPORT for
631           details.
632
633 config TPL_SPI_FLASH_SUPPORT
634         bool "Support SPI flash drivers"
635         depends on TPL
636         help
637           Enable support for using SPI flash in SPL. See SPL_SPI_FLASH_SUPPORT
638           for details.
639
640 config TPL_SPI_SUPPORT
641         bool "Support SPI drivers"
642         depends on TPL
643         help
644           Enable support for using SPI in SPL. See SPL_SPI_SUPPORT for
645           details.
646
647 endmenu