[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