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