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