Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[oweals/u-boot.git] / lib / efi_loader / Kconfig
1 config EFI_LOADER
2         bool "Support running UEFI applications"
3         depends on (ARM || X86 || RISCV || SANDBOX) && OF_LIBFDT
4         # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB
5         depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
6         # We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
7         depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
8         default y
9         select LIB_UUID
10         select HAVE_BLOCK_DEVICE
11         select REGEX
12         imply CFB_CONSOLE_ANSI
13         help
14           Select this option if you want to run UEFI applications (like GNU
15           GRUB or iPXE) on top of U-Boot. If this option is enabled, U-Boot
16           will expose the UEFI API to a loaded application, enabling it to
17           reuse U-Boot's device drivers.
18
19 if EFI_LOADER
20
21 config EFI_DEVICE_PATH_TO_TEXT
22         bool "Device path to text protocol"
23         default y
24         help
25           The device path to text protocol converts device nodes and paths to
26           human readable strings.
27
28 config EFI_LOADER_HII
29         bool "HII protocols"
30         default y
31         help
32           The Human Interface Infrastructure is a complicated framework that
33           allows UEFI applications to draw fancy menus and hook strings using
34           a translation framework.
35
36           U-Boot implements enough of its features to be able to run the UEFI
37           Shell, but not more than that.
38
39 config EFI_UNICODE_COLLATION_PROTOCOL2
40         bool "Unicode collation protocol"
41         default y
42         help
43           The Unicode collation protocol is used for lexical comparisons. It is
44           required to run the UEFI shell.
45
46 if EFI_UNICODE_COLLATION_PROTOCOL2
47
48 config EFI_UNICODE_CAPITALIZATION
49         bool "Support Unicode capitalization"
50         default y
51         help
52           Select this option to enable correct handling of the capitalization of
53           Unicode codepoints in the range 0x0000-0xffff. If this option is not
54           set, only the the correct handling of the letters of the codepage
55           used by the FAT file system is ensured.
56
57 config EFI_UNICODE_COLLATION_PROTOCOL
58         bool "Deprecated version of the Unicode collation protocol"
59         default n
60         help
61           In EFI 1.10 a version of the Unicode collation protocol using ISO
62           639-2 language codes existed. This protocol is not part of the UEFI
63           specification any longer. Unfortunately it is required to run the
64           UEFI Self Certification Test (SCT) II, version 2.6, 2017.
65
66           Choose this option for testing only. It is bound to be removed.
67
68 endif
69
70 config EFI_LOADER_BOUNCE_BUFFER
71         bool "EFI Applications use bounce buffers for DMA operations"
72         depends on ARM64
73         default n
74         help
75           Some hardware does not support DMA to full 64bit addresses. For this
76           hardware we can create a bounce buffer so that payloads don't have to
77           worry about platform details.
78
79 config EFI_PLATFORM_LANG_CODES
80         string "Language codes supported by firmware"
81         default "en-US"
82         help
83           This value is used to initialize the PlatformLangCodes variable. Its
84           value is a semicolon (;) separated list of language codes in native
85           RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
86           to initialize the PlatformLang variable.
87
88 endif