diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/intel/alderlake/romstage/romstage.c | 3 | ||||
-rw-r--r-- | src/soc/intel/apollolake/meminit_util_apl.c | 1 | ||||
-rw-r--r-- | src/soc/intel/apollolake/meminit_util_glk.c | 3 | ||||
-rw-r--r-- | src/soc/intel/cannonlake/romstage/romstage.c | 3 | ||||
-rw-r--r-- | src/soc/intel/common/smbios.c | 6 | ||||
-rw-r--r-- | src/soc/intel/common/smbios.h | 3 | ||||
-rw-r--r-- | src/soc/intel/elkhartlake/romstage/romstage.c | 3 | ||||
-rw-r--r-- | src/soc/intel/jasperlake/romstage/romstage.c | 3 | ||||
-rw-r--r-- | src/soc/intel/meteorlake/romstage/romstage.c | 3 | ||||
-rw-r--r-- | src/soc/intel/skylake/romstage/romstage.c | 3 | ||||
-rw-r--r-- | src/soc/intel/tigerlake/romstage/romstage.c | 3 | ||||
-rw-r--r-- | src/soc/intel/xeon_sp/cpx/romstage.c | 6 | ||||
-rw-r--r-- | src/soc/intel/xeon_sp/spr/romstage.c | 7 |
13 files changed, 29 insertions, 18 deletions
diff --git a/src/soc/intel/alderlake/romstage/romstage.c b/src/soc/intel/alderlake/romstage/romstage.c index 740a4a2806..dfe3b323aa 100644 --- a/src/soc/intel/alderlake/romstage/romstage.c +++ b/src/soc/intel/alderlake/romstage/romstage.c @@ -140,7 +140,8 @@ static void save_dimm_info(void) meminfo_hob->EccSupport, src_dimm->MfgId, src_dimm->SpdModuleType, - node); + node, + meminfo_hob->MaximumMemoryClockSpeed); index++; } } diff --git a/src/soc/intel/apollolake/meminit_util_apl.c b/src/soc/intel/apollolake/meminit_util_apl.c index 9432011fb6..3bcb7bb7d8 100644 --- a/src/soc/intel/apollolake/meminit_util_apl.c +++ b/src/soc/intel/apollolake/meminit_util_apl.c @@ -83,6 +83,7 @@ void save_lpddr4_dimm_info_part_num(const char *dram_part_num) 0, src_dimm->MfgId, 0, + 0, 0); index++; } diff --git a/src/soc/intel/apollolake/meminit_util_glk.c b/src/soc/intel/apollolake/meminit_util_glk.c index 9922b28a8c..753451a353 100644 --- a/src/soc/intel/apollolake/meminit_util_glk.c +++ b/src/soc/intel/apollolake/meminit_util_glk.c @@ -89,7 +89,8 @@ void save_lpddr4_dimm_info_part_num(const char *dram_part_num) 0, src_dimm->MfgId, src_dimm->SpdModuleType, - node); + node, + memory_info_hob->MaximumMemoryClockSpeed); index++; } } diff --git a/src/soc/intel/cannonlake/romstage/romstage.c b/src/soc/intel/cannonlake/romstage/romstage.c index a4173599f7..b3777b686f 100644 --- a/src/soc/intel/cannonlake/romstage/romstage.c +++ b/src/soc/intel/cannonlake/romstage/romstage.c @@ -108,7 +108,8 @@ static void save_dimm_info(void) memory_info_hob->EccSupport, src_dimm->MfgId, src_dimm->SpdModuleType, - 0); + 0, + memory_info_hob->MaximumMemoryClockSpeed); index++; } } diff --git a/src/soc/intel/common/smbios.c b/src/soc/intel/common/smbios.c index 5ab2dbc08a..818a35e6ad 100644 --- a/src/soc/intel/common/smbios.c +++ b/src/soc/intel/common/smbios.c @@ -14,13 +14,17 @@ void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type, u32 frequency, u8 rank_per_dimm, u8 channel_id, u8 dimm_id, const char *module_part_num, size_t module_part_number_size, const u8 *module_serial_num, u16 data_width, u32 vdd_voltage, - bool ecc_support, u16 mod_id, u8 mod_type, u8 ctrlr_id) + bool ecc_support, u16 mod_id, u8 mod_type, u8 ctrlr_id, + u32 max_frequency) { dimm->mod_id = mod_id; dimm->mod_type = mod_type; dimm->dimm_size = dimm_capacity; dimm->ddr_type = ddr_type; + /* keep ddr_frequency for backward compatible */ dimm->ddr_frequency = frequency; + dimm->configured_speed_mts = frequency; + dimm->max_speed_mts = max_frequency; dimm->rank_per_dimm = rank_per_dimm; dimm->channel_num = channel_id; dimm->dimm_num = dimm_id; diff --git a/src/soc/intel/common/smbios.h b/src/soc/intel/common/smbios.h index 410b2fdf87..9fb42b5d55 100644 --- a/src/soc/intel/common/smbios.h +++ b/src/soc/intel/common/smbios.h @@ -14,6 +14,7 @@ void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type, u32 frequency, u8 rank_per_dimm, u8 channel_id, u8 dimm_id, const char *module_part_num, size_t module_part_number_size, const u8 *module_serial_num, u16 data_width, u32 vdd_voltage, - bool ecc_support, u16 mod_id, u8 mod_type, u8 ctrlr_id); + bool ecc_support, u16 mod_id, u8 mod_type, u8 ctrlr_id, + u32 max_frequency); #endif /* _COMMON_SMBIOS_H_ */ diff --git a/src/soc/intel/elkhartlake/romstage/romstage.c b/src/soc/intel/elkhartlake/romstage/romstage.c index 427cee5c77..3dfb7c247d 100644 --- a/src/soc/intel/elkhartlake/romstage/romstage.c +++ b/src/soc/intel/elkhartlake/romstage/romstage.c @@ -113,7 +113,8 @@ static void save_dimm_info(void) meminfo_hob->EccSupport, src_dimm->MfgId, src_dimm->SpdModuleType, - node); + node, + meminfo_hob->MaximumMemoryClockSpeed); index++; } } diff --git a/src/soc/intel/jasperlake/romstage/romstage.c b/src/soc/intel/jasperlake/romstage/romstage.c index 9cec8598ee..3688f9e513 100644 --- a/src/soc/intel/jasperlake/romstage/romstage.c +++ b/src/soc/intel/jasperlake/romstage/romstage.c @@ -113,7 +113,8 @@ static void save_dimm_info(void) meminfo_hob->EccSupport, src_dimm->MfgId, src_dimm->SpdModuleType, - node); + node, + meminfo_hob->MaximumMemoryClockSpeed); index++; } } diff --git a/src/soc/intel/meteorlake/romstage/romstage.c b/src/soc/intel/meteorlake/romstage/romstage.c index b5351de2b7..3df480c3f5 100644 --- a/src/soc/intel/meteorlake/romstage/romstage.c +++ b/src/soc/intel/meteorlake/romstage/romstage.c @@ -108,7 +108,8 @@ static void save_dimm_info(void) meminfo_hob->EccSupport, src_dimm->MfgId, src_dimm->SpdModuleType, - node); + node, + meminfo_hob->MaximumMemoryClockSpeed); index++; } } diff --git a/src/soc/intel/skylake/romstage/romstage.c b/src/soc/intel/skylake/romstage/romstage.c index 02ae19aa33..660440cbdf 100644 --- a/src/soc/intel/skylake/romstage/romstage.c +++ b/src/soc/intel/skylake/romstage/romstage.c @@ -112,7 +112,8 @@ static void save_dimm_info(void) memory_info_hob->EccSupport, src_dimm->MfgId, src_dimm->SpdModuleType, - 0); + 0, + memory_info_hob->MaximumMemoryClockSpeed); index++; } } diff --git a/src/soc/intel/tigerlake/romstage/romstage.c b/src/soc/intel/tigerlake/romstage/romstage.c index c1aca17966..31b19d2265 100644 --- a/src/soc/intel/tigerlake/romstage/romstage.c +++ b/src/soc/intel/tigerlake/romstage/romstage.c @@ -113,7 +113,8 @@ static void save_dimm_info(void) meminfo_hob->EccSupport, src_dimm->MfgId, src_dimm->SpdModuleType, - node); + node, + meminfo_hob->MaximumMemoryClockSpeed); index++; } } diff --git a/src/soc/intel/xeon_sp/cpx/romstage.c b/src/soc/intel/xeon_sp/cpx/romstage.c index 265ab70d6d..fe2ca8654a 100644 --- a/src/soc/intel/xeon_sp/cpx/romstage.c +++ b/src/soc/intel/xeon_sp/cpx/romstage.c @@ -81,9 +81,6 @@ void save_dimm_info(void) return; } dest_dimm = &mem_info->dimm[index]; - dest_dimm->max_speed_mts = - get_max_memory_speed(src_dimm.commonTck); - dest_dimm->configured_speed_mts = hob->memFreq; dimm_info_fill(dest_dimm, src_dimm.DimmSize << 6, 0x1a, /* hard-coded memory device type as DDR4 */ @@ -99,7 +96,8 @@ void save_dimm_info(void) true, /* hard-coded as ECC supported */ src_dimm.VendorID, src_dimm.actKeyByte2, - 0); + 0, + get_max_memory_speed(src_dimm.commonTck)); index++; num_dimms++; } else if (mainboard_dimm_slot_exists(0, ch, dimm)) { diff --git a/src/soc/intel/xeon_sp/spr/romstage.c b/src/soc/intel/xeon_sp/spr/romstage.c index fef4d94d0f..8004730c59 100644 --- a/src/soc/intel/xeon_sp/spr/romstage.c +++ b/src/soc/intel/xeon_sp/spr/romstage.c @@ -304,9 +304,7 @@ void save_dimm_info(void) the board. */ continue; } - dest_dimm->max_speed_mts = - get_max_memory_speed(src_dimm.commonTck); - dest_dimm->configured_speed_mts = hob->memFreq; + dest_dimm->soc_num = soc; if (hob->DramType == SPD_TYPE_DDR5) { @@ -328,7 +326,8 @@ void save_dimm_info(void) sizeof(src_dimm.PartNumber), (const uint8_t *)&src_dimm.serialNumber[0], data_width, vdd_voltage, true, /* hard-coded as ECC supported */ - src_dimm.VendorID, src_dimm.actKeyByte2, 0); + src_dimm.VendorID, src_dimm.actKeyByte2, 0, + get_max_memory_speed(src_dimm.commonTck)); dimm_num++; } } |