[coreboot-gerrit] Patch set updated for coreboot: util/ifdtool: Add more debug to soft straps

Damien Zammit (damien@zamaudio.com) gerrit at coreboot.org
Fri Nov 11 12:12:50 CET 2016


Damien Zammit (damien at zamaudio.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17333

-gerrit

commit 8b9e09f5ea38dc9c2d905a1fc8503cafbd10319b
Author: Damien Zammit <damien at zamaudio.com>
Date:   Fri Nov 11 22:07:16 2016 +1100

    util/ifdtool: Add more debug to soft straps
    
    Q: Is some of the output chipset specific?
    
    Change-Id: If5d0e9a80b5579d3fbedabddc2dc5b13d1679980
    Signed-off-by: Damien Zammit <damien at zamaudio.com>
---
 util/ifdtool/ifdtool.c | 67 ++++++++++++++++++++++++++++++++------------------
 util/ifdtool/ifdtool.h | 30 +++++++---------------
 2 files changed, 52 insertions(+), 45 deletions(-)

diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c
index 74588e1..2dffc49 100644
--- a/util/ifdtool/ifdtool.c
+++ b/util/ifdtool/ifdtool.c
@@ -425,25 +425,39 @@ static void dump_fcba(fcba_t * fcba)
 
 static void dump_fpsba(fpsba_t * fpsba)
 {
-	printf("Found PCH Strap Section\n");
-	printf("PCHSTRP0:  0x%08x\n", fpsba->pchstrp0);
-	printf("PCHSTRP1:  0x%08x\n", fpsba->pchstrp1);
-	printf("PCHSTRP2:  0x%08x\n", fpsba->pchstrp2);
-	printf("PCHSTRP3:  0x%08x\n", fpsba->pchstrp3);
-	printf("PCHSTRP4:  0x%08x\n", fpsba->pchstrp4);
-	printf("PCHSTRP5:  0x%08x\n", fpsba->pchstrp5);
-	printf("PCHSTRP6:  0x%08x\n", fpsba->pchstrp6);
-	printf("PCHSTRP7:  0x%08x\n", fpsba->pchstrp7);
-	printf("PCHSTRP8:  0x%08x\n", fpsba->pchstrp8);
-	printf("PCHSTRP9:  0x%08x\n", fpsba->pchstrp9);
-	printf("PCHSTRP10: 0x%08x\n", fpsba->pchstrp10);
-	printf("PCHSTRP11: 0x%08x\n", fpsba->pchstrp11);
-	printf("PCHSTRP12: 0x%08x\n", fpsba->pchstrp12);
-	printf("PCHSTRP13: 0x%08x\n", fpsba->pchstrp13);
-	printf("PCHSTRP14: 0x%08x\n", fpsba->pchstrp14);
-	printf("PCHSTRP15: 0x%08x\n", fpsba->pchstrp15);
-	printf("PCHSTRP16: 0x%08x\n", fpsba->pchstrp16);
-	printf("PCHSTRP17: 0x%08x\n\n", fpsba->pchstrp17);
+	printf("Found PCH/ICH Strap Section\n");
+	printf("PCHSTRAP0:  0x%08x\n", fpsba->pchstrap[0]);
+	printf("  ME - disable completely            : %d\n", fpsba->pchstrap[0] & 1);
+	printf("  TCO mode (0=legacy, 1=TCO)         : %d\n", (fpsba->pchstrap[0] & 0x80) >> 7);
+	printf("  ME - SMBus 7-bit address           : 0x%02x\n", (fpsba->pchstrap[0] & 0x7f00) >> 8);
+	printf("  BMC mode enabled                   : %d\n", (fpsba->pchstrap[0] & 0x8000) >> 15);
+	printf("  Trip point NJCLK (0=3v3, 1=1v8)    : %d\n", (fpsba->pchstrap[0] & 0x10000) >> 16);
+	printf("  PCIe Port 6 (0=PCIe, 1=iGbE)       : %d\n", (fpsba->pchstrap[0] & 0x80000) >> 19);
+	printf("  LANPHYPC_GP12_SEL (0=GPIO, 1=PHY)  : %d\n", (fpsba->pchstrap[0] & 0x100000) >> 20);
+	printf("  DMI RequesterID cpu check disable  : %d\n", (fpsba->pchstrap[0] & 0x1000000) >> 24);
+	printf("  ME 2 - SMBus 7-bit address         : 0x%02x\n", (fpsba->pchstrap[0] & 0xfe000000) >> 25);
+	printf("PCHSTRAP1:  0x%08x\n", fpsba->pchstrap[1]);
+	printf("  North MLink Dyn Clk Gating         : %d\n", fpsba->pchstrap[1] & 1);
+	printf("  South MLink Dyn Clk Gating         : %d\n", (fpsba->pchstrap[1] & 2) >> 1);
+	printf("  ME SMBus Dyn Clk Gating            : %d\n", (fpsba->pchstrap[1] & 4) >> 2);
+	printf("  SST Dyn Clk Gating                 : %d\n", (fpsba->pchstrap[1] & 8) >> 3);
+	printf("  North MLink 2 requests (0=1, 1=2)  : %d\n", (fpsba->pchstrap[1] & 0x100) >> 8);
+	printf("PCHSTRAP2:  0x%08x\n", fpsba->pchstrap[2]);
+	printf("PCHSTRAP3:  0x%08x\n", fpsba->pchstrap[3]);
+	printf("PCHSTRAP4:  0x%08x\n", fpsba->pchstrap[4]);
+	printf("PCHSTRAP5:  0x%08x\n", fpsba->pchstrap[5]);
+	printf("PCHSTRAP6:  0x%08x\n", fpsba->pchstrap[6]);
+	printf("PCHSTRAP7:  0x%08x\n", fpsba->pchstrap[7]);
+	printf("PCHSTRAP8:  0x%08x\n", fpsba->pchstrap[8]);
+	printf("PCHSTRAP9:  0x%08x\n", fpsba->pchstrap[9]);
+	printf("PCHSTRAP10: 0x%08x\n", fpsba->pchstrap[10]);
+	printf("PCHSTRAP11: 0x%08x\n", fpsba->pchstrap[11]);
+	printf("PCHSTRAP12: 0x%08x\n", fpsba->pchstrap[12]);
+	printf("PCHSTRAP13: 0x%08x\n", fpsba->pchstrap[13]);
+	printf("PCHSTRAP14: 0x%08x\n", fpsba->pchstrap[14]);
+	printf("PCHSTRAP15: 0x%08x\n", fpsba->pchstrap[15]);
+	printf("PCHSTRAP16: 0x%08x\n", fpsba->pchstrap[16]);
+	printf("PCHSTRAP17: 0x%08x\n\n", fpsba->pchstrap[17]);
 }
 
 static void decode_flmstr(uint32_t flmstr)
@@ -511,11 +525,16 @@ static void dump_fmba(fmba_t * fmba)
 
 static void dump_fmsba(fmsba_t * fmsba)
 {
-	printf("Found Processor Strap Section\n");
-	printf("????:      0x%08x\n", fmsba->data[0]);
-	printf("????:      0x%08x\n", fmsba->data[1]);
-	printf("????:      0x%08x\n", fmsba->data[2]);
-	printf("????:      0x%08x\n", fmsba->data[3]);
+	printf("Found Processor/MCH Strap Section\n");
+	printf("????STRAP0: 0x%08x\n", fmsba->strap[0]);
+	printf("  ME - disable completely            : %d\n", fmsba->strap[0] & 1);
+	printf("  ME - boot from flash instead of rom: %d\n", (fmsba->strap[0] & 2) >> 1);
+	printf("  iTPM disable                       : %d\n", (fmsba->strap[0] & 4) >> 2);
+	printf("  SPI fingerprint sensor present CS#1: %d\n", (fmsba->strap[0] & 64) >> 6);
+	printf("  ME - alternate disable (ME FW apps): %d\n", (fmsba->strap[0] & 128) >> 7);
+	printf("????STRAP1: 0x%08x\n", fmsba->strap[1]);
+	printf("????STRAP2: 0x%08x\n", fmsba->strap[2]);
+	printf("????STRAP3: 0x%08x\n", fmsba->strap[3]);
 }
 
 static void dump_jid(uint32_t jid)
diff --git a/util/ifdtool/ifdtool.h b/util/ifdtool/ifdtool.h
index 7878712..6433013 100644
--- a/util/ifdtool/ifdtool.h
+++ b/util/ifdtool/ifdtool.h
@@ -75,26 +75,11 @@ typedef struct {
 	uint32_t flpb;
 } __attribute__((packed)) fcba_t;
 
-// pch strap
+// pch/ich straps
+#define ICH0_ME_DISABLE	(1 << 0)
+
 typedef struct {
-	uint32_t pchstrp0;
-	uint32_t pchstrp1;
-	uint32_t pchstrp2;
-	uint32_t pchstrp3;
-	uint32_t pchstrp4;
-	uint32_t pchstrp5;
-	uint32_t pchstrp6;
-	uint32_t pchstrp7;
-	uint32_t pchstrp8;
-	uint32_t pchstrp9;
-	uint32_t pchstrp10;
-	uint32_t pchstrp11;
-	uint32_t pchstrp12;
-	uint32_t pchstrp13;
-	uint32_t pchstrp14;
-	uint32_t pchstrp15;
-	uint32_t pchstrp16;
-	uint32_t pchstrp17;
+	uint32_t pchstrap[18];
 } __attribute__((packed)) fpsba_t;
 
 /*
@@ -115,9 +100,12 @@ typedef struct {
 	uint32_t flmstr5;
 } __attribute__((packed)) fmba_t;
 
-// processor strap
+// processor/mch straps
+#define MCH0_ME_DISABLE		(1 << 0)
+#define MCH0_TPM_DISABLE	(1 << 2)
+
 typedef struct {
-	uint32_t data[8];
+	uint32_t strap[8];
 } __attribute__((packed)) fmsba_t;
 
 // ME VSCC



More information about the coreboot-gerrit mailing list