summaryrefslogtreecommitdiff
path: root/util/spd_tools
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2020-06-02 22:45:52 -0700
committerPatrick Georgi <pgeorgi@google.com>2020-06-08 06:42:19 +0000
commitbcb4a77fb11dc3cc8b0c74559e4f47549db368e4 (patch)
tree7c7e037ca6a6ca961f346a90ffdd761cd054ebf4 /util/spd_tools
parent16ef59e81ee74fdf24ea14827a5dee4d5ff42381 (diff)
downloadcoreboot-bcb4a77fb11dc3cc8b0c74559e4f47549db368e4.tar.xz
spd/lp4x: Set manufacturer part name to blank (0x20)
As per JEDEC spec, manufacturer part name should be set to blank (0x20). This change updates gen_spd.go to set bytes 329-348 as 0x20 and regenerates SPDs for TGL and JSL. Change-Id: I6af18d89afd7264cec7e54b38e95df83d55aa058 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/42023 Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'util/spd_tools')
-rw-r--r--util/spd_tools/intel/lp4x/gen_spd.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/util/spd_tools/intel/lp4x/gen_spd.go b/util/spd_tools/intel/lp4x/gen_spd.go
index acdc2657f1..2465815e49 100644
--- a/util/spd_tools/intel/lp4x/gen_spd.go
+++ b/util/spd_tools/intel/lp4x/gen_spd.go
@@ -494,6 +494,8 @@ const (
SPDIndexTAAMinFineOffset = 123
SPDIndexTCKMaxFineOffset = 124
SPDIndexTCKMinFineOffset = 125
+ SPDIndexManufacturerPartNumberStartByte = 329
+ SPDIndexManufacturerPartNumberEndByte = 348
/* SPD Byte Value */
@@ -549,6 +551,9 @@ const (
/* Write Latency Set A and Read Latency DBI-RD disabled. */
SPDValueReadWriteLatency = 0x00
+
+ /* As per JEDEC spec, unused digits of manufacturer part number are left as blank. */
+ SPDValueManufacturerPartNumberBlank = 0x20
)
var SPDAttribTable = map[int]SPDAttribTableEntry {
@@ -609,9 +614,19 @@ func writeSPDManifest(memParts *memParts, SPDDirName string) error {
return ioutil.WriteFile(filepath.Join(SPDDirName, SPDManifestFileName), []byte(s), 0644)
}
+func isManufacturerPartNumberByte(index int) bool {
+ if index >= SPDIndexManufacturerPartNumberStartByte && index <= SPDIndexManufacturerPartNumberEndByte {
+ return true
+ }
+ return false
+}
+
func getSPDByte(index int, memAttribs *memAttributes) byte {
e, ok := SPDAttribTable[index]
if ok == false {
+ if isManufacturerPartNumberByte(index) {
+ return SPDValueManufacturerPartNumberBlank
+ }
return 0x00
}