From 63359d1bcefa9947c76f981f3ed6a8dc419ce4cb Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Fri, 12 Apr 2024 11:20:54 -0500 Subject: [PATCH] payloads/edk2: Add Kconfig to enable AMD Picasso eMMC driver Add a Kconfig to selectively enable the AMD Picasso eMMC driver recently added to MrChromebox's edk2 fork. When selected, will enable booting from AMD Picasso devices with eMMC storage. TEST=tested with rest of patch train Change-Id: I6536a6f243f6766b913e295afebcf5b965e4e969 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/81892 Reviewed-by: Sean Rhodes Tested-by: build bot (Jenkins) --- payloads/external/Makefile.mk | 1 + payloads/external/edk2/Kconfig | 9 +++++++++ payloads/external/edk2/Makefile | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/payloads/external/Makefile.mk b/payloads/external/Makefile.mk index 5d385a4e82..13703afd38 100644 --- a/payloads/external/Makefile.mk +++ b/payloads/external/Makefile.mk @@ -196,6 +196,7 @@ $(obj)/UEFIPAYLOAD.fd: $(DOTCONFIG) CONFIG_INTEL_GMA_VBT_FILE=$(CONFIG_INTEL_GMA_VBT_FILE) \ CONFIG_EDK2_DISABLE_TPM=$(CONFIG_EDK2_DISABLE_TPM) \ CONFIG_EDK2_UFS_ENABLE=$(CONFIG_EDK2_UFS_ENABLE) \ + CONFIG_EDK2_PCO_MMIO_EMMC=$(CONFIG_EDK2_PCO_MMIO_EMMC) \ 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 1216084743..68eb45523e 100644 --- a/payloads/external/edk2/Kconfig +++ b/payloads/external/edk2/Kconfig @@ -299,6 +299,15 @@ config EDK2_UFS_ENABLE It is needed for boards with UFS storage, but can cause issues with other boards, so should only be enabled when needed. +config EDK2_PCO_MMIO_EMMC + bool "Enable MMIO eMMC driver for AMD Picasso boards in edk2" + depends on EDK2_REPO_MRCHROMEBOX + default n + help + Select this option to enable the MMIO eMMC DXE driver in MrChromebox's fork of edk2. + It is needed for AMD Picasso boards with eMMC storage, but will conflict with the + PCI-based eMMC driver, so should only be enabled for AMD Picasso boards. + 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 3b73ce89ea..e7f11f0693 100644 --- a/payloads/external/edk2/Makefile +++ b/payloads/external/edk2/Makefile @@ -137,6 +137,10 @@ endif ifeq ($(CONFIG_EDK2_UFS_ENABLE),y) BUILD_STR += -D UFS_ENABLE=TRUE endif +# USE_PCO_MMIO_EMMC = FALSE +ifeq ($(CONFIG_EDK2_PCO_MMIO_EMMC),y) +BUILD_STR += -D USE_PCO_MMIO_EMMC=TRUE +endif endif