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 <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81892
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/payloads/external/Makefile.mk b/payloads/external/Makefile.mk
index 5d385a4..13703af 100644
--- a/payloads/external/Makefile.mk
+++ b/payloads/external/Makefile.mk
@@ -196,6 +196,7 @@
 		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 1216084..68eb455 100644
--- a/payloads/external/edk2/Kconfig
+++ b/payloads/external/edk2/Kconfig
@@ -299,6 +299,15 @@
 	  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 3b73ce8..e7f11f0 100644
--- a/payloads/external/edk2/Makefile
+++ b/payloads/external/edk2/Makefile
@@ -137,6 +137,10 @@
 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