blob: 56c86115ccd8440a6bb963dd0636bd28b830a0d2 [file] [log] [blame]
Angel Pons60ec3652020-04-03 01:22:13 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Rizwan Qureshi06868f82016-08-23 13:38:19 +05302
Rizwan Qureshi5ff73902016-08-24 20:50:54 +05303#include <fsp/api.h>
4#include <gpio.h>
5#include "gpio.h"
Rizwan Qureshi06868f82016-08-23 13:38:19 +05306#include <soc/romstage.h>
Rizwan Qureshi5ff73902016-08-24 20:50:54 +05307#include "spd/spd.h"
Rizwan Qureshi06868f82016-08-23 13:38:19 +05308
Rizwan Qureshi5ff73902016-08-24 20:50:54 +05309void mainboard_memory_init_params(FSPM_UPD *mupd)
Rizwan Qureshi06868f82016-08-23 13:38:19 +053010{
Rizwan Qureshi5ff73902016-08-24 20:50:54 +053011 FSP_M_CONFIG *mem_cfg;
12 mem_cfg = &mupd->FspmConfig;
13
Michael Niewöhnerdd321032019-10-09 21:02:36 +020014 mainboard_fill_dq_map_data(&mem_cfg->DqByteMapCh0, &mem_cfg->DqByteMapCh1);
15 mainboard_fill_dqs_map_data(&mem_cfg->DqsMapCpu2DramCh0, &mem_cfg->DqsMapCpu2DramCh1);
Rizwan Qureshi5ff73902016-08-24 20:50:54 +053016 mainboard_fill_rcomp_res_data(&mem_cfg->RcompResistor);
17 mainboard_fill_rcomp_strength_data(&mem_cfg->RcompTarget);
18
19 mem_cfg->DqPinsInterleaved = 0;
20 mem_cfg->MemorySpdPtr00 = mainboard_get_spd_data();
21 if (mainboard_has_dual_channel_mem())
22 mem_cfg->MemorySpdPtr10 = mem_cfg->MemorySpdPtr00;
23 mem_cfg->MemorySpdDataLen = SPD_LEN;
Rizwan Qureshi06868f82016-08-23 13:38:19 +053024}