Rizwan Qureshi has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/41870 )
Change subject: soc/intel/{apl,cnl,icl,jsl,tgl}: print CSME SKU type ......................................................................
soc/intel/{apl,cnl,icl,jsl,tgl}: print CSME SKU type
print CSME SKU type part of the status dump.
TEST=Build for puff mainboard and verfied the SKU information with Consumer and Lite SKU.
Signed-off-by: Rizwan Qureshi rizwan.qureshi@intel.com Change-Id: I48a0752929eeac8660d33347ba552ba1af559a00 --- M src/soc/intel/apollolake/cse.c M src/soc/intel/cannonlake/me.c M src/soc/intel/icelake/me.c M src/soc/intel/jasperlake/me.c M src/soc/intel/tigerlake/me.c 5 files changed, 77 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/70/41870/1
diff --git a/src/soc/intel/apollolake/cse.c b/src/soc/intel/apollolake/cse.c index fef98e3..ed90695 100644 --- a/src/soc/intel/apollolake/cse.c +++ b/src/soc/intel/apollolake/cse.c @@ -167,17 +167,31 @@ static void dump_cse_state(void) { uint32_t fwsts1; + union me_hfsts3 hfsts3;
if (!is_cse_enabled()) return;
fwsts1 = dump_status(1, PCI_ME_HFSTS1); dump_status(2, PCI_ME_HFSTS2); - dump_status(3, PCI_ME_HFSTS3); + hfsts3 = dump_status(3, PCI_ME_HFSTS3); dump_status(4, PCI_ME_HFSTS4); dump_status(5, PCI_ME_HFSTS5); dump_status(6, PCI_ME_HFSTS6);
+ printk(BIOS_DEBUG, "ME: Firmware SKU : "); + switch (hfs3.fields.fw_sku) { + case ME_HFS3_FW_SKU_CONSUMER: + printk(BIOS_DEBUG, "Consumer\n"); + break; + case ME_HFS3_FW_SKU_CORPORATE: + printk(BIOS_DEBUG, "Corporate\n"); + break; + default: + printk(BIOS_DEBUG, "Unknown (0x%x)\n", + hfs3.fields.fw_sku); + } + /* Minimal decoding is done here in order to call out most important pieces. Manufacturing mode needs to be locked down prior to shipping the product so it's called out explicitly. */ diff --git a/src/soc/intel/cannonlake/me.c b/src/soc/intel/cannonlake/me.c index a51b702..6dfe73f 100644 --- a/src/soc/intel/cannonlake/me.c +++ b/src/soc/intel/cannonlake/me.c @@ -126,6 +126,22 @@ printk(BIOS_DEBUG, "ME: HFSTS6 : 0x%08X\n", hfsts6.raw);
+ printk(BIOS_DEBUG, "ME: Firmware SKU : "); + switch (hfs3.fields.fw_sku) { + case ME_HFS3_FW_SKU_CONSUMER: + printk(BIOS_DEBUG, "Consumer\n"); + break; + case ME_HFS3_FW_SKU_CORPORATE: + printk(BIOS_DEBUG, "Corporate\n"); + break; + case ME_HFS3_FW_SKU_LITE: + printk(BIOS_DEBUG, "Lite\n"); + break; + default: + printk(BIOS_DEBUG, "Unknown (0x%x)\n", + hfs3.fields.fw_sku); + } + printk(BIOS_DEBUG, "ME: Manufacturing Mode : %s\n", hfsts1.fields.mfg_mode ? "YES" : "NO"); printk(BIOS_DEBUG, "ME: FW Partition Table : %s\n", diff --git a/src/soc/intel/icelake/me.c b/src/soc/intel/icelake/me.c index c494fa5..a36c9d3 100644 --- a/src/soc/intel/icelake/me.c +++ b/src/soc/intel/icelake/me.c @@ -116,6 +116,20 @@ printk(BIOS_DEBUG, "ME: HFSTS5 : 0x%08X\n", hfsts5.data); printk(BIOS_DEBUG, "ME: HFSTS6 : 0x%08X\n", hfsts6.data);
+ printk(BIOS_DEBUG, "ME: Firmware SKU : "); + switch (hfs3.fields.fw_sku) { + case ME_HFS3_FW_SKU_CONSUMER: + printk(BIOS_DEBUG, "Consumer\n"); + break; + case ME_HFS3_FW_SKU_CORPORATE: + printk(BIOS_DEBUG, "Corporate\n"); + break; + default: + printk(BIOS_DEBUG, "Unknown (0x%x)\n", + hfs3.fields.fw_sku); + } + + printk(BIOS_DEBUG, "ME: Manufacturing Mode : %s\n", hfsts1.fields.mfg_mode ? "YES" : "NO"); printk(BIOS_DEBUG, "ME: FW Partition Table : %s\n", diff --git a/src/soc/intel/jasperlake/me.c b/src/soc/intel/jasperlake/me.c index e4dc93f..501dbdc 100644 --- a/src/soc/intel/jasperlake/me.c +++ b/src/soc/intel/jasperlake/me.c @@ -32,6 +32,22 @@ printk(BIOS_DEBUG, "ME: HFSTS5 : 0x%08X\n", hfsts5.data); printk(BIOS_DEBUG, "ME: HFSTS6 : 0x%08X\n", hfsts6.data);
+ printk(BIOS_DEBUG, "ME: Firmware SKU : "); + switch (hfs3.fields.fw_sku) { + case ME_HFS3_FW_SKU_CONSUMER: + printk(BIOS_DEBUG, "Consumer\n"); + break; + case ME_HFS3_FW_SKU_CORPORATE: + printk(BIOS_DEBUG, "Corporate\n"); + break; + case ME_HFS3_FW_SKU_LITE: + printk(BIOS_DEBUG, "Lite\n"); + break; + default: + printk(BIOS_DEBUG, "Unknown (0x%x)\n", + hfs3.fields.fw_sku); + } + printk(BIOS_DEBUG, "ME: Manufacturing Mode : %s\n", hfsts1.fields.mfg_mode ? "YES" : "NO"); printk(BIOS_DEBUG, "ME: FW Partition Table : %s\n", diff --git a/src/soc/intel/tigerlake/me.c b/src/soc/intel/tigerlake/me.c index da1a299..7100d75 100644 --- a/src/soc/intel/tigerlake/me.c +++ b/src/soc/intel/tigerlake/me.c @@ -116,6 +116,22 @@ printk(BIOS_DEBUG, "ME: HFSTS5 : 0x%08X\n", hfsts5.data); printk(BIOS_DEBUG, "ME: HFSTS6 : 0x%08X\n", hfsts6.data);
+ printk(BIOS_DEBUG, "ME: Firmware SKU : "); + switch (hfs3.fields.fw_sku) { + case ME_HFS3_FW_SKU_CONSUMER: + printk(BIOS_DEBUG, "Consumer\n"); + break; + case ME_HFS3_FW_SKU_CORPORATE: + printk(BIOS_DEBUG, "Corporate\n"); + break; + case ME_HFS3_FW_SKU_LITE: + printk(BIOS_DEBUG, "Lite\n"); + break; + default: + printk(BIOS_DEBUG, "Unknown (0x%x)\n", + hfs3.fields.fw_sku); + } + /* * Lock Descriptor, and Fuses must be programmed on a * production system to indicate ME Manufacturing mode is disabled.