Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xx
[platform/kernel/u-boot.git] / lib / efi_loader / Kconfig
1 config EFI_LOADER
2         bool "Support running UEFI applications"
3         depends on OF_LIBFDT && ( \
4                 ARM && (SYS_CPU = arm1136 || \
5                         SYS_CPU = arm1176 || \
6                         SYS_CPU = armv7   || \
7                         SYS_CPU = armv8)  || \
8                 X86 || RISCV || SANDBOX)
9         # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB
10         depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
11         # We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
12         depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
13         default y
14         select LIB_UUID
15         select HAVE_BLOCK_DEVICE
16         select REGEX
17         imply CFB_CONSOLE_ANSI
18         help
19           Select this option if you want to run UEFI applications (like GNU
20           GRUB or iPXE) on top of U-Boot. If this option is enabled, U-Boot
21           will expose the UEFI API to a loaded application, enabling it to
22           reuse U-Boot's device drivers.
23
24 if EFI_LOADER
25
26 config EFI_GET_TIME
27         bool "GetTime() runtime service"
28         depends on DM_RTC
29         default y
30         help
31           Provide the GetTime() runtime service at boottime. This service
32           can be used by an EFI application to read the real time clock.
33
34 config EFI_SET_TIME
35         bool "SetTime() runtime service"
36         depends on EFI_GET_TIME
37         default n
38         help
39           Provide the SetTime() runtime service at boottime. This service
40           can be used by an EFI application to adjust the real time clock.
41
42 config EFI_DEVICE_PATH_TO_TEXT
43         bool "Device path to text protocol"
44         default y
45         help
46           The device path to text protocol converts device nodes and paths to
47           human readable strings.
48
49 config EFI_LOADER_HII
50         bool "HII protocols"
51         default y
52         help
53           The Human Interface Infrastructure is a complicated framework that
54           allows UEFI applications to draw fancy menus and hook strings using
55           a translation framework.
56
57           U-Boot implements enough of its features to be able to run the UEFI
58           Shell, but not more than that.
59
60 config EFI_UNICODE_COLLATION_PROTOCOL2
61         bool "Unicode collation protocol"
62         default y
63         help
64           The Unicode collation protocol is used for lexical comparisons. It is
65           required to run the UEFI shell.
66
67 if EFI_UNICODE_COLLATION_PROTOCOL2
68
69 config EFI_UNICODE_CAPITALIZATION
70         bool "Support Unicode capitalization"
71         default y
72         help
73           Select this option to enable correct handling of the capitalization of
74           Unicode codepoints in the range 0x0000-0xffff. If this option is not
75           set, only the the correct handling of the letters of the codepage
76           used by the FAT file system is ensured.
77
78 config EFI_UNICODE_COLLATION_PROTOCOL
79         bool "Deprecated version of the Unicode collation protocol"
80         default n
81         help
82           In EFI 1.10 a version of the Unicode collation protocol using ISO
83           639-2 language codes existed. This protocol is not part of the UEFI
84           specification any longer. Unfortunately it is required to run the
85           UEFI Self Certification Test (SCT) II, version 2.6, 2017.
86
87           Choose this option for testing only. It is bound to be removed.
88
89 endif
90
91 config EFI_LOADER_BOUNCE_BUFFER
92         bool "EFI Applications use bounce buffers for DMA operations"
93         depends on ARM64
94         default n
95         help
96           Some hardware does not support DMA to full 64bit addresses. For this
97           hardware we can create a bounce buffer so that payloads don't have to
98           worry about platform details.
99
100 config EFI_PLATFORM_LANG_CODES
101         string "Language codes supported by firmware"
102         default "en-US"
103         help
104           This value is used to initialize the PlatformLangCodes variable. Its
105           value is a semicolon (;) separated list of language codes in native
106           RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
107           to initialize the PlatformLang variable.
108
109 config EFI_HAVE_RUNTIME_RESET
110         # bool "Reset runtime service is available"
111         bool
112         default y
113         depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || SYSRESET_X86
114
115 config EFI_GRUB_ARM32_WORKAROUND
116         bool "Workaround for GRUB on 32bit ARM"
117         default y
118         depends on ARM && !ARM64
119         help
120           GRUB prior to version 2.04 requires U-Boot to disable caches. This
121           workaround currently is also needed on systems with caches that
122           cannot be managed via CP15.
123 endif