coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <fsp/util.h>
#include <memory_info.h>
#include <console/console.h>
#include <cbmem.h>
#include <string.h>
#include <ec/google/chromeec/ec.h>
#include <bootstate.h>
#include <lib.h>
#include <dimm_info_util.h>
#include <dmi_info.h>
#include <device/dram/ddr4.h>
#include <device/dram/lpddr4.h>
Go to the source code of this file.
Functions | |
static uint16_t | ddr_speed_mhz_to_reported_mts (uint16_t ddr_type, uint16_t speed) |
This code was adapted from src/soc/amd/common/block/pi/amd_late_init.c. More... | |
static void | transfer_memory_info (const TYPE17_DMI_INFO *dmi17, struct dimm_info *dimm) |
Populate dimm_info using AGESA TYPE17_DMI_INFO. More... | |
static void | print_dimm_info (const struct dimm_info *dimm) |
static void | print_dmi_info (const TYPE17_DMI_INFO *dmi17) |
static void | prepare_dmi_17 (void *unused) |
Marshalls dimm info from AMD_FSP_DMI_HOB into CBMEM_ID_MEMINFO. More... | |
BOOT_STATE_INIT_ENTRY (BS_WRITE_TABLES, BS_ON_ENTRY, prepare_dmi_17, NULL) | |
BOOT_STATE_INIT_ENTRY | ( | BS_WRITE_TABLES | , |
BS_ON_ENTRY | , | ||
prepare_dmi_17 | , | ||
NULL | |||
) |
This code was adapted from src/soc/amd/common/block/pi/amd_late_init.c.
Convert DDR clock speed (based on memory type) in MHz to the standard reported speed in MT/s
Definition at line 23 of file dmi.c.
References BIOS_ERR, ddr4_speed_mhz_to_reported_mts(), lpddr4_speed_mhz_to_reported_mts(), MEMORY_TYPE_DDR4, MEMORY_TYPE_LPDDR4, and printk.
Referenced by transfer_memory_info().
Marshalls dimm info from AMD_FSP_DMI_HOB into CBMEM_ID_MEMINFO.
Definition at line 147 of file dmi.c.
References BIOS_DEBUG, BIOS_ERR, cbmem_add(), CBMEM_ID_MEMINFO, dimm_info::channel_num, CONFIG, memory_info::dimm, memory_info::dimm_cnt, DIMM_INFO_PART_NUMBER_SIZE, dimm_info::dimm_num, fsp_find_extension_hob_by_guid(), google_chromeec_cbi_get_dram_part_num(), memset(), dimm_info::module_part_number, NULL, print_dimm_info(), print_dmi_info(), printk, strncpy(), and transfer_memory_info().
Definition at line 70 of file dmi.c.
References dimm_info::bank_locator, BIOS_DEBUG, dimm_info::bus_width, dimm_info::channel_num, dimm_info::ddr_frequency, dimm_info::ddr_type, dimm_info::dimm_num, dimm_info::dimm_size, dimm_info::mod_id, dimm_info::mod_type, dimm_info::module_part_number, printk, dimm_info::rank_per_dimm, dimm_info::serial, and strlen().
Referenced by prepare_dmi_17().
|
static |
Definition at line 104 of file dmi.c.
References BIOS_DEBUG, printk, and strlen().
Referenced by prepare_dmi_17().
Populate dimm_info using AGESA TYPE17_DMI_INFO.
Definition at line 39 of file dmi.c.
References dimm_info::bank_locator, dimm_info::bus_width, dimm_info::configured_speed_mts, ddr_speed_mhz_to_reported_mts(), dimm_info::ddr_type, dimm_info::dimm_size, hexstrtobin(), dimm_info::max_speed_mts, dimm_info::mod_id, dimm_info::mod_type, dimm_info::module_part_number, dimm_info::rank_per_dimm, dimm_info::serial, smbios_bus_width_to_spd_width(), smbios_form_factor_to_spd_mod_type(), smbios_memory_size_to_mib(), and strncpy().
Referenced by prepare_dmi_17().