diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/msi/ms7d25/Kconfig | 8 | ||||
-rw-r--r-- | src/mainboard/msi/ms7d25/Kconfig.name | 5 | ||||
-rw-r--r-- | src/mainboard/msi/ms7d25/mainboard.c | 8 | ||||
-rw-r--r-- | src/mainboard/msi/ms7d25/romstage_fsp_params.c | 21 |
4 files changed, 38 insertions, 4 deletions
diff --git a/src/mainboard/msi/ms7d25/Kconfig b/src/mainboard/msi/ms7d25/Kconfig index 0c8130fbfe..b5c1a46d19 100644 --- a/src/mainboard/msi/ms7d25/Kconfig +++ b/src/mainboard/msi/ms7d25/Kconfig @@ -1,6 +1,9 @@ config BOARD_MSI_Z690_A_PRO_WIFI_DDR4 select BOARD_MSI_MS7D25 +config BOARD_MSI_Z690_A_PRO_WIFI_DDR5 + select BOARD_MSI_MS7D25 + config BOARD_MSI_MS7D25 def_bool n select SOC_INTEL_ALDERLAKE_PCH_S @@ -21,6 +24,7 @@ config MAINBOARD_DIR config MAINBOARD_PART_NUMBER default "PRO Z690-A WIFI DDR4(MS-7D25)" if BOARD_MSI_Z690_A_PRO_WIFI_DDR4 + default "PRO Z690-A WIFI (MS-7D25)" if BOARD_MSI_Z690_A_PRO_WIFI_DDR5 config MAINBOARD_VENDOR string @@ -30,6 +34,10 @@ config MAINBOARD_FAMILY string default "Default string" +config MAINBOARD_VERSION + string + default "2.0" if BOARD_MSI_Z690_A_PRO_WIFI_DDR5 + config DIMM_SPD_SIZE default 512 diff --git a/src/mainboard/msi/ms7d25/Kconfig.name b/src/mainboard/msi/ms7d25/Kconfig.name index 05a8ceee9d..2ff2df7de9 100644 --- a/src/mainboard/msi/ms7d25/Kconfig.name +++ b/src/mainboard/msi/ms7d25/Kconfig.name @@ -1,2 +1,5 @@ config BOARD_MSI_Z690_A_PRO_WIFI_DDR4 - bool "PRO Z690-A WIFI DDR4" + bool "PRO Z690-A (WIFI) DDR4" + +config BOARD_MSI_Z690_A_PRO_WIFI_DDR5 + bool "PRO Z690-A (WIFI)" diff --git a/src/mainboard/msi/ms7d25/mainboard.c b/src/mainboard/msi/ms7d25/mainboard.c index 9c3a3ae17e..539f897e7a 100644 --- a/src/mainboard/msi/ms7d25/mainboard.c +++ b/src/mainboard/msi/ms7d25/mainboard.c @@ -35,7 +35,6 @@ const char *smbios_system_product_name(void) const char *smbios_mainboard_product_name(void) { - /* Currently we support DDR4 variants, but e.g. DDR5 can be added later */ if (CONFIG(BOARD_MSI_Z690_A_PRO_WIFI_DDR4)) { if (is_devfn_enabled(PCH_DEVFN_CNVI_WIFI)) return "PRO Z690-A WIFI DDR4(MS-7D25)"; @@ -43,6 +42,13 @@ const char *smbios_mainboard_product_name(void) return "PRO Z690-A DDR4(MS-7D25)"; } + if (CONFIG(BOARD_MSI_Z690_A_PRO_WIFI_DDR5)) { + if (is_devfn_enabled(PCH_DEVFN_CNVI_WIFI)) + return "PRO Z690-A WIFI (MS-7D25)"; + else + return "PRO Z690-A (MS-7D25)"; + } + return CONFIG_MAINBOARD_PART_NUMBER; } diff --git a/src/mainboard/msi/ms7d25/romstage_fsp_params.c b/src/mainboard/msi/ms7d25/romstage_fsp_params.c index 9199a81c1f..707f871cc5 100644 --- a/src/mainboard/msi/ms7d25/romstage_fsp_params.c +++ b/src/mainboard/msi/ms7d25/romstage_fsp_params.c @@ -10,11 +10,25 @@ static const struct mb_cfg ddr4_mem_config = { .type = MEM_TYPE_DDR4, + /* According to DOC #573387 rcomp values no longer have to be provided */ + /* DDR DIMM configuration does not need to set DQ/DQS maps */ + .UserBd = BOARD_TYPE_DESKTOP_2DPC, + + .ddr_config = { + .dq_pins_interleaved = true, + }, +}; + +static const struct mb_cfg ddr5_mem_config = { + .type = MEM_TYPE_DDR5, + + .ect = true, /* Early Command Training */ /* According to DOC #573387 rcomp values no longer have to be provided */ /* DDR DIMM configuration does not need to set DQ/DQS maps */ + .UserBd = BOARD_TYPE_DESKTOP_2DPC, - .UserBd = BOARD_TYPE_DESKTOP_2DPC, /* FIXME */ + .LpDdrDqDqsReTraining = 1, .ddr_config = { .dq_pins_interleaved = true, @@ -54,7 +68,10 @@ void mainboard_memory_init_params(FSPM_UPD *memupd) */ memupd->FspmConfig.GpioOverride = 0; - memcfg_init(memupd, &ddr4_mem_config, &dimm_module_spd_info, false); + if (CONFIG(BOARD_MSI_Z690_A_PRO_WIFI_DDR4)) + memcfg_init(memupd, &ddr4_mem_config, &dimm_module_spd_info, false); + if (CONFIG(BOARD_MSI_Z690_A_PRO_WIFI_DDR5)) + memcfg_init(memupd, &ddr5_mem_config, &dimm_module_spd_info, false); gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table)); } |