coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
spd.c File Reference
#include <cbfs.h>
#include <console/console.h>
#include <mainboard/google/auron/variant.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>
#include <soc/pei_data.h>
#include <soc/pei_wrapper.h>
#include <string.h>
#include <types.h>
Include dependency graph for spd.c:

Go to the source code of this file.

Macros

#define SPD_DRAM_TYPE   2
 
#define SPD_DRAM_DDR3   0x0b
 
#define SPD_DRAM_LPDDR3   0xf1
 
#define SPD_DENSITY_BANKS   4
 
#define SPD_ADDRESSING   5
 
#define SPD_ORGANIZATION   7
 
#define SPD_BUS_DEV_WIDTH   8
 
#define SPD_PART_OFF   128
 
#define SPD_PART_LEN   18
 
#define SPD_LEN   256
 

Functions

static void mainboard_print_spd_info (uint8_t spd[])
 
static void fill_spd_for_index (uint8_t spd[], unsigned int spd_index)
 
void mainboard_fill_spd_data (struct pei_data *pei_data)
 

Macro Definition Documentation

◆ SPD_ADDRESSING

#define SPD_ADDRESSING   5

Definition at line 16 of file spd.c.

◆ SPD_BUS_DEV_WIDTH

#define SPD_BUS_DEV_WIDTH   8

Definition at line 18 of file spd.c.

◆ SPD_DENSITY_BANKS

#define SPD_DENSITY_BANKS   4

Definition at line 15 of file spd.c.

◆ SPD_DRAM_DDR3

#define SPD_DRAM_DDR3   0x0b

Definition at line 13 of file spd.c.

◆ SPD_DRAM_LPDDR3

#define SPD_DRAM_LPDDR3   0xf1

Definition at line 14 of file spd.c.

◆ SPD_DRAM_TYPE

#define SPD_DRAM_TYPE   2

Definition at line 12 of file spd.c.

◆ SPD_LEN

#define SPD_LEN   256

Definition at line 22 of file spd.c.

◆ SPD_ORGANIZATION

#define SPD_ORGANIZATION   7

Definition at line 17 of file spd.c.

◆ SPD_PART_LEN

#define SPD_PART_LEN   18

Definition at line 20 of file spd.c.

◆ SPD_PART_OFF

#define SPD_PART_OFF   128

Definition at line 19 of file spd.c.

Function Documentation

◆ fill_spd_for_index()

static void fill_spd_for_index ( uint8_t  spd[],
unsigned int  spd_index 
)
static

Definition at line 74 of file spd.c.

References BIOS_DEBUG, BIOS_ERR, cbfs_map(), die(), mainboard_print_spd_info(), memcpy(), printk, spd_index, and SPD_LEN.

Referenced by mainboard_fill_spd_data().

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

◆ mainboard_fill_spd_data()

void mainboard_fill_spd_data ( struct pei_data pei_data)

Definition at line 102 of file spd.c.

References pei_data::dimm_channel1_disabled, fill_spd_for_index(), memcpy(), pei_data::spd_data, spd_index, SPD_LEN, variant_get_spd_index(), and variant_is_dual_channel().

Referenced by perform_raminit().

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

◆ mainboard_print_spd_info()

static void mainboard_print_spd_info ( uint8_t  spd[])
static

Definition at line 24 of file spd.c.

References BIOS_INFO, memcpy(), printk, SPD_ADDRESSING, SPD_BUS_DEV_WIDTH, SPD_DENSITY_BANKS, SPD_DRAM_DDR3, SPD_DRAM_LPDDR3, SPD_DRAM_TYPE, SPD_ORGANIZATION, SPD_PART_LEN, and SPD_PART_OFF.

Referenced by fill_spd_for_index().

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