diff options
-rw-r--r-- | src/mainboard/asrock/b85m_pro4/romstage.c | 8 | ||||
-rw-r--r-- | src/mainboard/asrock/h81m-hds/romstage.c | 4 | ||||
-rw-r--r-- | src/mainboard/google/beltino/romstage.c | 4 | ||||
-rw-r--r-- | src/mainboard/hp/folio_9480m/romstage.c | 4 | ||||
-rw-r--r-- | src/mainboard/intel/baskingridge/romstage.c | 8 | ||||
-rw-r--r-- | src/mainboard/lenovo/t440p/romstage.c | 4 | ||||
-rw-r--r-- | src/mainboard/msi/h81m-p33/romstage.c | 4 | ||||
-rw-r--r-- | src/mainboard/supermicro/x10slm-f/romstage.c | 8 | ||||
-rw-r--r-- | src/northbridge/intel/haswell/raminit.c | 7 | ||||
-rw-r--r-- | src/northbridge/intel/haswell/raminit.h | 2 |
10 files changed, 28 insertions, 25 deletions
diff --git a/src/mainboard/asrock/b85m_pro4/romstage.c b/src/mainboard/asrock/b85m_pro4/romstage.c index 7a4e402d91..793a7d7b30 100644 --- a/src/mainboard/asrock/b85m_pro4/romstage.c +++ b/src/mainboard/asrock/b85m_pro4/romstage.c @@ -19,10 +19,10 @@ void mainboard_config_rcba(void) void mb_get_spd_map(struct spd_info *spdi) { - spdi->addresses[0] = 0xa0; - spdi->addresses[1] = 0xa2; - spdi->addresses[2] = 0xa4; - spdi->addresses[3] = 0xa6; + spdi->addresses[0] = 0x50; + spdi->addresses[1] = 0x51; + spdi->addresses[2] = 0x52; + spdi->addresses[3] = 0x53; } const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS] = { diff --git a/src/mainboard/asrock/h81m-hds/romstage.c b/src/mainboard/asrock/h81m-hds/romstage.c index 58f9697162..a5b667f053 100644 --- a/src/mainboard/asrock/h81m-hds/romstage.c +++ b/src/mainboard/asrock/h81m-hds/romstage.c @@ -19,8 +19,8 @@ void mainboard_config_rcba(void) void mb_get_spd_map(struct spd_info *spdi) { - spdi->addresses[0] = 0xa0; - spdi->addresses[2] = 0xa4; + spdi->addresses[0] = 0x50; + spdi->addresses[2] = 0x52; } const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS] = { diff --git a/src/mainboard/google/beltino/romstage.c b/src/mainboard/google/beltino/romstage.c index b69fb933b3..9904d5a9b9 100644 --- a/src/mainboard/google/beltino/romstage.c +++ b/src/mainboard/google/beltino/romstage.c @@ -42,8 +42,8 @@ void mainboard_config_rcba(void) void mb_get_spd_map(struct spd_info *spdi) { - spdi->addresses[0] = 0xa0; - spdi->addresses[2] = 0xa4; + spdi->addresses[0] = 0x50; + spdi->addresses[2] = 0x52; } const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS] = { diff --git a/src/mainboard/hp/folio_9480m/romstage.c b/src/mainboard/hp/folio_9480m/romstage.c index af3005f04c..865fcc6617 100644 --- a/src/mainboard/hp/folio_9480m/romstage.c +++ b/src/mainboard/hp/folio_9480m/romstage.c @@ -19,8 +19,8 @@ void mainboard_config_rcba(void) void mb_get_spd_map(struct spd_info *spdi) { - spdi->addresses[0] = 0xa0; - spdi->addresses[2] = 0xa4; + spdi->addresses[0] = 0x50; + spdi->addresses[2] = 0x52; } const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS] = { diff --git a/src/mainboard/intel/baskingridge/romstage.c b/src/mainboard/intel/baskingridge/romstage.c index 7580799898..0f2719a106 100644 --- a/src/mainboard/intel/baskingridge/romstage.c +++ b/src/mainboard/intel/baskingridge/romstage.c @@ -43,10 +43,10 @@ void mainboard_config_rcba(void) void mb_get_spd_map(struct spd_info *spdi) { - spdi->addresses[0] = 0xa0; - spdi->addresses[1] = 0xa2; - spdi->addresses[2] = 0xa4; - spdi->addresses[3] = 0xa6; + spdi->addresses[0] = 0x50; + spdi->addresses[1] = 0x51; + spdi->addresses[2] = 0x52; + spdi->addresses[3] = 0x53; } const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS] = { diff --git a/src/mainboard/lenovo/t440p/romstage.c b/src/mainboard/lenovo/t440p/romstage.c index 7840a1fffa..a85935b678 100644 --- a/src/mainboard/lenovo/t440p/romstage.c +++ b/src/mainboard/lenovo/t440p/romstage.c @@ -42,8 +42,8 @@ void mb_late_romstage_setup(void) void mb_get_spd_map(struct spd_info *spdi) { - spdi->addresses[0] = 0xa0; - spdi->addresses[2] = 0xa2; + spdi->addresses[0] = 0x50; + spdi->addresses[2] = 0x51; } const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS] = { diff --git a/src/mainboard/msi/h81m-p33/romstage.c b/src/mainboard/msi/h81m-p33/romstage.c index 059ebdc1b6..97c888d9e7 100644 --- a/src/mainboard/msi/h81m-p33/romstage.c +++ b/src/mainboard/msi/h81m-p33/romstage.c @@ -19,8 +19,8 @@ void mainboard_config_rcba(void) void mb_get_spd_map(struct spd_info *spdi) { - spdi->addresses[0] = 0xa0; - spdi->addresses[2] = 0xa4; + spdi->addresses[0] = 0x50; + spdi->addresses[2] = 0x52; } const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS] = { diff --git a/src/mainboard/supermicro/x10slm-f/romstage.c b/src/mainboard/supermicro/x10slm-f/romstage.c index 2ec993ffb3..e555bea29b 100644 --- a/src/mainboard/supermicro/x10slm-f/romstage.c +++ b/src/mainboard/supermicro/x10slm-f/romstage.c @@ -19,10 +19,10 @@ void mainboard_config_rcba(void) void mb_get_spd_map(struct spd_info *spdi) { - spdi->addresses[0] = 0xa0; - spdi->addresses[1] = 0xa2; - spdi->addresses[2] = 0xa4; - spdi->addresses[3] = 0xa6; + spdi->addresses[0] = 0x50; + spdi->addresses[1] = 0x51; + spdi->addresses[2] = 0x52; + spdi->addresses[3] = 0x53; } const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS] = { diff --git a/src/northbridge/intel/haswell/raminit.c b/src/northbridge/intel/haswell/raminit.c index d84d3fb12a..1f84ffa5cb 100644 --- a/src/northbridge/intel/haswell/raminit.c +++ b/src/northbridge/intel/haswell/raminit.c @@ -347,8 +347,11 @@ void perform_raminit(const int s3resume) struct spd_info spdi = {0}; mb_get_spd_map(&spdi); - for (size_t i = 0; i < ARRAY_SIZE(spdi.addresses); i++) - pei_data.spd_addresses[i] = spdi.addresses[i]; + /* MRC expects left-aligned SMBus addresses, and 0xff 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 ? 0xff : addr << 1; + } /* Calculate unimplemented DIMM slots for each channel */ pei_data.dimm_channel0_disabled = make_channel_disabled_mask(&pei_data, 0); diff --git a/src/northbridge/intel/haswell/raminit.h b/src/northbridge/intel/haswell/raminit.h index 7eb3980544..ab245d85a1 100644 --- a/src/northbridge/intel/haswell/raminit.h +++ b/src/northbridge/intel/haswell/raminit.h @@ -17,7 +17,7 @@ struct spd_info { extern const struct usb2_port_setting mainboard_usb2_ports[MAX_USB2_PORTS]; extern const struct usb3_port_setting mainboard_usb3_ports[MAX_USB3_PORTS]; -/* Mainboard callback to fill in the SPD addresses in MRC format */ +/* Mainboard callback to fill in the SPD addresses */ void mb_get_spd_map(struct spd_info *spdi); void perform_raminit(const int s3resume); |