nb/intel/ironlake: Handle broken ME firmware

This allows booting without ME firmware, even though the 30-minute
auto-shutdown still happens. Without this patch, an HP ProBook 6550b
cannot get past the `setup_heci_uma` function call.

Change-Id: I446c02ac6034ede75cb873a2e676c40e4ef84b7c
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51072
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
diff --git a/src/northbridge/intel/ironlake/raminit.c b/src/northbridge/intel/ironlake/raminit.c
index 9ba21d0..a5de86a 100644
--- a/src/northbridge/intel/ironlake/raminit.c
+++ b/src/northbridge/intel/ironlake/raminit.c
@@ -1725,7 +1725,7 @@
 
 static void setup_heci_uma(struct raminfo *info)
 {
-	if (!info->memory_reserved_for_heci_mb && !(pci_read_config32(HECIDEV, 0x40) & 0x20))
+	if (!info->memory_reserved_for_heci_mb || !(pci_read_config32(HECIDEV, 0x40) & 0x20))
 		return;
 
 	const u64 heci_uma_addr =
@@ -3215,8 +3215,10 @@
 		;
 
 	/* Wait for ME to be ready */
-	intel_early_me_init();
-	info.memory_reserved_for_heci_mb = intel_early_me_uma_size();
+	if (intel_early_me_init() == 0)
+		info.memory_reserved_for_heci_mb = intel_early_me_uma_size();
+	else
+		info.memory_reserved_for_heci_mb = 0;
 
 	/* before SPD */
 	timestamp_add_now(101);