5 #include <soc/romstage.h>
24 .rcomp_targets = { 100, 40, 20, 20, 26 },
31 .dq_pins_interleaved = 1,
53 bool need_update_cache =
false;
54 bool dimm_changed =
true;
62 if (dimm_changed && memupd->FspmArchUpd.NvsBufferPtr != 0) {
65 memupd->FspmArchUpd.NvsBufferPtr = 0;
68 need_update_cache =
true;
@ CB_ERR
Generic error code.
@ CB_SUCCESS
Call completed successfully.
void cannonlake_memcfg_init(FSP_M_CONFIG *mem_cfg, const struct cnl_mb_cfg *cnl_cfg)
#define printk(level,...)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_WARNING
BIOS_WARNING - Bad configuration.
void mainboard_memory_init_params(FSPM_UPD *mupd)
static const struct cnl_mb_cfg memcfg
__weak void variant_memory_init_params(MEMORY_INIT_UPD *memory_params)
void get_spd_smbus(struct spd_block *blk)
void dump_spd_info(struct spd_block *blk)
bool check_if_dimm_changed(u8 *spd_cache, struct spd_block *blk)
enum cb_err load_spd_cache(uint8_t **spd_cache, size_t *spd_cache_sz)
enum cb_err spd_fill_from_cache(uint8_t *spd_cache, struct spd_block *blk)
enum cb_err update_spd_cache(struct spd_block *blk)
bool spd_cache_is_valid(uint8_t *spd_cache, size_t spd_cache_sz)
struct spd_info spd[NUM_DIMM_SLOT]
uint16_t rcomp_resistor[3]
u8 addr_map[CONFIG_DIMM_MAX]
u8 * spd_array[CONFIG_DIMM_MAX]
union spd_info::spd_data_by spd_spec
enum mem_info_read_type read_type
struct spd_by_pointer spd_data_ptr_info