coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
romstage.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <soc/cnl_memcfg_init.h>
4 #include <soc/romstage.h>
5 
6 static const struct cnl_mb_cfg memcfg = {
7  .spd[0] = {
9  .spd_spec = {.spd_smbus_address = 0xa0},
10  },
11  .spd[1] = {
12  .read_type = READ_SMBUS,
13  .spd_spec = {.spd_smbus_address = 0xa2},
14  },
15  .spd[2] = {
16  .read_type = READ_SMBUS,
17  .spd_spec = {.spd_smbus_address = 0xa4},
18  },
19  .spd[3] = {
20  .read_type = READ_SMBUS,
21  .spd_spec = {.spd_smbus_address = 0xa6},
22  },
23  .rcomp_resistor = { 121, 75, 100 },
24  .rcomp_targets = { 50, 26, 20, 20, 26 },
25  .dq_pins_interleaved = 1,
26  .vref_ca_config = 2,
27 };
28 
29 void mainboard_memory_init_params(FSPM_UPD *memupd)
30 {
31  // Allow memory clocks higher than 2933 MHz
32  memupd->FspmConfig.SaOcSupport = 1;
33 
34  // Set primary display to PCIe graphics
35  memupd->FspmConfig.PrimaryDisplay = 1;
36 
37  cannonlake_memcfg_init(&memupd->FspmConfig, &memcfg);
38 }
void cannonlake_memcfg_init(FSP_M_CONFIG *mem_cfg, const struct cnl_mb_cfg *cnl_cfg)
@ READ_SMBUS
void mainboard_memory_init_params(FSPM_UPD *mupd)
Definition: romstage.c:22
static const struct cnl_mb_cfg memcfg
Definition: romstage.c:6
struct spd_info spd[NUM_DIMM_SLOT]
enum mem_info_read_type read_type