mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 14:33:18 +02:00
ichspi: Add support for Meteor Lake
This patch adds Meteor Lake support into flashrom. Additionally, utilize CSSO (CPU Soft Strap Offset) to uniquely detect the chipset when the CSSL (CPU Soft Strap Length) field default value (0x03) on Meteor Lake is the same as Elkhart Lake. BUG=b:224325352 TEST=Flashrom is able to detect MTL SPI DID and show chipset name as below: > flashrom --flash-name .... Found chipset "Intel Meteor Lake-P/M". .... > flashrom - internal --ifd -i fd -i bios -r /tmp/bios.rom .... Reading ich_descriptor... done. Assuming chipset 'Meteor Lake'. Using regions: "bios", "fd". Reading flash... done. SUCCESS Signed-off-by: Subrata Banik <subratabanik@google.com> Change-Id: I0a2ffe2ba8d96c90d89b77e0d8583d179ff02a75 Reviewed-on: https://review.coreboot.org/c/flashrom/+/62783 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Wonkyu Kim <wonkyu.kim@intel.com> Reviewed-by: Sam McNally <sammc@google.com>
This commit is contained in:

committed by
Edward O'Callaghan

parent
1b66464269
commit
7dcd0deafe
10
ichspi.c
10
ichspi.c
@ -1799,6 +1799,7 @@ static void init_chipset_properties(struct swseq_data *swseq, struct hwseq_data
|
||||
case CHIPSET_400_SERIES_COMET_POINT:
|
||||
case CHIPSET_500_SERIES_TIGER_POINT:
|
||||
case CHIPSET_600_SERIES_ALDER_POINT:
|
||||
case CHIPSET_METEOR_LAKE:
|
||||
case CHIPSET_APOLLO_LAKE:
|
||||
case CHIPSET_GEMINI_LAKE:
|
||||
case CHIPSET_ELKHART_LAKE:
|
||||
@ -1836,6 +1837,7 @@ static void init_chipset_properties(struct swseq_data *swseq, struct hwseq_data
|
||||
case CHIPSET_400_SERIES_COMET_POINT:
|
||||
case CHIPSET_500_SERIES_TIGER_POINT:
|
||||
case CHIPSET_600_SERIES_ALDER_POINT:
|
||||
case CHIPSET_METEOR_LAKE:
|
||||
case CHIPSET_APOLLO_LAKE:
|
||||
case CHIPSET_GEMINI_LAKE:
|
||||
case CHIPSET_ELKHART_LAKE:
|
||||
@ -1895,6 +1897,7 @@ static int init_ich_default(void *spibar, enum ich_chipset ich_gen)
|
||||
case CHIPSET_400_SERIES_COMET_POINT:
|
||||
case CHIPSET_500_SERIES_TIGER_POINT:
|
||||
case CHIPSET_600_SERIES_ALDER_POINT:
|
||||
case CHIPSET_METEOR_LAKE:
|
||||
case CHIPSET_APOLLO_LAKE:
|
||||
case CHIPSET_GEMINI_LAKE:
|
||||
case CHIPSET_ELKHART_LAKE:
|
||||
@ -1973,6 +1976,7 @@ static int init_ich_default(void *spibar, enum ich_chipset ich_gen)
|
||||
case CHIPSET_400_SERIES_COMET_POINT:
|
||||
case CHIPSET_500_SERIES_TIGER_POINT:
|
||||
case CHIPSET_600_SERIES_ALDER_POINT:
|
||||
case CHIPSET_METEOR_LAKE:
|
||||
case CHIPSET_APOLLO_LAKE:
|
||||
case CHIPSET_GEMINI_LAKE:
|
||||
case CHIPSET_BAYTRAIL:
|
||||
@ -2010,6 +2014,7 @@ static int init_ich_default(void *spibar, enum ich_chipset ich_gen)
|
||||
case CHIPSET_400_SERIES_COMET_POINT:
|
||||
case CHIPSET_500_SERIES_TIGER_POINT:
|
||||
case CHIPSET_600_SERIES_ALDER_POINT:
|
||||
case CHIPSET_METEOR_LAKE:
|
||||
case CHIPSET_APOLLO_LAKE:
|
||||
case CHIPSET_GEMINI_LAKE:
|
||||
case CHIPSET_ELKHART_LAKE:
|
||||
@ -2053,8 +2058,9 @@ static int init_ich_default(void *spibar, enum ich_chipset ich_gen)
|
||||
if (ich_spi_mode == ich_auto &&
|
||||
(ich_gen == CHIPSET_APOLLO_LAKE ||
|
||||
ich_gen == CHIPSET_GEMINI_LAKE ||
|
||||
ich_gen == CHIPSET_ELKHART_LAKE)) {
|
||||
msg_pdbg("Enabling hardware sequencing by default for Apollo/Gemini/Elkhart Lake.\n");
|
||||
ich_gen == CHIPSET_ELKHART_LAKE ||
|
||||
ich_gen == CHIPSET_METEOR_LAKE)) {
|
||||
msg_pdbg("Enabling hardware sequencing by default for Apollo/Gemini/Elkhart/Meteor Lake.\n");
|
||||
ich_spi_mode = ich_hwseq;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user