summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/amd/picasso/Makefile.inc2
-rwxr-xr-xutil/apcb/apcb_edit.py11
2 files changed, 13 insertions, 0 deletions
diff --git a/src/soc/amd/picasso/Makefile.inc b/src/soc/amd/picasso/Makefile.inc
index aa9d8c9955..4c1d726804 100644
--- a/src/soc/amd/picasso/Makefile.inc
+++ b/src/soc/amd/picasso/Makefile.inc
@@ -395,6 +395,7 @@ $(obj)/APCB_%_x1.bin: $$(SPD_SOURCES_DIR)/%.spd.hex \
$(APCB_MAGIC_BLOB) \
$@ \
--hex \
+ --strip_manufacturer_information \
--spd_0_0 $< \
--board_id_gpio0 $(APCB_BOARD_ID_GPIO0) \
--board_id_gpio1 $(APCB_BOARD_ID_GPIO1) \
@@ -408,6 +409,7 @@ $(obj)/APCB_%_x2.bin: $$(SPD_SOURCES_DIR)/%.spd.hex \
$(APCB_MAGIC_BLOB) \
$@ \
--hex \
+ --strip_manufacturer_information \
--spd_0_0 $< \
--spd_1_0 $< \
--board_id_gpio0 $(APCB_BOARD_ID_GPIO0) \
diff --git a/util/apcb/apcb_edit.py b/util/apcb/apcb_edit.py
index 54d59d6fcc..388b18ad73 100755
--- a/util/apcb/apcb_edit.py
+++ b/util/apcb/apcb_edit.py
@@ -59,6 +59,10 @@ def parseargs():
action='store_true',
help='SPD input file is hex encoded, binary otherwise')
parser.add_argument(
+ '--strip_manufacturer_information',
+ action='store_true',
+ help='Strip all manufacturer information from SPD')
+ parser.add_argument(
'--board_id_gpio0',
type=int,
required=True,
@@ -155,6 +159,13 @@ def main():
assert len(spd) == 512, \
"Expected SPD to be 512 bytes, got %d" % len(spd)
+ if args.strip_manufacturer_information:
+ print("Stripping manufacturer information from SPD")
+ spd = spd[0:320] + b'\x00'*64 + spd[320+64:]
+
+ assert len(spd) == 512, \
+ "Error while stripping SPD manufacurer information"
+
print("Enabling channel %d, dimm %d and injecting SPD" %
(spd_ssp.ChannelNumber, spd_ssp.DimmNumber))
spd_ssp = spd_ssp._replace(SpdValid=True, DimmPresent=True)