efi_loader: EFI_RNG_PROTOCOL
[oweals/u-boot.git] / lib / efi_loader / Kconfig
index 6501ee56aaf110ea152e7e7bbf97a6e827aa168f..76f43eca95f10a9b1dc5aba1a6a5dd5af072daab 100644 (file)
@@ -1,15 +1,22 @@
 config EFI_LOADER
        bool "Support running UEFI applications"
-       depends on (ARM || X86 || RISCV || SANDBOX) && OF_LIBFDT
+       depends on OF_LIBFDT && ( \
+               ARM && (SYS_CPU = arm1136 || \
+                       SYS_CPU = arm1176 || \
+                       SYS_CPU = armv7   || \
+                       SYS_CPU = armv8)  || \
+               X86 || RISCV || SANDBOX)
        # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB
        depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
        # We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
        depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
-       default y
+       default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
        select LIB_UUID
        select HAVE_BLOCK_DEVICE
        select REGEX
        imply CFB_CONSOLE_ANSI
+       imply USB_KEYBOARD_FN_KEYS
+       imply VIDEO_ANSI
        help
          Select this option if you want to run UEFI applications (like GNU
          GRUB or iPXE) on top of U-Boot. If this option is enabled, U-Boot
@@ -18,6 +25,22 @@ config EFI_LOADER
 
 if EFI_LOADER
 
+config EFI_GET_TIME
+       bool "GetTime() runtime service"
+       depends on DM_RTC
+       default y
+       help
+         Provide the GetTime() runtime service at boottime. This service
+         can be used by an EFI application to read the real time clock.
+
+config EFI_SET_TIME
+       bool "SetTime() runtime service"
+       depends on EFI_GET_TIME
+       default n
+       help
+         Provide the SetTime() runtime service at boottime. This service
+         can be used by an EFI application to adjust the real time clock.
+
 config EFI_DEVICE_PATH_TO_TEXT
        bool "Device path to text protocol"
        default y
@@ -36,14 +59,14 @@ config EFI_LOADER_HII
          U-Boot implements enough of its features to be able to run the UEFI
          Shell, but not more than that.
 
-config EFI_UNICODE_COLLATION_PROTOCOL
+config EFI_UNICODE_COLLATION_PROTOCOL2
        bool "Unicode collation protocol"
        default y
        help
          The Unicode collation protocol is used for lexical comparisons. It is
          required to run the UEFI shell.
 
-if EFI_UNICODE_COLLATION_PROTOCOL
+if EFI_UNICODE_COLLATION_PROTOCOL2
 
 config EFI_UNICODE_CAPITALIZATION
        bool "Support Unicode capitalization"
@@ -54,6 +77,17 @@ config EFI_UNICODE_CAPITALIZATION
          set, only the the correct handling of the letters of the codepage
          used by the FAT file system is ensured.
 
+config EFI_UNICODE_COLLATION_PROTOCOL
+       bool "Deprecated version of the Unicode collation protocol"
+       default n
+       help
+         In EFI 1.10 a version of the Unicode collation protocol using ISO
+         639-2 language codes existed. This protocol is not part of the UEFI
+         specification any longer. Unfortunately it is required to run the
+         UEFI Self Certification Test (SCT) II, version 2.6, 2017.
+
+         Choose this option for testing only. It is bound to be removed.
+
 endif
 
 config EFI_LOADER_BOUNCE_BUFFER
@@ -74,4 +108,26 @@ config EFI_PLATFORM_LANG_CODES
          RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
          to initialize the PlatformLang variable.
 
+config EFI_HAVE_RUNTIME_RESET
+       # bool "Reset runtime service is available"
+       bool
+       default y
+       depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || SYSRESET_X86
+
+config EFI_GRUB_ARM32_WORKAROUND
+       bool "Workaround for GRUB on 32bit ARM"
+       default y
+       depends on ARM && !ARM64
+       help
+         GRUB prior to version 2.04 requires U-Boot to disable caches. This
+         workaround currently is also needed on systems with caches that
+         cannot be managed via CP15.
+
+config EFI_RNG_PROTOCOL
+       bool "EFI_RNG_PROTOCOL support"
+       depends on DM_RNG
+       help
+         Provide a EFI_RNG_PROTOCOL implementation using the hardware random
+         number generator of the platform.
+
 endif