diff options
author | Furquan Shaikh <furquan@google.com> | 2020-06-02 22:45:52 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-06-08 06:42:19 +0000 |
commit | bcb4a77fb11dc3cc8b0c74559e4f47549db368e4 (patch) | |
tree | 7c7e037ca6a6ca961f346a90ffdd761cd054ebf4 /util/spd_tools/intel/lp4x/gen_spd.go | |
parent | 16ef59e81ee74fdf24ea14827a5dee4d5ff42381 (diff) | |
download | coreboot-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/intel/lp4x/gen_spd.go')
-rw-r--r-- | util/spd_tools/intel/lp4x/gen_spd.go | 15 |
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 } |