summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/msi/ms7d25/Kconfig8
-rw-r--r--src/mainboard/msi/ms7d25/Kconfig.name5
-rw-r--r--src/mainboard/msi/ms7d25/mainboard.c8
-rw-r--r--src/mainboard/msi/ms7d25/romstage_fsp_params.c21
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));
}