soc/intel: Don't send CSE EOP if CSME is disabled

CSE EOP will fail if the CSE is disabled (CB:52800)

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: Ic00fdb0d97fefac977c0878d1d5893d07d4481ea
Reviewed-on: https://review.coreboot.org/c/coreboot/+/57149
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
diff --git a/src/soc/intel/common/block/cse/cse_eop.c b/src/soc/intel/common/block/cse/cse_eop.c
index e47eb51..4e1c563 100644
--- a/src/soc/intel/common/block/cse/cse_eop.c
+++ b/src/soc/intel/common/block/cse/cse_eop.c
@@ -18,6 +18,7 @@
 	CSE_EOP_RESULT_GLOBAL_RESET_REQUESTED,
 	CSE_EOP_RESULT_SUCCESS,
 	CSE_EOP_RESULT_ERROR,
+	CSE_EOP_RESULT_DISABLED,
 };
 
 static bool cse_disable_mei_bus(void)
@@ -100,6 +101,14 @@
 	 * 2) HFSTS1 COM is Normal
 	 * 3) Only sent after DID (accomplished by compiling this into ramstage)
 	 */
+
+	if (cse_is_hfs1_com_soft_temp_disable()) {
+		printk(BIOS_ERR, "HECI: Prerequisites not met for sending EOP\n");
+		if (CONFIG(SOC_INTEL_CSE_LITE_SKU))
+			return CSE_EOP_RESULT_ERROR;
+		return CSE_EOP_RESULT_DISABLED;
+	}
+
 	if (!cse_is_hfs1_cws_normal() || !cse_is_hfs1_com_normal()) {
 		printk(BIOS_ERR, "HECI: Prerequisites not met for sending EOP\n");
 		return CSE_EOP_RESULT_ERROR;
@@ -158,6 +167,9 @@
 	case CSE_EOP_RESULT_SUCCESS:
 		printk(BIOS_INFO, "CSE EOP successful, continuing boot\n");
 		break;
+	case CSE_EOP_RESULT_DISABLED:
+		printk(BIOS_INFO, "CSE is disabled, continuing boot\n");
+		break;
 	case CSE_EOP_RESULT_ERROR: /* fallthrough */
 	default:
 		printk(BIOS_ERR, "ERROR: Failed to send EOP to CSE, %d\n", result);