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/romstage.h>
4 #include <baseboard/variants.h>
6 
8 {
9  int ram_id = get_ramid();
10 
11  /*
12  * RAMID = 4 - 4GiB Micron MT52L256M32D1PF
13  * RAMID = 12 - 2GiB Micron MT52L256M32D1PF
14  */
15  if (ram_id == 4 || ram_id == 12) {
16 
17  /*
18  * For new micron part, it requires read/receive
19  * enable training before sending cmds to get MR8.
20  * To override dram geometry settings as below:
21  *
22  * PcdDramWidth = x32
23  * PcdDramDensity = 8Gb
24  * PcdDualRankDram = disable
25  */
26  memory_params->PcdRxOdtLimitChannel0 = 1;
27  memory_params->PcdRxOdtLimitChannel1 = 1;
28  memory_params->PcdDisableAutoDetectDram = 1;
29  memory_params->PcdDramWidth = 2;
30  memory_params->PcdDramDensity = 3;
31  memory_params->PcdDualRankDram = 0;
32  }
33 }
__weak void variant_memory_init_params(MEMORY_INIT_UPD *memory_params)
Definition: romstage.c:18
__weak uint8_t get_ramid(void)
Definition: spd.c:17