aboutsummaryrefslogtreecommitdiff
path: root/util/spd_tools/ddr4/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'util/spd_tools/ddr4/README.md')
-rw-r--r--util/spd_tools/ddr4/README.md30
1 files changed, 25 insertions, 5 deletions
diff --git a/util/spd_tools/ddr4/README.md b/util/spd_tools/ddr4/README.md
index 81ab97a80a..646d937d9b 100644
--- a/util/spd_tools/ddr4/README.md
+++ b/util/spd_tools/ddr4/README.md
@@ -16,8 +16,8 @@ by the board.
SPD files.
* gen_part_id.go: Allocates DRAM strap IDs for different DDR4
- memory parts used by the board. Takes as input list of memory parts
- used by the board (with one memory part on each line) and the SPD
+ memory parts used by the board. Takes as input a list of memory parts
+ used (in CSV format) by the board with optional fixed ids and the SPD
manifest file generated by gen_spd.go. Generates Makefile.inc for
integrating the generated SPD files in the coreboot build.
@@ -192,12 +192,29 @@ This program takes as input:
* Pointer to directory where the SPD files and the manifest file
`ddr4_spd_manifest.generated.txt` (in CSV format) are placed by
gen_spd.go
-* File containing list of memory parts used by the board. Each line of
- the file is supposed to contain one memory part `name` as present in
- the global list of memory parts provided to gen_spd.go
+* CSV file containing list of memory parts used by the board and optional
+ fixed id. Each line of the file is supposed to contain one memory part `name`
+ as present in the global list of memory parts provided to gen_spd.go.
+ Optionally a fixed id may also be assigned to the part if required.
+ NOTE: Only assign a fixed ID if required for legacy reasons.
+
* Pointer to directory where the generated Makefile.inc should be
placed by the tool.
+Sample input (mem_parts_used_file.txt):
+```
+K4AAG165WA-BCWE,1
+MT40A512M16TB-062E:J
+MT40A1G16KD-062E:E
+K4A8G165WC-BCWE
+H5AN8G6NDJR-XNC,8
+H5ANAG6NCMR-XNC
+```
+NOTE: This will ensure SPDs compatible with K4AAG165WA-BCWE and H5AN8G6NDJR-XNC
+are assigned to ID 1 and 8 respectively. All other memory parts will be
+assigned to the first compatible ID. Assigning fixed IDs may result in
+duplicate SPD entries or gaps in the ID mapping.
+
### Output
This program provides the following:
@@ -227,8 +244,11 @@ Sample Makefile.inc:
SPD_SOURCES =
SPD_SOURCES += ddr4-spd-1.hex # ID = 0(0b0000) Parts = MEMORY_PART_A
SPD_SOURCES += ddr4-spd-2.hex # ID = 1(0b0001) Parts = MEMORY_PART_B, MEMORY_PART_D
+SPD_SOURCES += ddr4-spd-empty.hex # ID = 2(0b0010)
SPD_SOURCES += ddr4-spd-3.hex # ID = 2(0b0010) Parts = MEMORY_PART_C
```
+NOTE: Empty entries may be required if there is a gap created by a memory part
+with a fixed id.
### Note of caution