![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <commonlib/helpers.h>
#include <types.h>
#include "raminit_native.h"
#include "raminit_common.h"
#include "raminit_tables.h"
#include "sandybridge.h"
Go to the source code of this file.
Variables | |
static unsigned int | ssq_count = 0 |
void iosav_run_once_and_wait | ( | const int | ch | ) |
Definition at line 45 of file raminit_iosav.c.
References ch, iosav_run_queue(), and wait_for_iosav().
Referenced by channel_test(), disable_refresh_machine(), dram_mrscommands(), find_agrsv_read_margin(), find_predefined_pattern(), find_read_mpr_margin(), get_power_down_mode(), jedec_write_leveling(), receive_enable_calibration(), test_aggressive_write(), test_command_training(), test_rcven(), test_tx_dq(), train_write_flyby(), tx_dq_write_leveling(), and write_level_rank().
Definition at line 28 of file raminit_iosav.c.
References ch, IOSAV_SEQ_CTL_ch, mchbar_write32(), and ssq_count.
Referenced by channel_scrub(), dram_mrscommands(), iosav_run_once_and_wait(), and write_reset().
void iosav_write_aggressive_write_read_sequence | ( | ramctr_timing * | ctrl, |
int | channel, | ||
int | slotrank | ||
) |
Definition at line 681 of file raminit_iosav.c.
References ARRAY_SIZE, iosav_ssq::command, ramctr_timing_st::CWL, IOSAV_ACT, IOSAV_PRE, IOSAV_RD, IOSAV_WR, iosav_write_sequence(), MAX, iosav_ssq::sp_cmd_ctrl, SSQ_NA, SSQ_RD, SSQ_WR, ramctr_timing_st::tFAW, ramctr_timing_st::tRCD, ramctr_timing_st::tRP, ramctr_timing_st::tRRD, ramctr_timing_st::tRTP, and ramctr_timing_st::tWTR.
Referenced by test_aggressive_write().
void iosav_write_command_training_sequence | ( | ramctr_timing * | ctrl, |
int | channel, | ||
int | slotrank, | ||
unsigned int | address | ||
) |
Definition at line 483 of file raminit_iosav.c.
References address, ARRAY_SIZE, iosav_ssq::command, ramctr_timing_st::CWL, IOSAV_ACT, IOSAV_PRE, IOSAV_RD, IOSAV_WR, iosav_write_sequence(), MAX, iosav_ssq::sp_cmd_ctrl, SSQ_NA, SSQ_RD, SSQ_WR, ramctr_timing_st::tFAW, ramctr_timing_st::tRCD, ramctr_timing_st::tRRD, ramctr_timing_st::tRTP, and ramctr_timing_st::tWTR.
Referenced by test_command_training().
void iosav_write_data_write_sequence | ( | ramctr_timing * | ctrl, |
int | channel, | ||
int | slotrank | ||
) |
Definition at line 586 of file raminit_iosav.c.
References ARRAY_SIZE, iosav_ssq::command, ramctr_timing_st::CWL, IOSAV_ACT, IOSAV_PRE, IOSAV_RD, IOSAV_WR, iosav_write_sequence(), MAX, iosav_ssq::sp_cmd_ctrl, SSQ_NA, SSQ_RD, SSQ_WR, ramctr_timing_st::tFAW, ramctr_timing_st::tRCD, ramctr_timing_st::tRP, ramctr_timing_st::tRRD, ramctr_timing_st::tRTP, and ramctr_timing_st::tWTR.
Referenced by find_agrsv_read_margin().
void iosav_write_jedec_write_leveling_sequence | ( | ramctr_timing * | ctrl, |
int | channel, | ||
int | slotrank, | ||
int | bank, | ||
u32 | mr1reg | ||
) |
Definition at line 298 of file raminit_iosav.c.
References ARRAY_SIZE, iosav_ssq::bank, ramctr_timing_st::CAS, iosav_ssq::command, ramctr_timing_st::CWL, IOSAV_MRS, IOSAV_NOP, IOSAV_NOP_ALT, iosav_write_sequence(), iosav_ssq::sp_cmd_ctrl, SSQ_NA, SSQ_RD, SSQ_WR, ramctr_timing_st::tMOD, and ramctr_timing_st::tWLO.
Referenced by write_level_rank().
void iosav_write_memory_test_sequence | ( | ramctr_timing * | ctrl, |
int | channel, | ||
int | slotrank | ||
) |
Definition at line 776 of file raminit_iosav.c.
References ARRAY_SIZE, iosav_ssq::command, IOSAV_ACT, IOSAV_PRE, IOSAV_RD, IOSAV_WR, iosav_write_sequence(), iosav_ssq::sp_cmd_ctrl, SSQ_NA, SSQ_RD, and SSQ_WR.
Referenced by channel_test().
void iosav_write_misc_write_sequence | ( | ramctr_timing * | ctrl, |
int | channel, | ||
int | slotrank, | ||
u32 | gap0, | ||
u32 | loops0, | ||
u32 | gap1, | ||
u32 | loops2, | ||
u32 | wrap2 | ||
) |
Definition at line 385 of file raminit_iosav.c.
References ARRAY_SIZE, iosav_ssq::command, ramctr_timing_st::CWL, IOSAV_ACT, IOSAV_NOP, IOSAV_WR, iosav_write_sequence(), iosav_ssq::sp_cmd_ctrl, SSQ_NA, SSQ_WR, ramctr_timing_st::tRCD, and ramctr_timing_st::tWTR.
Referenced by test_tx_dq(), and train_write_flyby().
void iosav_write_prea_act_read_sequence | ( | ramctr_timing * | ctrl, |
int | channel, | ||
int | slotrank | ||
) |
Definition at line 201 of file raminit_iosav.c.
References ARRAY_SIZE, ramctr_timing_st::CAS, iosav_ssq::command, IOSAV_ACT, IOSAV_PRE, IOSAV_RD, iosav_write_sequence(), MAX, iosav_ssq::sp_cmd_ctrl, SSQ_NA, SSQ_RD, ramctr_timing_st::tFAW, ramctr_timing_st::tRP, ramctr_timing_st::tRRD, and ramctr_timing_st::tRTP.
Referenced by test_tx_dq().
Definition at line 79 of file raminit_iosav.c.
References ARRAY_SIZE, iosav_ssq::command, IOSAV_PRE, iosav_write_sequence(), iosav_ssq::sp_cmd_ctrl, and SSQ_NA.
Referenced by receive_enable_calibration(), and tx_dq_write_leveling().
void iosav_write_read_mpr_sequence | ( | int | channel, |
int | slotrank, | ||
u32 | tMOD, | ||
u32 | loops, | ||
u32 | gap, | ||
u32 | loops2, | ||
u32 | post2 | ||
) |
Definition at line 108 of file raminit_iosav.c.
References ARRAY_SIZE, iosav_ssq::command, IOSAV_MRS, IOSAV_RD, iosav_write_sequence(), iosav_ssq::sp_cmd_ctrl, SSQ_NA, and SSQ_RD.
Referenced by find_predefined_pattern(), find_read_mpr_margin(), and test_rcven().
Definition at line 16 of file raminit_iosav.c.
References ch, IOSAV_n_ADDR_UPDATE_ch, IOSAV_n_SP_CMD_ADDR_ch, IOSAV_n_SP_CMD_CTRL_ch, IOSAV_n_SUBSEQ_CTRL_ch, length, mchbar_write32(), iosav_ssq::raw, and ssq_count.
Referenced by channel_scrub(), dram_mrscommands(), get_power_down_mode(), iosav_write_aggressive_write_read_sequence(), iosav_write_command_training_sequence(), iosav_write_data_write_sequence(), iosav_write_jedec_write_leveling_sequence(), iosav_write_memory_test_sequence(), iosav_write_misc_write_sequence(), iosav_write_prea_act_read_sequence(), iosav_write_prea_sequence(), iosav_write_read_mpr_sequence(), iosav_write_zqcs_sequence(), and train_write_flyby().
Definition at line 51 of file raminit_iosav.c.
References ARRAY_SIZE, iosav_ssq::command, iosav_write_sequence(), IOSAV_ZQCS, iosav_ssq::sp_cmd_ctrl, and SSQ_NA.
Referenced by disable_refresh_machine(), dram_mrscommands(), jedec_write_leveling(), and write_reset().
void wait_for_iosav | ( | int | channel | ) |
Definition at line 37 of file raminit_iosav.c.
References IOSAV_STATUS_ch, and mchbar_read32().
Referenced by channel_scrub(), channel_test(), dram_mrscommands(), find_agrsv_read_margin(), find_predefined_pattern(), find_read_mpr_margin(), get_power_down_mode(), iosav_run_once_and_wait(), jedec_write_leveling(), prepare_training(), receive_enable_calibration(), restore_timings(), test_aggressive_write(), test_command_training(), test_rcven(), test_tx_dq(), train_write_flyby(), tx_dq_write_leveling(), write_level_rank(), and write_reset().
|
static |
Definition at line 14 of file raminit_iosav.c.
Referenced by iosav_run_queue(), and iosav_write_sequence().