soc/intel/meteorlake: Allow possible options for MP Init

Ported back from commit ceaf9d116949da68aa9c ("soc/intel/alderlake:
Allow possible options for MP Init")

This patch creates choice that lists all possible options to perform
MP Init as below for Intel Meteor Lake platform:
1. MTL_USE_FSP_MP_INIT: Allow coreboot to bring APs from reset and FSP
runs feature programming based and selects MP_SERVICES_PPI_V2 config.
2. MTL_USE_COREBOOT_MP_INIT: Allow coreboot to perform MP Init (both AP
init and feature programming) using native implementation.
Additionally, selects required RELOAD_MICROCODE_PATCH when coreboot
is expected to run MP Init.

Refactor SoC code to allow required FSP UPD override based on
selected MP Init option.

Additionally, added `FIXME` comment to ensure Intel MTL FSP can bring
back SkipMpInit UPD in MTL to let coreboot override this UPD and ensure
independent MP Init flow.

BUG=b:219053812
TEST=Able to build google/rex.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: Ic917e4e03e24d73190cfc72c6ed8e59af427bedf
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65743
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/intel/meteorlake/Kconfig b/src/soc/intel/meteorlake/Kconfig
index 86567dc..bf50ada 100644
--- a/src/soc/intel/meteorlake/Kconfig
+++ b/src/soc/intel/meteorlake/Kconfig
@@ -38,7 +38,6 @@
 	select IOAPIC
 	select MICROCODE_BLOB_UNDISCLOSED
 	select MRC_SETTINGS_PROTECT
-	select MP_SERVICES_PPI_V2
 	select PARALLEL_MP_AP_WORK
 	select PLATFORM_USES_FSP2_3
 	select PMC_GLOBAL_RESET_ENABLE_LOCK
@@ -308,4 +307,22 @@
 	hex
 	default 0x800000
 
+choice
+	prompt "Multiprocessor (MP) Initialization configuration to use"
+	default MTL_USE_FSP_MP_INIT
+
+config MTL_USE_FSP_MP_INIT
+	bool "Use FSP MP init"
+	select MP_SERVICES_PPI_V2
+	help
+	  Upon selection, coreboot brings APs from reset and the FSP runs feature programming.
+
+config MTL_USE_COREBOOT_MP_INIT
+	bool "Use coreboot MP init"
+	select RELOAD_MICROCODE_PATCH
+	help
+	  Upon selection, coreboot performs MP Init.
+
+endchoice
+
 endif