diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index ec02957b87..60af577fc3 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -189,6 +189,9 @@ $(obj)/UEFIPAYLOAD.fd: $(DOTCONFIG) CONFIG_CPU_XTAL_HZ=$(CONFIG_CPU_XTAL_HZ) \ CONFIG_SMMSTORE_V2=$(CONFIG_SMMSTORE_V2) \ CONFIG_EDK2_SECURE_BOOT_SUPPORT=$(CONFIG_EDK2_SECURE_BOOT_SUPPORT) \ + CONFIG_EDK2_GOP_DRIVER=$(CONFIG_EDK2_GOP_DRIVER) \ + CONFIG_EDK2_GOP_FILE=$(CONFIG_EDK2_GOP_FILE) \ + CONFIG_INTEL_GMA_VBT_FILE=$(CONFIG_INTEL_GMA_VBT_FILE) \ GCC_CC_x86_32=$(GCC_CC_x86_32) \ GCC_CC_x86_64=$(GCC_CC_x86_64) \ GCC_CC_arm=$(GCC_CC_arm) \ diff --git a/payloads/external/edk2/Kconfig b/payloads/external/edk2/Kconfig index ddc521c11b..6fdb26472a 100644 --- a/payloads/external/edk2/Kconfig +++ b/payloads/external/edk2/Kconfig @@ -262,6 +262,20 @@ config EDK2_SECURE_BOOT_SUPPORT Select this option to enable UEFI SecureBoot support in edk2. UEFI SecureBoot will be disabled by default and can be enabled from the menu option. +config EDK2_GOP_DRIVER + bool "Add a GOP driver to the Tianocore build" + depends on INTEL_GMA_ADD_VBT && NO_GFX_INIT && (EDK2_REPO_MRCHROMEBOX || EDK2_REPO_CUSTOM) + default y if INTEL_GMA_ADD_VBT && NO_GFX_INIT && EDK2_REPO_MRCHROMEBOX + help + Select this option to have edk2 use an external GOP driver for display init. + +config EDK2_GOP_FILE + string "GOP driver file" + depends on EDK2_GOP_DRIVER + default "IntelGopDriver.efi" + help + The name of the GOP driver file passed to edk2. + config EDK2_CUSTOM_BUILD_PARAMS string "edk2 additional custom build parameters" default "-D VARIABLE_SUPPORT=SMMSTORE" if EDK2_REPO_MRCHROMEBOX && SMMSTORE_V2 diff --git a/payloads/external/edk2/Makefile b/payloads/external/edk2/Makefile index ce99ba479c..0d1e169302 100644 --- a/payloads/external/edk2/Makefile +++ b/payloads/external/edk2/Makefile @@ -119,6 +119,10 @@ endif ifeq ($(CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS), y) BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdPcieResizableBarSupport=TRUE endif +# GOP_DRIVER = FALSE +ifeq ($(CONFIG_EDK2_GOP_DRIVER), y) +BUILD_STR += -D USE_PLATFORM_GOP=TRUE +endif # # EDKII has the below PCDs that are relevant to coreboot: @@ -191,6 +195,13 @@ logo: $(EDK2_PATH) BMP3:$(EDK2_PATH)/MdeModulePkg/Logo/Logo.bmp;; \ esac \ +gop_driver: + if [ -n "$(CONFIG_EDK2_GOP_DRIVER)" ]; then \ + echo "Using GOP driver $(CONFIG_EDK2_GOP_FILE)"; \ + cp $(top)/$(CONFIG_EDK2_GOP_FILE) $(EDK2_PATH)/UefiPayloadPkg/IntelGopDriver.efi; \ + cp $(top)/$(CONFIG_INTEL_GMA_VBT_FILE) $(EDK2_PATH)/UefiPayloadPkg/vbt.bin; \ + fi; \ + checktools: echo -n "EDK2: Checking uuid-dev:" echo "#include " > libtest.c @@ -228,7 +239,7 @@ print: -e 's/s /Build: Silent/' \ -e 's/t /Toolchain: /' -prep: $(EDK2_PATH) $(EDK2_PLATFORMS_PATH) clean checktools logo +prep: $(EDK2_PATH) $(EDK2_PLATFORMS_PATH) clean checktools logo gop_driver cd $(WORKSPACE); \ source $(EDK2_PATH)/edksetup.sh; \ unset CC; $(MAKE) -C $(EDK2_PATH)/BaseTools 2>&1; \