![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <device/mmio.h>
#include <soc/dramc_param.h>
#include <soc/dramc_pi_api.h>
#include <soc/dramc_register.h>
#include <soc/emi.h>
#include <soc/infracfg.h>
#include <soc/mt6358.h>
#include <soc/spm.h>
Go to the source code of this file.
Data Structures | |
struct | optimize_ac_time |
struct | shuffle_reg_addr |
Macros | |
#define | AO_SHU_ADDR(s, e) |
#define | PHY_SHU_ADDR(s, e) |
Variables | |
static const u8 | freq_shuffle [DRAM_DFS_SHUFFLE_MAX] |
static const u8 | freq_shuffle_emcp [DRAM_DFS_SHUFFLE_MAX] |
static const u32 | frequency_table [LP4X_DDRFREQ_MAX] |
static const u32 | vcore_lp4x [LP4X_DDRFREQ_MAX] |
struct emi_regs * | emi_regs = (void *)EMI_BASE |
const u8 | phy_mapping [CHANNEL_MAX][16] |
static const struct shuffle_reg_addr | dramc_regs [] |
static const struct shuffle_reg_addr | phy_regs [] |
#define AO_SHU_ADDR | ( | s, | |
e | |||
) |
#define PHY_SHU_ADDR | ( | s, | |
e | |||
) |
Definition at line 616 of file emi.c.
References dramc_apply_config_after_calibration(), and dramc_runtime_config().
Referenced by mt_set_emi().
Definition at line 160 of file emi.c.
References ch, CHANNEL_MAX, phy_mapping, and write32().
Referenced by dramc_cmd_bus_training().
|
static |
Definition at line 443 of file emi.c.
References dramc_apply_config_before_calibration(), dramc_init(), and params.
Referenced by run_calib().
Definition at line 335 of file emi.c.
References ch, CHANNEL_MAX, clrsetbits32, dramc_dbg, dramc_err, LP4X_DDR1600, LP4X_DDR2400, LP4X_DDR3200, LP4X_DDR3600, LP4X_DDRFREQ_MAX, optimize_ac_time::trfc, optimize_ac_time::trfc_pb, optimize_ac_time::trfrc_05t, optimize_ac_time::trfrc_pb05t, and optimize_ac_time::tx_ref_cnt.
Referenced by run_calib().
Definition at line 64 of file emi.c.
References mt8183_infracfg_regs::dramc_wbr, mt8183_infracfg, and read32().
Referenced by auto_refresh_cke_off(), dramc_mode_reg_init(), and dramc_sw_impedance_cal().
Definition at line 93 of file emi.c.
References CHANNEL_A, CHANNEL_B, emi_regs::cona, emi_regs::conh, get_ch_rank_size(), RANK_0, RANK_1, and read32().
Referenced by mt_mem_test(), and sdram_size().
Definition at line 323 of file emi.c.
References ch, clrbits32, clrsetbits32, and setbits32.
Referenced by init_dram().
Definition at line 520 of file emi.c.
References ARRAY_SIZE, ch, CHANNEL_MAX, clrsetbits32, DRAM_DFS_SHUFFLE_2, DRAM_DFS_SHUFFLE_3, dramc_dbg, dramc_regs, shuffle_reg_addr::end, offset, phy_regs, read32(), shuffle_reg_addr::start, value, and write32().
Referenced by run_calib().
Definition at line 59 of file emi.c.
References mt8183_infracfg_regs::dramc_wbr, mt8183_infracfg, and write32().
Referenced by auto_refresh_cke_off(), dramc_mode_reg_init(), dramc_sw_impedance_cal(), dramc_sw_impedance_save_reg(), emi_esl_setting1(), emi_esl_setting2(), init_dram(), and update_initial_settings().
Definition at line 219 of file emi.c.
References emi_regs::arba, emi_regs::arbb, emi_regs::arbc, emi_regs::arbd, emi_regs::arbe, emi_regs::arbf, emi_regs::arbg, emi_regs::arbh, emi_regs::arbi, emi_regs::arbi_2nd, ch, emi_regs::cona, emi_regs::conb, emi_regs::conc, emi_regs::cond, emi_regs::cone, emi_regs::conf, emi_regs::cong, emi_regs::conh, emi_regs::coni, emi_regs::conm, emi_regs::conn, DRAMC_BROADCAST_OFF, DRAMC_BROADCAST_ON, dramc_set_broadcast(), emi_regs::iocl, emi_regs::iocl_2nd, emi_regs::iocm, emi_regs::iocm_2nd, emi_regs::mdct, emi_regs::mdct_2nd, emi_regs::slct, emi_regs::testb, emi_regs::testc, emi_regs::testd, and write32().
Referenced by emi_init().
Definition at line 281 of file emi.c.
References ch, emi_regs::conm, DRAMC_BROADCAST_OFF, DRAMC_BROADCAST_ON, dramc_set_broadcast(), and write32().
Referenced by emi_init2().
|
static |
Definition at line 291 of file emi.c.
References ch, CHANNEL_A, CHANNEL_MAX, emi_regs::cona, emi_regs::conf, emi_regs::conh, emi_esl_setting1(), params, and write32().
Referenced by init_dram().
|
static |
Definition at line 305 of file emi.c.
References emi_regs::bwct0, emi_regs::bwct0_2nd, emi_regs::bwct0_3rd, emi_regs::bwct0_4th, emi_regs::bwct0_5th, CONFIG, emi_esl_setting2(), emi_mpu, emi_mpu_regs::mpu_ctrl_d, setbits32, and write32().
Referenced by init_dram().
Definition at line 469 of file emi.c.
Referenced by dramc_runtime_config().
Definition at line 76 of file emi.c.
References emi_regs::cona, and read32().
Referenced by dramc_get_rank_size().
Definition at line 69 of file emi.c.
References CONFIG, freq_shuffle, freq_shuffle_emcp, and frequency_table.
Referenced by dramc_dqs_precalculation_preset(), and dramc_hw_dqsosc().
|
static |
Definition at line 195 of file emi.c.
References params, set_mrr_pinmux_mapping(), and set_rank_info_to_conf().
Referenced by init_dram().
|
static |
Definition at line 451 of file emi.c.
References dramc_apply_config_before_calibration(), DRAMC_BROADCAST_ON, dramc_init(), dramc_init_pre_settings(), dramc_set_broadcast(), dramc_sw_impedance_cal(), emi_init(), emi_init2(), global_option_init(), dram_shared_data::impedance, ODT_OFF, ODT_ON, params, and spm_pinmux_setting().
Referenced by run_calib().
int mt_set_emi | ( | const struct dramc_param * | dparam | ) |
Definition at line 622 of file emi.c.
References after_calib(), dramc_param_header::config, DRAM_DFS_SHUFFLE_1, DRAM_DFS_SHUFFLE_2, DRAM_DFS_SHUFFLE_3, DRAMC_CONFIG_DVFS, dramc_param::freq_params, dramc_param::header, dram_shared_data::mr, sdram_params::rank_num, run_calib(), and set_vdram1_vddq_voltage().
|
static |
Definition at line 578 of file emi.c.
References dramc_param_header::config, CONFIG, dfs_init_for_calibration(), DRAM_DFS_SHUFFLE_1, dramc_ac_timing_optimize(), dramc_calibrate_all_channels(), DRAMC_CONFIG_DVFS, dramc_dbg, dramc_save_result_to_shuffle(), dramc_show, dramc_param::freq_params, freq_shuffle, freq_shuffle_emcp, frequency_table, get_dram_info_after_cal(), dramc_param::header, init_dram(), dram_shared_data::mr, params, and set_vcore_voltage().
Referenced by mt_set_emi().
Definition at line 140 of file emi.c.
References dramc_get_rank_size(), and RANK_MAX.
Definition at line 173 of file emi.c.
References ch, CHANNEL_MAX, phy_mapping, and write32().
Referenced by dramc_cmd_bus_training(), and global_option_init().
|
static |
Definition at line 153 of file emi.c.
References ch, clrsetbits32, is_dual_rank(), and params.
Referenced by global_option_init().
Definition at line 201 of file emi.c.
References dramc_dbg, frequency_table, pmic_set_vcore_vol(), and vcore_lp4x.
Referenced by run_calib().
Definition at line 209 of file emi.c.
References dramc_dbg, pmic_set_vddq_vol(), and pmic_set_vdram1_vol().
Referenced by mt_set_emi().
Definition at line 434 of file emi.c.
References clrbits32, clrsetbits32, mtk_spm_regs::dramc_dpy_clk_sw_con_sel, mtk_spm_regs::dramc_dpy_clk_sw_con_sel2, mtk_spm, mtk_spm_regs::pcm_pwr_io_en, mtk_spm_regs::poweron_config_set, and write32().
Referenced by init_dram().
|
static |
Definition at line 469 of file emi.c.
Referenced by dramc_save_result_to_shuffle().
|
static |
Definition at line 12 of file emi.c.
Referenced by get_shu_freq(), and run_calib().
|
static |
Definition at line 18 of file emi.c.
Referenced by get_shu_freq(), and run_calib().
|
static |
Definition at line 24 of file emi.c.
Referenced by get_shu_freq(), run_calib(), and set_vcore_voltage().
const u8 phy_mapping[CHANNEL_MAX][16] |
Definition at line 39 of file emi.c.
Referenced by cbt_mrr_pinmux_mapping(), dramc_rx_rd_dqc_init(), get_cbt_vref_pinmux_value(), and set_mrr_pinmux_mapping().
|
static |
Definition at line 469 of file emi.c.
Referenced by dramc_save_result_to_shuffle().
|
static |
Definition at line 31 of file emi.c.
Referenced by set_vcore_voltage().