5 #include <soc/addressmap.h>
7 #include <soc/dramc_register.h>
8 #include <soc/dramc_pi_api.h>
9 #include <soc/dramc_soc.h>
11 #include <soc/pmic_wrap.h>
13 #include <soc/infracfg.h>
77 for (channel = 0; channel <
CHANNEL_NUM; channel++) {
150 return ((
size_t)1 << (bit_counter - 3));
171 die(
"The DRAM type is not supported");
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
void __noreturn die(const char *fmt,...)
#define setbits32(addr, set)
#define clrbits32(addr, clear)
void transfer_to_reg_control(void)
void dramc_init(u32 channel, const struct mt8173_sdram_params *sdram_params)
void dramc_pre_init(u32 channel, const struct mt8173_sdram_params *sdram_params)
u8 is_dual_rank(u32 channel, const struct mt8173_sdram_params *sdram_params)
void div2_phase_sync(void)
void transfer_to_spm_control(void)
void dramc_runtime_config(u32 channel, const struct mt8173_sdram_params *sdram_params)
void sw_impedance_cal(u32 channel, const struct mt8173_sdram_params *sdram_params)
void ca_training(u32 channel, const struct mt8173_sdram_params *sdram_params)
void dual_rank_rx_dqs_gating_cal(u32 channel, const struct mt8173_sdram_params *sdram_params)
void rx_dqs_gating_cal(u32 channel, u8 rank, const struct mt8173_sdram_params *sdram_params)
void dual_rank_rx_datlat_cal(u32 channel, const struct mt8173_sdram_params *sdram_params)
void perbit_window_cal(u32 channel, u8 type)
void write_leveling(u32 channel, const struct mt8173_sdram_params *sdram_params)
void dramc_rankinctl_config(u32 channel, const struct mt8173_sdram_params *sdram_params)
u8 rx_datlat_cal(u32 channel, u8 rank, const struct mt8173_sdram_params *sdram_params)
void clk_duty_cal(u32 channel)
static void dram_vmem_adjust(void)
static void init_dram(const struct mt8173_sdram_params *sdram_params)
static void dram_vcore_adjust(void)
static void emi_init(const struct mt8173_sdram_params *sdram_params)
static void do_calib(const struct mt8173_sdram_params *sdram_params)
void mt_set_emi(const struct mt8173_sdram_params *sdram_params)
static void init_4GB_mode(void)
static struct mt8173_infracfg_regs *const mt8173_infracfg
static struct mt8173_pericfg_regs *const mt8173_pericfg
static void pwrap_write_field(u16 reg, u16 val, u16 mask, u16 shift)
Defines the SDRAM parameter structure.