amdfwtool: Add SOC family definition for Carrizo

For Carrizo, the soc name was set as UNKNOWN.

The change is supposed to be binary unmodified, except the SPI
settings. According to the spec, the Stoneyridge and Carrizo have the
same definition of SPI setting in EFS.

Change-Id: I9704a44773b2f541f650451ed883a51e2939e12a
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66823
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
diff --git a/src/soc/amd/stoneyridge/Makefile.inc b/src/soc/amd/stoneyridge/Makefile.inc
index 078a566..17867eb 100644
--- a/src/soc/amd/stoneyridge/Makefile.inc
+++ b/src/soc/amd/stoneyridge/Makefile.inc
@@ -127,6 +127,11 @@
 OPT_SOCNAME=--soc-name "Stoneyridge"
 endif
 
+ifeq ($(FIRMWARE_TYPE),CZ)
+OPT_COMBOCAPABLE=--combo-capable
+OPT_SOCNAME=--soc-name "Carrizo"
+endif
+
 ifeq ($(CONFIG_USE_PSPSECUREOS),y)
 PSP_USE_PSPSECUREOS="--use-pspsecureos"
 endif
diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c
index e1e689d..f1b31be 100644
--- a/util/amdfwtool/amdfwtool.c
+++ b/util/amdfwtool/amdfwtool.c
@@ -229,8 +229,9 @@
 	printf("--sharedmem-size               Maximum size of the PSP/FW shared memory\n");
 	printf("                               area\n");
 	printf("--soc-name <socname>           Specify SOC name. Supported names are\n");
-	printf("                               Stoneyridge, Raven, Picasso, Renoir, Cezanne\n");
-	printf("                               Mendocino, Phoenix, Glinda, or Lucienne\n");
+	printf("                               Carrizo, Stoneyridge, Raven, Picasso, Renoir,\n");
+	printf("                               Cezanne, Mendocino, Phoenix, Glinda, or\n");
+	printf("                               Lucienne\n");
 	printf("\nEmbedded Firmware Structure options used by the PSP:\n");
 	printf("--spi-speed <HEX_VAL>          SPI fast speed to place in EFS Table\n");
 	printf("                               0x0 66.66Mhz\n");
@@ -713,6 +714,7 @@
 
 enum platform {
 	PLATFORM_UNKNOWN,
+	PLATFORM_CARRIZO,
 	PLATFORM_STONEYRIDGE,
 	PLATFORM_RAVEN,
 	PLATFORM_PICASSO,
@@ -751,6 +753,7 @@
 	case PLATFORM_PHOENIX:
 		psp_id = 0xBC0D0400;
 		break;
+	case PLATFORM_CARRIZO:
 	default:
 		psp_id = 0;
 		break;
@@ -1970,6 +1973,7 @@
 	}
 
 	switch (soc_id) {
+	case PLATFORM_CARRIZO:
 	case PLATFORM_STONEYRIDGE:
 		amd_romsig->spi_readmode_f15_mod_60_6f = efs_spi_readmode;
 		amd_romsig->fast_speed_new_f15_mod_60_6f = efs_spi_speed;
@@ -2073,6 +2077,8 @@
 {
 	if (!strcasecmp(soc_name, "Stoneyridge"))
 		return PLATFORM_STONEYRIDGE;
+	else if (!strcasecmp(soc_name, "Carrizo"))
+		return PLATFORM_CARRIZO;
 	else if (!strcasecmp(soc_name, "Raven"))
 		return PLATFORM_RAVEN;
 	else if (!strcasecmp(soc_name, "Picasso"))
@@ -2105,6 +2111,7 @@
 static bool is_second_gen(enum platform platform_type)
 {
 	switch (platform_type) {
+	case PLATFORM_CARRIZO:
 	case PLATFORM_STONEYRIDGE:
 	case PLATFORM_RAVEN:
 	case PLATFORM_PICASSO:
@@ -2683,6 +2690,7 @@
 		case PLATFORM_PHOENIX:
 		case PLATFORM_GLINDA:
 			break;
+		case PLATFORM_CARRIZO:
 		case PLATFORM_STONEYRIDGE:
 		case PLATFORM_RAVEN:
 		case PLATFORM_PICASSO: