Michał Żygowski has uploaded this change for review.
ich_descriptors.c: Fix PCH detection for Tiger Lake
Comet Lake and Tiger Lake have different FLMAP2 register layout than
their predecessors: ICCRIBA became CPU Soft Strap Length (previous MSL)
without any bit position change and FSMBA became CPU Soft Strap Offset
from PMC base with length of 10 bits on position 11:2. Because of that
the PCH detection may fail on such chipsets. Unlike Comet Lake, the
Tiger Lake has very low ICCRIBA (TGL=0x11, CNL=0x34 and CML=0x34). So
because of that flashrom was reporting 100 Series Sunrise Point PCH
and trying to use FLCOMP freq_read field which does not exists anymore
on Tiger Lake PCH. It caused flashrom to think that SPI read frequency
is not correct.
Check if ICCRIBA greater than 0x11 for Sunrise Point else report as
Cannon Point compatible PCH series to avoid using freq_read as
indicator.
TEST=Flash BIOS region on Intel i5-1135G7 with the patch adding Tiger
Lake support
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: Ib61d432ab4eaf00aa4eef50d2844940e73b5cad6
---
M ich_descriptors.c
1 file changed, 7 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/77/55577/1
diff --git a/ich_descriptors.c b/ich_descriptors.c
index a6ac881..88be2b5 100644
--- a/ich_descriptors.c
+++ b/ich_descriptors.c
@@ -946,10 +946,14 @@
msg_pwarn("Peculiar firmware descriptor, assuming Wildcat Point compatibility.\n");
return CHIPSET_9_SERIES_WILDCAT_POINT;
} else if (content->ICCRIBA < 0x34) {
- if (content->NM == 6)
+ if (content->NM == 6) {
return CHIPSET_C620_SERIES_LEWISBURG;
- else
- return CHIPSET_100_SERIES_SUNRISE_POINT;
+ } else {
+ if (content->ICCRIBA > 0x11)
+ return CHIPSET_100_SERIES_SUNRISE_POINT;
+ else
+ return CHIPSET_300_SERIES_CANNON_POINT;
+ }
} else if (content->ICCRIBA == 0x34) {
if (content->NM == 6)
return CHIPSET_C620_SERIES_LEWISBURG;
To view, visit change 55577. To unsubscribe, or for help writing mail filters, visit settings.