![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <fsp/api.h>
#include <types.h>
Go to the source code of this file.
Data Structures | |
struct | mem_spd |
struct | soc_mem_cfg |
struct | mem_channel_data |
Macros | |
#define | CHANNEL_COUNT(ch_width) (CONFIG_DATA_BUS_WIDTH / (ch_width)) |
#define | MRC_CHANNELS CHANNEL_COUNT(CONFIG_MRC_CHANNEL_WIDTH) |
Enumerations | |
enum | mem_topology { MEM_TOPO_MEMORY_DOWN = BIT(0) , MEM_TOPO_DIMM_MODULE = BIT(1) , MEM_TOPO_MIXED = MEM_TOPO_MEMORY_DOWN | MEM_TOPO_DIMM_MODULE } |
enum | channel_population { NO_CHANNEL_POPULATED = 0 , TOP_HALF_POPULATED = BIT(0) , BOTTOM_HALF_POPULATED = BIT(1) , FULLY_POPULATED = TOP_HALF_POPULATED | BOTTOM_HALF_POPULATED } |
Functions | |
void | mem_populate_channel_data (FSPM_UPD *memupd, const struct soc_mem_cfg *soc_mem_cfg, const struct mem_spd *spd_info, bool half_populated, struct mem_channel_data *data) |
static bool | channel_is_populated (size_t curr_ch, size_t max_ch, enum channel_population flags) |
#define CHANNEL_COUNT | ( | ch_width | ) | (CONFIG_DATA_BUS_WIDTH / (ch_width)) |
#define MRC_CHANNELS CHANNEL_COUNT(CONFIG_MRC_CHANNEL_WIDTH) |
enum channel_population |
enum mem_topology |
|
inlinestatic |
Definition at line 150 of file meminit.h.
Referenced by mem_init_dq_dqs_upds().
void mem_populate_channel_data | ( | FSPM_UPD * | memupd, |
const struct soc_mem_cfg * | soc_mem_cfg, | ||
const struct mem_spd * | spd_info, | ||
bool | half_populated, | ||
struct mem_channel_data * | data | ||
) |
Definition at line 187 of file meminit.c.
References mem_channel_data::ch_population_flags, die(), MEM_TOPO_DIMM_MODULE, MEM_TOPO_MEMORY_DOWN, memset(), NO_CHANNEL_POPULATED, read_spd_dimm(), read_spd_md(), and mem_channel_data::spd_len.
Referenced by memcfg_init().