diff options
author | Rob Barnes <robbarnes@google.com> | 2020-08-14 09:40:04 -0600 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2020-08-28 04:36:55 +0000 |
commit | a662648a7fbfc04bb0f4a2ef92d7faa4fb8c7e09 (patch) | |
tree | 010025465fcc0f537672127d9d4e39e3f591c0ec /util/spd_tools/ddr4/README.md | |
parent | e905753afdc534379a03b442ea07574822813871 (diff) | |
download | coreboot-a662648a7fbfc04bb0f4a2ef92d7faa4fb8c7e09.tar.xz |
util: Add support to spd_tools for fixed id
For boards that have already assigned memory ids, there needs to be a
way to fix parts to a specific id. After assigning all the fixed ids the
tool still attempts to minimize the SPDs entries. Since a fixed ID could
be anywhere, gaps can be created in the list. So an empty SPD entry is
created to fill the gaps in the list until they are used.
BUG=b:162939176
TEST=Generate various outputs
Signed-off-by: Rob Barnes <robbarnes@google.com>
Change-Id: I1f8ea1ff4f33a97ab28ba94896a1054e89189576
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44463
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Diffstat (limited to 'util/spd_tools/ddr4/README.md')
-rw-r--r-- | util/spd_tools/ddr4/README.md | 30 |
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 |