coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
emi.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef SOC_MEDIATEK_MT8183_EMI_H
4 #define SOC_MEDIATEK_MT8183_EMI_H
5 
6 #include <types.h>
8 
13 };
14 
15 struct sdram_params {
16  u16 source; /* DRAMC_PARAM_SOURCE */
19  u32 ddr_geometry; /* DRAMC_PARAM_GEOMETRY_TYPE */
21 
22  /* DUTY */
25 
26  /* CBT */
32 
33  /* Gating */
38 
39  /* TX perbit */
46 
47  /* datlat */
49 
50  /* RX perbit */
54 
61 };
62 
63 struct dramc_param;
64 struct dramc_param_ops;
65 
66 enum {
72 };
73 
76 };
77 
78 struct mr_value {
81 };
82 
85  struct mr_value mr;
86 };
87 
88 extern const u8 phy_mapping[CHANNEL_MAX][16];
89 
90 int complex_mem_test(u8 *start, unsigned int len);
91 size_t sdram_size(void);
92 const struct sdram_params *get_sdram_config(void);
93 void enable_emi_dcm(void);
94 int mt_set_emi(const struct dramc_param *dparam);
96 
97 #endif /* SOC_MEDIATEK_MT8183_EMI_H */
void mt_mem_init(struct dramc_param *dparam)
Definition: memory.c:304
void mt_set_emi(struct dramc_param *dparam)
Definition: emi.c:34
size_t sdram_size(void)
Definition: emi.c:117
int complex_mem_test(u8 *start, unsigned int len)
Definition: memory_test.c:25
@ RANK_MAX
@ ODT_MAX
@ FSP_MAX
@ CHANNEL_MAX
static struct dramc_param_ops dparam_ops
Definition: romstage.c:45
@ DQS_NUMBER
Definition: dramc_soc.h:26
@ DQ_DATA_WIDTH
Definition: dramc_soc.h:24
const struct mt8173_sdram_params * get_sdram_config(void)
Definition: sdram_configs.c:85
DRAMC_PARAM_SOURCE
Definition: emi.h:9
@ DRAMC_PARAM_SOURCE_FLASH
Definition: emi.h:12
@ DRAMC_PARAM_SOURCE_SDRAM_INVALID
Definition: emi.h:10
@ DRAMC_PARAM_SOURCE_SDRAM_CONFIG
Definition: emi.h:11
@ LP4X_DDR2400
Definition: emi.h:68
@ LP4X_DDR3200
Definition: emi.h:69
@ LP4X_DDR1600
Definition: emi.h:67
@ LP4X_DDRFREQ_MAX
Definition: emi.h:71
@ LP4X_DDR3600
Definition: emi.h:70
void enable_emi_dcm(void)
Definition: emi.c:469
const u8 phy_mapping[CHANNEL_MAX][16]
Definition: emi.c:39
#define DQS_BIT_NUMBER
Definition: dramc_soc.h:53
uint32_t u32
Definition: stdint.h:51
uint16_t u16
Definition: stdint.h:48
int8_t s8
Definition: stdint.h:44
int16_t s16
Definition: stdint.h:47
uint8_t u8
Definition: stdint.h:45
u32 data[ODT_MAX][4]
Definition: emi.h:75
struct dram_impedance impedance
Definition: emi.h:84
struct mr_value mr
Definition: emi.h:85
Definition: emi.h:78
u8 MR13Value
Definition: emi.h:80
u8 MR01Value[FSP_MAX]
Definition: emi.h:79
Defines the SDRAM parameter structure.
Definition: emi.h:15
u16 tx_center_max[CHANNEL_MAX][RANK_MAX][DQS_NUMBER]
Definition: emi.h:42
u16 tx_win_center[CHANNEL_MAX][RANK_MAX][DQ_DATA_WIDTH]
Definition: emi.h:43
u32 emi_conf_val
Definition: emi.h:57
u8 cbt_cs_dly[CHANNEL_MAX][RANK_MAX]
Definition: emi.h:30
u16 frequency
Definition: emi.h:17
u8 gating2T[CHANNEL_MAX][RANK_MAX][DQS_NUMBER]
Definition: emi.h:34
u8 tx_vref[CHANNEL_MAX][RANK_MAX]
Definition: emi.h:40
u32 rank_num
Definition: emi.h:18
u16 tx_center_min[CHANNEL_MAX][RANK_MAX][DQS_NUMBER]
Definition: emi.h:41
u8 gating_fine_tune[CHANNEL_MAX][RANK_MAX][DQS_NUMBER]
Definition: emi.h:36
u16 source
Definition: emi.h:16
u8 cbt_final_vref[CHANNEL_MAX][RANK_MAX]
Definition: emi.h:27
u8 gating_pass_count[CHANNEL_MAX][RANK_MAX][DQS_NUMBER]
Definition: emi.h:37
u8 gating05T[CHANNEL_MAX][RANK_MAX][DQS_NUMBER]
Definition: emi.h:35
s8 duty_clk_delay[CHANNEL_MAX]
Definition: emi.h:23
u8 rx_lastpass[CHANNEL_MAX][RANK_MAX][DQ_DATA_WIDTH]
Definition: emi.h:53
u32 emi_conh_val
Definition: emi.h:56
u8 rx_datlat[CHANNEL_MAX][RANK_MAX]
Definition: emi.h:48
u32 emi_cona_val
Definition: emi.h:55
u8 cbt_ca_perbit_delay[CHANNEL_MAX][RANK_MAX][DQS_BIT_NUMBER]
Definition: emi.h:31
u16 delay_cell_unit
Definition: emi.h:60
u32 cbt_mode_extern
Definition: emi.h:59
u8 cbt_clk_dly[CHANNEL_MAX][RANK_MAX]
Definition: emi.h:28
u32 ddr_geometry
Definition: emi.h:19
u8 rx_vref[CHANNEL_MAX]
Definition: emi.h:51
s8 duty_dqs_delay[CHANNEL_MAX][DQS_NUMBER]
Definition: emi.h:24
u16 tx_first_pass[CHANNEL_MAX][RANK_MAX][DQ_DATA_WIDTH]
Definition: emi.h:44
u8 wr_level[CHANNEL_MAX][RANK_MAX][DQS_NUMBER]
Definition: emi.h:20
u32 chn_emi_cona_val[CHANNEL_MAX]
Definition: emi.h:58
u8 cbt_cmd_dly[CHANNEL_MAX][RANK_MAX]
Definition: emi.h:29
s16 rx_firspass[CHANNEL_MAX][RANK_MAX][DQ_DATA_WIDTH]
Definition: emi.h:52
u16 tx_last_pass[CHANNEL_MAX][RANK_MAX][DQ_DATA_WIDTH]
Definition: emi.h:45