From 4a8cb30222a34de760d38c7d13d54e24221d9fec Mon Sep 17 00:00:00 2001 From: Angel Pons Date: Wed, 23 Jun 2021 16:14:56 +0200 Subject: soc/intel/broadwell: Consolidate SPD handling Mainboards do not need to know about `pei_data` to tell northbridge code where to find the SPD data. As done on Haswell, add the `mb_get_spd_map` function and the `struct spd_info` type to retrieve SPD information from mainboard code without having to use `pei_data` in said mainboard code. Unlike Haswell MRC, Broadwell MRC uses all positions of the `spd_data` array, not just the first. The placeholder SPD address for memory-down seems to be different as well. Adapt the existing code to handle these variations. Once complete, the abstraction layer for both MRC binaries will have the same API. Change-Id: I92a05003a319c354675368cae8e34980bd2f9e10 Signed-off-by: Angel Pons Reviewed-on: https://review.coreboot.org/c/coreboot/+/55811 Tested-by: build bot (Jenkins) Reviewed-by: Matt DeVillier --- src/mainboard/intel/wtm2/pei_data.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/mainboard/intel') diff --git a/src/mainboard/intel/wtm2/pei_data.c b/src/mainboard/intel/wtm2/pei_data.c index b0e8123783..6c7ebd6bb7 100644 --- a/src/mainboard/intel/wtm2/pei_data.c +++ b/src/mainboard/intel/wtm2/pei_data.c @@ -3,11 +3,10 @@ #include #include -void mainboard_fill_spd_data(struct pei_data *pei_data) +void mb_get_spd_map(struct spd_info *spdi) { - /* One installed DIMM per channel */ - pei_data->spd_addresses[0] = 0xa2; - pei_data->spd_addresses[2] = 0xa2; + spdi->addresses[0] = 0x51; + spdi->addresses[2] = 0x51; } void mainboard_fill_pei_data(struct pei_data *pei_data) -- cgit v1.2.3