# This is a CSV file containing a list of memory parts used by this variant.
# Generate an updated Makefile.inc and dram_id.generated.txt by running the
# gen_part_id tool from util/spd_tools/lp4x
# See util/spd_tools/lp4x/README.md for more details and instructions.

# Part Name
