![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
Go to the source code of this file.
Data Structures | |
struct | rec_timing_t |
Functions | |
static void | normalize_rec_timing (rec_timing_t *const timing) |
static void | rec_full_backstep (rec_timing_t *const timing) |
static void | rec_half_backstep (rec_timing_t *const timing) |
static void | rec_quarter_step (rec_timing_t *const timing) |
static void | rec_quarter_backstep (rec_timing_t *const timing) |
static void | rec_smallest_step (rec_timing_t *const timing) |
static void | program_timing (int channel, int group, rec_timing_t timings[][4]) |
static int | read_dqs_level (const int channel, const int lane) |
static void | find_dqs_low (const int channel, const int group, rec_timing_t timings[][4], const char lane_map[][2]) |
static void | find_dqs_high (const int channel, const int group, rec_timing_t timings[][4], const char lane_map[][2]) |
static void | find_dqs_edge_lowhigh (const int channel, const int group, rec_timing_t timings[][4], const char lane_map[][2]) |
static void | find_preamble (const int channel, const int group, rec_timing_t timings[][4], const char lane_map[][2]) |
static void | receive_enable_calibration (const timings_t *const timings, const dimminfo_t *const dimms) |
void | raminit_receive_enable_calibration (const timings_t *const timings, const dimminfo_t *const dimms) |
Variables | |
static const char | bytelane_map [2][4][2] |
#define C_BOUND 16 |
Definition at line 40 of file raminit_receive_enable_calibration.c.
#define CxDRT3_C | ( | c | ) | (((c) << CxDRT3_C_SHIFT) & CxDRT3_C_MASK) |
Definition at line 30 of file raminit_receive_enable_calibration.c.
#define CxDRT3_C_MASK (0xf << CxDRT3_C_SHIFT) |
Definition at line 29 of file raminit_receive_enable_calibration.c.
#define CxDRT3_C_SHIFT 7 |
Definition at line 28 of file raminit_receive_enable_calibration.c.
#define CxRECy_MASK_H (3 << CxRECy_SHIFT_H) |
Definition at line 12 of file raminit_receive_enable_calibration.c.
#define CxRECy_MASK_L (3 << CxRECy_SHIFT_L) |
Definition at line 10 of file raminit_receive_enable_calibration.c.
Definition at line 8 of file raminit_receive_enable_calibration.c.
#define CxRECy_P | ( | p | ) | (((p) << CxRECy_P_SHIFT) & CxRECy_P_MASK) |
Definition at line 18 of file raminit_receive_enable_calibration.c.
#define CxRECy_P_MASK (0x7 << CxRECy_P_SHIFT) |
Definition at line 17 of file raminit_receive_enable_calibration.c.
#define CxRECy_P_SHIFT 24 |
Definition at line 16 of file raminit_receive_enable_calibration.c.
#define CxRECy_PH | ( | p | ) | (((p) << CxRECy_PH_SHIFT) & CxRECy_PH_MASK) |
Definition at line 21 of file raminit_receive_enable_calibration.c.
#define CxRECy_PH_MASK (0x3 << CxRECy_PH_SHIFT) |
Definition at line 20 of file raminit_receive_enable_calibration.c.
#define CxRECy_PH_SHIFT 22 |
Definition at line 19 of file raminit_receive_enable_calibration.c.
#define CxRECy_PM | ( | p | ) | (((p) << CxRECy_PM_SHIFT) & CxRECy_PM_MASK) |
Definition at line 24 of file raminit_receive_enable_calibration.c.
#define CxRECy_PM_MASK (0x3 << CxRECy_PM_SHIFT) |
Definition at line 23 of file raminit_receive_enable_calibration.c.
#define CxRECy_PM_SHIFT 20 |
Definition at line 22 of file raminit_receive_enable_calibration.c.
#define CxRECy_SHIFT_H 16 |
Definition at line 11 of file raminit_receive_enable_calibration.c.
#define CxRECy_SHIFT_L 0 |
Definition at line 9 of file raminit_receive_enable_calibration.c.
#define CxRECy_T | ( | t | ) | (((t) << CxRECy_T_SHIFT) & CxRECy_T_MASK) |
Definition at line 15 of file raminit_receive_enable_calibration.c.
#define CxRECy_T_MASK (0xf << CxRECy_T_SHIFT) |
Definition at line 14 of file raminit_receive_enable_calibration.c.
#define CxRECy_T_SHIFT 28 |
Definition at line 13 of file raminit_receive_enable_calibration.c.
#define CxRECy_TIMING_MASK |
Definition at line 25 of file raminit_receive_enable_calibration.c.
#define PH_BOUND 4 |
Definition at line 37 of file raminit_receive_enable_calibration.c.
#define PH_STEP 2 |
Definition at line 38 of file raminit_receive_enable_calibration.c.
#define PM_BOUND 3 |
Definition at line 39 of file raminit_receive_enable_calibration.c.
|
static |
Definition at line 157 of file raminit_receive_enable_calibration.c.
References find_dqs_high(), program_timing(), read_dqs_level(), rec_quarter_backstep(), and rec_smallest_step().
Referenced by receive_enable_calibration().
|
static |
Definition at line 147 of file raminit_receive_enable_calibration.c.
References program_timing(), read_dqs_level(), and rec_quarter_step().
Referenced by find_dqs_edge_lowhigh().
|
static |
Definition at line 137 of file raminit_receive_enable_calibration.c.
References program_timing(), read_dqs_level(), and rec_quarter_step().
Referenced by receive_enable_calibration().
|
static |
Definition at line 177 of file raminit_receive_enable_calibration.c.
References program_timing(), read_dqs_level(), and rec_full_backstep().
Referenced by receive_enable_calibration().
|
static |
Definition at line 50 of file raminit_receive_enable_calibration.c.
References rec_timing_t::c, C_BOUND, die(), rec_timing_t::p, rec_timing_t::p_bound, rec_timing_t::ph, PH_BOUND, PH_STEP, rec_timing_t::t, and rec_timing_t::t_bound.
Referenced by program_timing(), and receive_enable_calibration().
|
static |
Definition at line 104 of file raminit_receive_enable_calibration.c.
References rec_timing_t::c, CxDRT3_C, CxDRT3_C_MASK, CxDRT3_MCHBAR, CxRECy_MCHBAR, CxRECy_P, CxRECy_PH, CxRECy_PM, CxRECy_T, CxRECy_TIMING_MASK, mchbar_clrsetbits32(), mchbar_read32(), mchbar_write32(), normalize_rec_timing(), rec_timing_t::p, rec_timing_t::ph, rec_timing_t::pre, and rec_timing_t::t.
Referenced by find_dqs_edge_lowhigh(), find_dqs_high(), find_dqs_low(), find_preamble(), and receive_enable_calibration().
void raminit_receive_enable_calibration | ( | const timings_t *const | timings, |
const dimminfo_t *const | dimms | ||
) |
Definition at line 262 of file raminit_receive_enable_calibration.c.
References bytelane_map, dimminfo_t::card_type, ch, CxRECy_MCHBAR, FOR_EACH_POPULATED_CHANNEL, mchbar_clrbits32, mchbar_clrsetbits32(), mchbar_read32(), mchbar_setbits32, mchbar_write32(), raminit_reset_readwrite_pointers(), and receive_enable_calibration().
Referenced by raminit().
|
static |
Definition at line 124 of file raminit_receive_enable_calibration.c.
References mchbar_clrbits32, mchbar_read32(), mchbar_setbits32, raminit_get_rank_addr(), and read32().
Referenced by find_dqs_edge_lowhigh(), find_dqs_high(), find_dqs_low(), and find_preamble().
|
static |
Definition at line 81 of file raminit_receive_enable_calibration.c.
References rec_timing_t::c.
Referenced by find_preamble().
|
static |
Definition at line 85 of file raminit_receive_enable_calibration.c.
References rec_timing_t::ph, and PH_STEP.
Referenced by receive_enable_calibration().
|
static |
Definition at line 94 of file raminit_receive_enable_calibration.c.
References rec_timing_t::p, rec_timing_t::p_bound, rec_timing_t::t, and rec_timing_t::t_bound.
Referenced by find_dqs_edge_lowhigh().
|
static |
Definition at line 89 of file raminit_receive_enable_calibration.c.
References rec_timing_t::p, rec_timing_t::p_bound, rec_timing_t::t, and rec_timing_t::t_bound.
Referenced by find_dqs_high(), find_dqs_low(), and receive_enable_calibration().
|
static |
Definition at line 99 of file raminit_receive_enable_calibration.c.
References rec_timing_t::p.
Referenced by find_dqs_edge_lowhigh().
|
static |
Definition at line 188 of file raminit_receive_enable_calibration.c.
References BIOS_DEBUG, rec_timing_t::c, c, C_BOUND, dimminfo_t::card_type, timings::CAS, ch, find_dqs_edge_lowhigh(), find_dqs_low(), find_preamble(), FOR_EACH_POPULATED_CHANNEL, timings::mem_clock, MEM_CLOCK_1067MT, normalize_rec_timing(), rec_timing_t::pre, printk, program_timing(), RAM_DEBUG, rec_half_backstep(), rec_quarter_step(), and rec_timing_t::t.
Referenced by raminit_receive_enable_calibration(), and try_init_dram_ddr3().
|
static |
Definition at line 32 of file raminit_receive_enable_calibration.c.
Referenced by raminit_receive_enable_calibration().