coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
spd.h File Reference
#include <fsp/soc_binding.h>
#include <gpio.h>
#include "../gpio.h"
Include dependency graph for spd.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SPD_LEN   256
 
#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_MANU_OFF   148
 
#define HYNIX_SINGLE_CHAN   0x1
 
#define SAMSUNG_SINGLE_CHAN   0x4
 
#define MIC_SINGLE_CHAN   0x5
 
#define MAX_MEMORY_CONFIG   0x10
 
#define K4E6E304EE_MEM_ID   0x3
 

Functions

static int get_spd_index (void)
 
void mainboard_fill_dq_map_data (void *dq_map_ch0, void *dq_map_ch1)
 
void mainboard_fill_dqs_map_data (void *dqs_map_ch0, void *dqs_map_ch1)
 
void mainboard_fill_rcomp_res_data (void *rcomp_ptr)
 
void mainboard_fill_rcomp_strength_data (void *rcomp_strength_ptr)
 
uintptr_t mainboard_get_spd_data (void)
 
int mainboard_has_dual_channel_mem (void)
 

Macro Definition Documentation

◆ HYNIX_SINGLE_CHAN

#define HYNIX_SINGLE_CHAN   0x1

Definition at line 24 of file spd.h.

◆ K4E6E304EE_MEM_ID

#define K4E6E304EE_MEM_ID   0x3

Definition at line 30 of file spd.h.

◆ MAX_MEMORY_CONFIG

#define MAX_MEMORY_CONFIG   0x10

Definition at line 29 of file spd.h.

◆ MIC_SINGLE_CHAN

#define MIC_SINGLE_CHAN   0x5

Definition at line 26 of file spd.h.

◆ SAMSUNG_SINGLE_CHAN

#define SAMSUNG_SINGLE_CHAN   0x4

Definition at line 25 of file spd.h.

◆ SPD_ADDRESSING

#define SPD_ADDRESSING   5

Definition at line 17 of file spd.h.

◆ SPD_BUS_DEV_WIDTH

#define SPD_BUS_DEV_WIDTH   8

Definition at line 19 of file spd.h.

◆ SPD_DENSITY_BANKS

#define SPD_DENSITY_BANKS   4

Definition at line 16 of file spd.h.

◆ SPD_DRAM_DDR3

#define SPD_DRAM_DDR3   0x0b

Definition at line 14 of file spd.h.

◆ SPD_DRAM_LPDDR3

#define SPD_DRAM_LPDDR3   0xf1

Definition at line 15 of file spd.h.

◆ SPD_DRAM_TYPE

#define SPD_DRAM_TYPE   2

Definition at line 13 of file spd.h.

◆ SPD_LEN

#define SPD_LEN   256

Definition at line 11 of file spd.h.

◆ SPD_MANU_OFF

#define SPD_MANU_OFF   148

Definition at line 22 of file spd.h.

◆ SPD_ORGANIZATION

#define SPD_ORGANIZATION   7

Definition at line 18 of file spd.h.

◆ SPD_PART_LEN

#define SPD_PART_LEN   18

Definition at line 21 of file spd.h.

◆ SPD_PART_OFF

#define SPD_PART_OFF   128

Definition at line 20 of file spd.h.

Function Documentation

◆ get_spd_index()

static int get_spd_index ( void  )
inlinestatic

Definition at line 32 of file spd.h.

References ARRAY_SIZE, gpio_base2_value(), GPIO_MEM_CONFIG_0, GPIO_MEM_CONFIG_1, GPIO_MEM_CONFIG_2, and GPIO_MEM_CONFIG_3.

Here is the call graph for this function:

◆ mainboard_fill_dq_map_data()

void mainboard_fill_dq_map_data ( void dq_map_ch0,
void dq_map_ch1 
)

Definition at line 9 of file spd_util.c.

◆ mainboard_fill_dqs_map_data()

void mainboard_fill_dqs_map_data ( void dqs_map_ch0,
void dqs_map_ch1 
)

Definition at line 21 of file spd_util.c.

◆ mainboard_fill_rcomp_res_data()

void mainboard_fill_rcomp_res_data ( void rcomp_ptr)

Definition at line 28 of file spd_util.c.

◆ mainboard_fill_rcomp_strength_data()

void mainboard_fill_rcomp_strength_data ( void rcomp_strength_ptr)

Definition at line 36 of file spd_util.c.

◆ mainboard_get_spd_data()

uintptr_t mainboard_get_spd_data ( void  )

Definition at line 75 of file spd.c.

References BIOS_ERR, BIOS_INFO, cbfs_map(), die(), get_spd_index(), mainboard_get_spd_index(), mainboard_print_spd_info(), printk, spd_index, and SPD_LEN.

Here is the call graph for this function:

◆ mainboard_has_dual_channel_mem()

int mainboard_has_dual_channel_mem ( void  )

Definition at line 89 of file spd_util.c.

References BIOS_INFO, get_spd_index(), HYNIX_SINGLE_CHAN, MIC_SINGLE_CHAN, printk, SAMSUNG_SINGLE_CHAN, and spd_index.

Referenced by mainboard_memory_init_params().

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