Rizwan Qureshi has uploaded this change for review.

View Change

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.

To view, visit change 41870. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I48a0752929eeac8660d33347ba552ba1af559a00
Gerrit-Change-Number: 41870
Gerrit-PatchSet: 1
Gerrit-Owner: Rizwan Qureshi <rizwan.qureshi@intel.com>
Gerrit-MessageType: newchange