ichspi: Add Intel Wildcat Lake support

Looks the same as Panther Lake except no 80 MHz options in the
SPI guide nor the MFIT tool.

Change-Id: I9d922687e5995ed34c9e8aee298554e976adfe0a
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/403
diff --git a/chipset_enable.c b/chipset_enable.c
index 3e19ab8..f92afb5 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -2318,6 +2318,7 @@
 	{0x8086, 0xae23,   ANY_REV, B_S,    NT,  "Intel", "Arrow Lake-S/HX",		enable_flash_arl},
 	{0x8086, 0xe323,   ANY_REV, B_S,    NT,  "Intel", "Panther Lake 404/H12Xe",	enable_flash_ptl},
 	{0x8086, 0xe423,   ANY_REV, B_S,    NT,  "Intel", "Panther Lake H",		enable_flash_ptl},
+	{0x8086, 0x4d23,   ANY_REV, B_S,    NT,  "Intel", "Wildcat Lake",		enable_flash_ptl},
 #endif
 	{0},
 };
diff --git a/ich_descriptors.c b/ich_descriptors.c
index 932ab49..91aa267 100644
--- a/ich_descriptors.c
+++ b/ich_descriptors.c
@@ -140,7 +140,7 @@
 		"C620 series Lewisburg", "300/400 series Cannon/Comet Point",
 		"500/600 series Tiger/Alder Point", "Apollo Lake", "Gemini Lake", "Elkhart Lake",
 		"C740 series Emmitsburg", "Snow Ridge", "Meteor Lake", "Lunar Lake",
-		"800 series Arrow Lake", "Panther Lake",
+		"800 series Arrow Lake", "Panther/Wildcat Lake",
 	};
 	if (cs < CHIPSET_ICH8 || cs - CHIPSET_ICH8 + 1 >= ARRAY_SIZE(chipset_names))
 		cs = 0;
@@ -1123,7 +1123,7 @@
 			if (content->CSSO == 0x58) {
 				return CHIPSET_ELKHART_LAKE;
 			} else if (content->CSSO == 0x60) {
-				if (content->ISL == 0x9a)
+				if (content->ISL == 0x9a || content->ISL == 0x78)
 					return CHIPSET_PANTHER_LAKE;
 				warn_peculiar_desc("Panther Lake");
 				return CHIPSET_PANTHER_LAKE;
diff --git a/util/ich_descriptors_tool/ich_descriptors_tool.c b/util/ich_descriptors_tool/ich_descriptors_tool.c
index 97fadb1..cba8401 100644
--- a/util/ich_descriptors_tool/ich_descriptors_tool.c
+++ b/util/ich_descriptors_tool/ich_descriptors_tool.c
@@ -142,6 +142,7 @@
 "\t- \"meteor\" for Intel's Meteor Lake SoC.\n"
 "\t- \"lunar\" for Intel's Lunar Lake SoC.\n"
 "\t- \"ptl\" for Intel's Panther Lake SoC.\n"
+"\t- \"wcl\" for Intel's Wildcat Lake SoC.\n"
 "\t- \"800\" or \"arrow\" for Intel's 800 series chipsets.\n"
 "\t- \"c620\" or \"lewis\" for Intel's C620 series aka. Lewisburg chipsets.\n"
 "\t- \"c740\" or \"emmits\" for Intel's C740 series chipsets.\n"
@@ -252,7 +253,8 @@
 		else if ((strcmp(csn, "800") == 0) ||
 			 (strcmp(csn, "arrow") == 0))
 			cs = CHIPSET_ARROW_LAKE;
-		else if (strcmp(csn, "ptl") == 0)
+		else if ((strcmp(csn, "ptl") == 0) ||
+			 (strcmp(csn, "wcl") == 0))
 			cs = CHIPSET_PANTHER_LAKE;
 		else if (strcmp(csn, "apollo") == 0)
 			cs = CHIPSET_APOLLO_LAKE;