coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
meminit.c File Reference
#include <assert.h>
#include <console/console.h>
#include <fsp/util.h>
#include <soc/meminit.h>
#include <spd_bin.h>
#include <string.h>
Include dependency graph for meminit.c:

Go to the source code of this file.

Functions

static void spd_read_from_cbfs (const struct spd_info *spd_info, uintptr_t *spd_data_ptr, size_t *spd_data_len)
 
static void get_spd_data (const struct spd_info *spd_info, uintptr_t *spd_data_ptr, size_t *spd_data_len)
 
static void meminit_dq_dqs_map (FSP_M_CONFIG *mem_cfg, const struct mb_cfg *board_cfg, bool half_populated)
 
static void meminit_channels (FSP_M_CONFIG *mem_cfg, const struct mb_cfg *board_cfg, uintptr_t spd_data_ptr, bool half_populated)
 
void memcfg_init (FSP_M_CONFIG *mem_cfg, const struct mb_cfg *board_cfg, const struct spd_info *spd_info, bool half_populated)
 

Function Documentation

◆ get_spd_data()

static void get_spd_data ( const struct spd_info spd_info,
uintptr_t spd_data_ptr,
size_t spd_data_len 
)
static

Definition at line 26 of file meminit.c.

References die(), READ_SPD_CBFS, READ_SPD_MEMPTR, spd_info::read_type, spd_by_pointer::spd_data_len, spd_by_pointer::spd_data_ptr, spd_info::spd_data_by::spd_data_ptr_info, spd_read_from_cbfs(), and spd_info::spd_spec.

Referenced by memcfg_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ memcfg_init()

void memcfg_init ( FSP_M_CONFIG mem_cfg,
const struct mb_cfg board_cfg,
const struct spd_info spd_info,
bool  half_populated 
)

◆ meminit_channels()

static void meminit_channels ( FSP_M_CONFIG mem_cfg,
const struct mb_cfg board_cfg,
uintptr_t  spd_data_ptr,
bool  half_populated 
)
static

Definition at line 68 of file meminit.c.

References BIOS_INFO, board_cfg, meminit_dq_dqs_map(), and printk.

Referenced by memcfg_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ meminit_dq_dqs_map()

static void meminit_dq_dqs_map ( FSP_M_CONFIG mem_cfg,
const struct mb_cfg board_cfg,
bool  half_populated 
)
static

Definition at line 43 of file meminit.c.

References board_cfg, DDR_CH0, DDR_CH1, mb_cfg::dq_map, mb_cfg::dqs_map, memcpy(), mb_cfg::rcomp_resistor, and mb_cfg::rcomp_targets.

Referenced by memcfg_init(), and meminit_channels().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ spd_read_from_cbfs()

static void spd_read_from_cbfs ( const struct spd_info spd_info,
uintptr_t spd_data_ptr,
size_t spd_data_len 
)
static

Definition at line 10 of file meminit.c.

References assert, BIOS_DEBUG, CONFIG, die(), printk, spd_cbfs_map(), spd_index, spd_info::spd_data_by::spd_index, and spd_info::spd_spec.

Referenced by get_spd_data().

Here is the call graph for this function:
Here is the caller graph for this function: