diff --git a/src/soc/intel/broadwell/raminit.c b/src/soc/intel/broadwell/raminit.c
index 70f3804..686c782 100644
--- a/src/soc/intel/broadwell/raminit.c
+++ b/src/soc/intel/broadwell/raminit.c
@@ -183,9 +183,9 @@
  * 2 = disable dimm 1 on channel
  * 3 = disable dimm 0+1 on channel
  */
-static int make_channel_disabled_mask(const struct pei_data *pd, int ch)
+static int make_channel_disabled_mask(const struct spd_info *spdi, int ch)
 {
-	return (!pd->spd_addresses[ch + ch] << 0) | (!pd->spd_addresses[ch + ch + 1] << 1);
+	return (!spdi->addresses[ch + ch] << 0) | (!spdi->addresses[ch + ch + 1] << 1);
 }
 
 void perform_raminit(const struct chipset_power_state *const power_state)
@@ -195,15 +195,22 @@
 	struct pei_data pei_data = { 0 };
 
 	mainboard_fill_pei_data(&pei_data);
-	mainboard_fill_spd_data(&pei_data);
+
+	/* Obtain the SPD addresses from mainboard code */
+	struct spd_info spdi = { 0 };
+	mb_get_spd_map(&spdi);
+
+	if (CONFIG(HAVE_SPD_IN_CBFS))
+		copy_spd(&pei_data, &spdi);
 
 	/* Calculate unimplemented DIMM slots for each channel */
-	pei_data.dimm_channel0_disabled = make_channel_disabled_mask(&pei_data, 0);
-	pei_data.dimm_channel1_disabled = make_channel_disabled_mask(&pei_data, 1);
+	pei_data.dimm_channel0_disabled = make_channel_disabled_mask(&spdi, 0);
+	pei_data.dimm_channel1_disabled = make_channel_disabled_mask(&spdi, 1);
 
-	for (size_t i = 0; i < ARRAY_SIZE(pei_data.spd_addresses); i++) {
-		const uint8_t addr = pei_data.spd_addresses[i];
-		pei_data.spd_addresses[i] = addr == SPD_MEMORY_DOWN ? 0 : addr;
+	/* MRC expects left-aligned SMBus addresses, and 0 for memory-down */
+	for (size_t i = 0; i < ARRAY_SIZE(spdi.addresses); i++) {
+		const uint8_t addr = spdi.addresses[i];
+		pei_data.spd_addresses[i] = addr == SPD_MEMORY_DOWN ? 0 : addr << 1;
 	}
 
 	post_code(0x32);
